複数クラスタ起動時のポート番号衝突
JBossでは同一マシンで複数インスタンスを起動する場合、binding-managerによってポート番号を変更する。通常の構成ではうまくいくが、クラスタ構成(allをベース)の場合ポート番号の衝突が発生する。
java.net.BindException: Address already in use: JVM_Bind
サンプルのbinding-manager(sample-binding.xml)にoil-service.xmlで使用しているポート番号の設定がされていないことが原因。以下の設定を追加することで解決。
<service-config name="jboss.mq:service=InvocationLayer,type=OIL" delegateClass="org.jboss.services.binding.AttributeMappingDelegate"> <delegate-config portName="ServerBindPort"/> <!-- unique port --> <binding port="8490"/> </service-config>