2015-12-03 1 views
0

Я работаю над приложением, запущенным на JBossEAP 6.4 в режиме домена. Мне нужно обрабатывать несколько (до 1000) параллельных TCP-соединений с сервера на разные аппаратные устройства. Соединения должны быть открыты со стороны сервера и будут отображаться до 90 секунд. Все соединения используют один и тот же порт и протокол, но адреса IP-адреса назначения различны.Несколько исходящих TCP-соединений из JBoss EAP для разных IP-адресов

Интересно, подходит ли адаптер JCA для этого прецедента. Должен ли я создавать специальную спецификацию активации для каждого отдельного устройства или использовать что-то еще, кроме адаптера ресурса JCA?

ответ

0

Вопрос немного устарел, но JCA - это не очень популярная технология, поэтому некоторые знания об этом были бы полезны, несмотря на то, что вы, возможно, уже реализовали все это.

Во-первых, JCA - это спецификация для написания вашего разъема, это не сама реализация соединителя. Если вам нужно приложение для работы с внешним TCP, вам нужно внедрить соединитель.

Независимо от того, подходит ли JCA для ваших нужд, зависит исключительно от природы ваших «разных аппаратных устройств». Адаптеры ресурсов были разработаны для использования на основе сервисов с возможным объединением соединений. То есть все соединения, которые этот конкретный адаптер срабатывает, должны иметь совершенно схожий характер и быть взаимозаменяемыми. Однако адаптеры JCA также имеют разумные преимущества вне этой области, особенно в среде EJB. EJB налагает на ваш код довольно жесткие ограничения: блокировка, ниток и т. Д. Возможно, будет сложно реализовать TCP-ввод-вывод без всех этих вещей. Здесь JCA и это потоковая свобода (MDB способны обеспечить EJB-дружественную область при их активации, несмотря на основной источник потока).

В заключение: вам следует рассмотреть возможность использования JCA для сетей TCP, если вы работаете в среде EJB (или если вы собираетесь делать это в наблюдаемом будущем). Если вы используете Spring-powered среду на стеке Java EE, стоит опустить такую ​​сложную технологию и придерживаться некоторых чистых сетей Netty.

Если вы решите продолжить работу с JCA, рассмотрите возможность проверки JCA SocketConnector, которую я в настоящее время поддерживаю. Он построен на стек Netty, и это может быть хорошим началом для вас. Вы также можете использовать его как источник идей, как создать свою собственную реализацию.

 Смежные вопросы

  • Нет связанных вопросов^_^