Опишу сначала ситуацию: Два приложения на Seam Framework (два war-ника) нужно было запустить на одном сервере, но т.к. в приложениях многие seam-компоненты, которые были созданы, имели одинаковые имена, был конфликт.
Можно, конечно, добиться уникальности названий компонентов, но это нужно переписать кучу кода и в дальнейшем следить за уникальностью названий в обоих приложениях. Я пошел по этому пути, и приложения запускались и работал без ошибок, но при работе с сервисами возникли проблемы, т.к. jboss путался в компонентах.
Тогда пришло решение запустить приложения на разных jboss'ах.
Запустить два jboss'а на одном сервере относительно просто: нужно добиться того, чтобы jboss'ы не использовали одинаковые порты, а этих портов не мало. И чтобы не путаться в портах, к портам одного их jboss'ов можно добавлять единичку. Это выглядит так: 8009 -> 18009, 1099 -> 11099, 1098 -> 11098 и т.д.
Я делал следующим образом: запускал один jboss, после его полной загрузки запускал второй и смотрел какие порты конфликтуют, заменял эти порты, потом еще раз перезапускал второй jboss до тех пор, пока второй jboss стартовал без конфликтов портов.
Ниже приведу список файлом и замен портов (конфигурация default):
bin\run.bat
8787 -> 18787
server\default\conf\jboss-service.xml
8083 -> 18083
1099 -> 11099
1098 -> 11098
4444 -> 14444
4445 -> 14445
4446 -> 14446
server\default\deploy\ejb3.deployer\META-INF\jboss-service.xml
3873 -> 13873 (этот порт встречается дважды в файле)
server\default\deploy\jboss-web.deployer\server.xml
8080 -> 8085 (порты через, которые будет работать web)
443 -> 1443
5443 -> 15443
8009 -> 18009
server\default\deploy\jms\uil2-service.xml
8093 -> 18093
Также нужно учесть, что теперь debug первого приложения будет по порту 8787, а второго по порту 18787.
Добавить комментарий