JBoss 세션 클러스터링 설정 방법입니다.
standalone.xml, jboss-web.xml , web.xml 파일을 이용하여 클러스터링을 설정합니다.
1. standalone.xml : module 추가
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.clustering.jgroups"/>
2. standalone.xml : jgroups udp, tcp 통신 추가 (사용하시는 설정만 추가하시면 됩니다.)
-----------------------------------------------------------------------------------------------------------------------------
<subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="udp">
<stack name="udp">
<transport type="UDP" socket-binding="jgroups-udp"/>
<protocol type="PING"/>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
<protocol type="FD"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK"/>
<protocol type="UNICAST2"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="UFC"/>
<protocol type="MFC"/>
<protocol type="FRAG2"/>
<protocol type="RSVP"/>
</stack>
--------------------------------------------
3. standalone.xml : 포트 설정 추가
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="jgroups-udp" port="11111" multicast-address="${jboss.default.multicast.address:1.1.1.1}" multicast-port="22222"/>
<socket-binding name="jgroups-udp-fd" port="33333"/>
</socket-binding-group>
4. standalone.xml : infinispan 설정 distributed-cache 이름에 dist 추가
<subsystem xmlns="urn:jboss:domain:infinispan:1.4">
<cache-container name="web" aliases="standard-session-cache" default-cache="repl" module="org.jboss.as.clustering.web.infinispan">
<distributed-cache name="dist" l1-lifespan="0" mode="ASYNC" batching="true">
<file-store/>
</distributed-cache>
</cache-container>
5. jboss-web.xml : replication-config 설정
<replication-config>
<replication-trigger>SET</replication-trigger>
<replication-granularity>SESSION</replication-granularity>
</replication-config>
6. web.xml : distributable 설정 추가
<distributable/>
