[id='customizing-jgroups-stacks_{context}']
= Customizing JGroups stacks
Adjust and tune properties to create a cluster transport configuration that works for your network requirements.

{brandname} provides attributes that let you extend the default JGroups stacks for easier configuration.
You can inherit properties from the default stacks while combining, removing, and replacing other properties.

.Procedure

. Create a new JGroups stack declaration in your `infinispan.xml` file.
. Add the `extends` attribute and specify a JGroups stack to inherit properties from.
. Use the `stack.combine` attribute to modify properties for protocols configured in the inherited stack.
. Use the `stack.position` attribute to define the location for your custom stack.
. Specify the stack name as the value for the `stack` attribute in the `transport` configuration.
+
For example, you might evaluate using a Gossip router and symmetric encryption with the default TCP stack as follows:
+
[source,xml,options="nowrap",subs=attributes+]
----
include::xml/jgroups_stack_extends.xml[]
----
+
. Check {brandname} logs to ensure it uses the stack.
+
[source,options="nowrap",subs=attributes+]
----
[org.infinispan.CLUSTER] ISPN000078: Starting JGroups channel cluster with stack my-stack
----

//RH KCS article
ifdef::downstream[]
.Reference

* link:https://access.redhat.com/solutions/5608391[JGroups cluster transport configuration for {brandname} 8.x] ({RedHat} knowledgebase article)
endif::downstream[]
