Как запустить несколько экземпляров JBoss на одной машине? - PullRequest
10 голосов
/ 11 июня 2010

Мне нужно запустить несколько (более 4) экземпляров сервера JBoss на одной машине. Я использую JBoss 4.2.3 GA.

Ответы [ 9 ]

13 голосов
/ 11 июня 2010

Я нашел ответ.Мы должны сконфигурировать jboss-service.xml для запуска нескольких экземпляров на одном компьютере.

Возможно, нам понадобится сохранить тот же экземпляр «по умолчанию», что и в JBOSS_HOME \ Serve r.

Нам нужно создать еще одну папку с именем "instance2" в JBOSS_HOME \ Server .Скопируйте все содержимое из JBOSS_HOME \ Server \ default в эту вновь созданную папку.

Перейдите в папку conf в каталоге JBOSS_HOME \ Server \ instance2 .Отредактируйте jboss-service.xml .Найдите mbean code="org.jboss.services.binding.ServiceBindingManager" в этом файле конфигурации.

По умолчанию этот тег xml комментируется.Мы должны откомментировать его и изменить значение ports-00 на ports-01 .

Затем запустите этот экземпляр экземпляра jboss instance2.Мы можем получить доступ к этому приложению, используя номер порта 8180.

Таким образом мы можем использовать не более 3 экземпляров.

Чтобы выполнить больше, мы должны добавить еще несколько работающих тегов в JBOSS_HOME \ docs \ examples \ binding-manager \ sample-bindings.xml .

5 голосов
/ 23 июня 2010

Вы можете упростить ситуацию, просто изменив IP-адрес, к которому привязан сервер.

Вам потребуется несколько раз скопировать всю папку jboss и настроить run.bat на использование параметра -b при запуске.

Если это сервер Windows, и вы запускаете jboss в качестве службы, возможно, вы также захотите отредактировать service.bat для каждого экземпляра, чтобы все серверы имели разные имена на панели управления службами.

Отчасти проблема, с которой мы столкнулись при попытке использовать разные порты HTTP, заключалась в том, что jboss использует «много» портов для разных целей, и было сложно отредактировать все эти номера портов, чтобы они были уникальными для каждого экземпляра. Изменяя адрес привязки, вы можете полностью избежать этой проблемы.

2 голосов
/ 24 февраля 2013

Создание нескольких адаптеров обратной связи и привязка каждого IP-адреса к другому экземпляру.

Нет необходимости изменять порт.

RK

1 голос
/ 24 апреля 2017

Скопируйте полную настройку JBOSS в новое местоположение и запустите новый сервер с параметром offset , который запустит сервер на существующем IP-адресе и изменит порт на ранее_configured_port + offset

standalone.bat -c standalone-full.xml -Djboss.socket.binding.port-offset=100

Эта команда сделает консоль jboss по умолчанию 9990 до 10090

Теперь вы можете добавить свой war-файл в новую папку развертываний и начать развертывание на новом порту

1 голос
/ 14 июня 2015

Я использовал эту статью, чтобы установить мою. http://wiki.adempiere.net/Setup_2_Adempiere_JBoss_server_in_1_physical_server

Вам следует создать различные сервисы для управления серверами adempiere.

Также, если вы работаете с отчетом jasper, используйте уникальные имена файлов для отчетов, или вы столкнетесь с исключением, в котором отказано в разрешении.

Пример: если вы присоедините «report.jrxml» к двум серверам. Сервер создаст файл /tmp/report.jrxml tmp.

Второй сервер также попытается создать тот же файл и потерпит крах

1 голос
/ 24 марта 2014

