Мне нужно запустить 2+ сервера Wildfly на EC2, поэтому я подумал, что AWS_PING может быть хорошим способом обнаружения пиров.
Я запускаю на EC2 образец чата JGroups на основе AWS_PING, как описано в https://github.com/meltmedia/jgroups-aws и работает нормально.
Поэтому я поместил следующую конфигурацию в standalone-ha.xml:
<subsystem xmlns="urn:jboss:domain:jgroups:6.0">
<channels default="ee">
<channel name="ee" stack="tcp" cluster="ejb"/>
</channels>
<stacks>
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp"/>
<protocol type="com.meltmedia.jgroups.aws.AWS_PING" module="org.jgroups.aws:awsping">
<property name="tags">foobar</property>
<property name="port_number">7600</property>
</protocol>
<protocol type="MERGE3"/>
<protocol type="FD_SOCK"/>
<protocol type="FD_ALL"/>
<protocol type="VERIFY_SUSPECT"/>
<protocol type="pbcast.NAKACK2"/>
<protocol type="UNICAST3"/>
<protocol type="pbcast.STABLE"/>
<protocol type="pbcast.GMS"/>
<protocol type="MFC"/>
<protocol type="FRAG3"/>
</stack>
</stacks>
</subsystem>
, а socket-binding-group
описывается как:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
...
<socket-binding name="jgroups-tcp" interface="private" port="7600"/>
...
</socket-binding-group>
и я настроил модули Wildfly, используя tar-файл, сгенерированный с помощью https://github.com/soulwing/wildfly-jgroups-aws-ping
Когда я перезапускаю Wildfly, подсистема JGroups кажется правильно запущенной:
$ grep jgroups log/server.log
2019-07-04 08:52:56,732 INFO [org.jboss.as.clustering.jgroups] (ServerService Thread Pool -- 57) WFLYCLJG0001: Activating JGroups subsystem. JGroups version 4.0.15
Однако Wildfly не слушаетна порту 7600:
$ sudo netstat -plnt | grep java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 13123/java
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 13123/java
tcp 0 0 127.0.0.1:9990 0.0.0.0:* LISTEN 13123/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 13123/java
Я пропустил некоторые настройки?Почему Wildfly не слушает порт 7600?