Подключение к приложению Java EE, которое принимает подключения к сокетам - PullRequest
0 голосов
/ 03 августа 2011

У меня есть приложение Java EE, работающее на Tomcat, которое должно подключиться к другому приложению Java EE (хост-системе), работающему на JBoss, которое принимает клиентские подключения через сокеты.

Каков наилучший способ подключения к этой системе для отправки и получения сообщений?

В настоящее время я использую сокеты для отправки и получения сообщения в приложение Java EE (хост-система). Но я обнаружил в спецификации Java EE, что использование сокетов в приложении Java EE - плохая практика. Как хост-система прослушивает клиентов через сокеты на конкретном порту, как я могу подключиться к этой системе из моего веб-приложения Java?

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Без более подробной информации о том, как взаимодействовать с хост-системой, я просто собираюсь предположить, что она использует проприетарный двоичный протокол на основе сокетов и является чисто клиент-серверным (т. Е. Не дуплексным, где вам нужен прослушиватель насо стороны клиента).

Вдобавок к моей голове, я могу придумать пару вариантов:

  1. Использовать необработанные сокеты. Простостарайтесь не держать их открытыми слишком долго и правильно их закрывайте.Это звучит так, как будто сама хост-система не следует рекомендациям Java EE в письме - так зачем вам?

  2. Написать Адаптер ресурсов JCA . Java EE «предпочтительный» способ обработки пользовательских / устаревших ресурсов или обмена сообщениями.По сути, это превращает хост-систему в ресурс, доступный через Общий клиентский интерфейс , и позволяет контейнеру управлять жизненным циклом ваших сокетов / потоков.

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

Если вы не видите ценности в том, чтобы сделать пользовательскую службу доступной через JCA, тогдаБыло бы трудно оправдать усилия.

Вы даже можете использовать платформу ESB для предоставления веб-службы на одном конце и общения с сервером через сокеты на другом, но для меня это еще более случайное'сложность.

0 голосов
/ 03 августа 2011

Звучит так, как будто вы хотите использовать Java Message Service (JMS).

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