Запуск нескольких экземпляров JBoss на одном и том же сервере:

  1. Мы должны оставить экземпляр "по умолчанию" таким же, как он находится в ** JBOSS_HOME \ Server
  2. Скопировать по умолчаниюпапка с новым именем (имя экземпляра), скажем default2 в JBOSS_HOME \ Server.Скопируйте все содержимое из JBOSS_HOME \ Server \ default в эту вновь созданную папку.
  3. Необходимо включить диспетчер службы привязки в conf / jboss-service.xml для экземпляров, которые не используютпорты по умолчанию.а.(т.е.) В скопированном экземпляре перейдите в папку conf в каталоге JBOSS_HOME \ Server \ default2 .Отредактируйте jboss-service.xml .б.Найдите mbean code="org.jboss.services.binding.ServiceBindingManager" в этом файле конфигурации.с.По умолчанию этот тег xml комментируется.Мы должны раскомментировать его и изменить значение ports-00 на ports-01.
  4. В том же файле в разделе «Соединитель транспорта сокетов» в разделе «Конфигурация» необходимо изменить значение serverBindPort на другое значение, иначе оно будет конфликтовать со значением по умолчанию (4446).

    <mbean code="org.jboss.remoting.transport.Connector"
    name="jboss.remoting:service=Connector,transport=socket"
    display-name="Socket transport Connector">
    ...
    <attribute name="Configuration">
    ...
    <attribute name="serverBindPort">25447</attribute>
    

    ...

  5. В default2/deploy/ejb3.deployer/META-INF/jboss-service.xml для сообщения remoting.transport.Connector порт 3873 необходимо изменить на другое значение, иначе он будет конфликтовать со значением по умолчанию.

       <mbean code="org.jboss.remoting.transport.Connector"
          name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
      <depends>jboss.aop:service=AspectDeployer</depends>
      <attribute name="InvokerLocator">socket://${jboss.bind.address}:25874</attribute>
     ...
    

  6. По умолчанию2 \ deploy \ jboss-web.deployer \ server.xml

установить порт перенаправлениязначение, сконфигурированное на шаге 4

<Connector port="8180" address="${jboss.bind.address}" 
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="25447" acceptCount="100" 
connectionTimeout="20000" disableUploadTimeout="true" />

Кроме того, значение порта, настроенное на шаге 5

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="25010" address="${jboss.bind.address}" protocol="AJP/1.3" //change the connector port value to avoid conflict
emptySessionPath="true" enableLookups="false" redirectPort="25874" /> // port value configured in step 5

Таким образом, структура каталога для установки двух других экземпляров будет чем-токак показано ниже, с изменениями имен файлов, выделенных жирным шрифтом.

$ JBOSS_HOME / server / default

$ JBOSS_HOME / server / default2

$ JBOSS_HOME / server / default2 / conf / jboss-service.xml

$ JBOSS_HOME / server / default2 / deploy / ejb3.deployer / META-INF / jboss-service.xml

$ JBOSS_HOME / server / default2 / deploy / jboss-web.deployer / server.xml **

$ JBOSS_HOME / server / default3

$ JBOSS_HOME / server / default3 / conf / jboss-service.xml

$ JBOSS_HOME / server / default3 / deploy / ejb3.deployer / META-INF / jboss-service.xml

$ JBOSS_HOME / server / default3 / deploy / jboss-web.deployer / server.xml **

7. В командной строке перейдите в папку bin и запустите экземпляры с помощью cmd:

run -c instancename

Inв данном случае это: run -c default2

И приложения, к которым обращаются с помощью URL, например:

http://localhost:8080/myapp/
http://localhost:8180/myapp/
http://localhost:8280/myapp/

Примечание: мы можем использовать максимум 3 экземпляра с этимпуть.Чтобы выполнить больше, мы должны добавить еще несколько работающих тегов в JBOSS_HOME \ docs \ examples \ binding-manager \ sample-bindings.xml .

1 голос
/ 07 декабря 2012

1) Скопируйте папку по умолчанию с новым именем: имя экземпляра

2) В jboss-service.xml Раскомментируйте mМ ServiceBindingManager и измените имя_сервера на порты-01 или 02 или 03, например: конфигурация портов-01 и портов-01/02/03 должна быть в файле sample-bindings.xml (присутствует в docs / examples / binding-manager) И внесите изменения во все порты, указанные в тегах ports-01/02/03, чтобы порты не конфликтовали. Помните, что сервер будет работать на порт привязки, как 8080/8180 / 8182.

из командной строки cmd перейдите в папку bin и запустите экземпляры с помощью cmd:

run -c instancename

0 голосов
/ 23 июня 2015

Мы можем легко сделать это на JBOSS EAP Для начала просто запустите JBOSS как есть.

для второго экземпляра, Скопируйте домашнюю папку JBOSS в другое место.

перейдите в standalone / configuration / standalone.xml. перейдите в раздел (внизу файла) и установите для значения смещения порта какое-либо значение (например, 10000), которое не имеет проблем с привязкой порта в запущенном в данный момент приложении. Здесь значение смещения порта по умолчанию равно 0.

запустить второй экземпляр как обычно.

0 голосов
/ 27 ноября 2014

Самый быстрый и простой способ, который приходит на ум, - это простая настройка нескольких IP-адресов для хост-машины.Затем вы можете использовать разные IP-адреса для привязки к каждому экземпляру.Это означает, что вам не нужно менять какие-либо порты по умолчанию, что упрощает управление средой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...