Ниже приведены два способа запуска нескольких экземпляров JBoss на одном сервере.
Привязка каждого экземпляра к отдельному IP-адресу
Это самый простой и рекомендуемыйспособ решить эту проблему.Если на сервере есть несколько сетевых карт, это просто.Если нет, то нужно «мульти-домашний» сервер.Другими словами, назначьте серверу более одного IP-адреса через конфигурацию ОС.Запустите экземпляры следующим образом:
$JBOSS_HOME1/bin/run.sh -b <ip-addr-1>
$JBOSS_HOME2/bin/run.sh -b <ip-addr-2>
Одну и ту же $JBOSS_HOME
можно использовать с несколькими " profile " в $ JBOSS_HOME / server.Например:
$JBOSS_HOME/bin/run.sh -b <ip-addr-1> -c node1
$JBOSS_HOME/bin/run.sh -b <ip-addr-2> -c node2
Диспетчер привязок служб
Настройте «Диспетчер привязок служб», чтобы сообщить экземплярам JBoss, какие порты использовать.
Раскомментируйте MBean «jboss.system:service=ServiceBindingManager
» в $JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml
.
<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
Это говорит JBoss использовать схему нумерации портов, определенную как «ports-01
» в $JBOSS_HOME/docs/examples/binding-manager/sample-bindings.xml
.Эта схема увеличивает вторую по значимости цифру каждого порта на 100. Например, порт JNDI по умолчанию равен 1099, но 1199 с использованием схемы ports-01;порт HTTP по умолчанию 8080, но 8180 по схеме ports-01.Файл sample-bindings.xml
содержит 4 схемы портов:
- ports-default
- ports-01
- ports-02
- ports-03
Возможно, вы захотите настроить набор портов, используемый при запуске, из командной строки или через системное свойство.Если это так, настройте имя сервера MBean для ссылки на системное свойство, например:
<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">${jboss.service.binding.set:ports-default}</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>
<attribute name="StoreFactoryClassName">
org.jboss.services.binding.XMLServicesStoreFactory
</attribute>
</mbean>
Теперь измените его через следующее свойство непосредственно в run.sh/run.bat
или добавьте его в параметры run.conf:
-Djboss.service.binding.set=ports-01
Если вам нужно более 4 наборов портов, определенных в sample-bindings.xml по умолчанию, обратитесь к следующей статье для JBOSS 6 EAP:
https://access.redhat.com/site/solutions/237933