Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Синглтон EJB в качестве TCP-сервера

Автор вопроса: zomaОтветов: 1

У меня есть EJB и веб-служба, использующая его. Теперь я хотел бы написать простой TCP-сервер в качестве альтернативы веб-сервису, но я не хочу переписывать логику в EJB и уровне базы данных под ним.

Поэтому я написал простой TCP-сервер как синглтон и аннотировал его @Startup. Приложение работает, но оно также, кажется, убивает административную консоль JBoss, а также создает множество исключений тайм-аута. Я подозреваю, что причиной является бесконечный цикл while, который у меня есть в серверном компоненте, который требуется для приема входящих соединений. Есть ли способ обойти это или просто плохая идея использовать EJB в качестве сервера?

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

javatcpejb

Ответы

Ответ 1 · рейтинг 1 · AlexR

Я думаю, у вас есть 2 решения.

  1. Вы можете написать автономный демон, который представляет собой простой TCP-сервер. Он должен прослушивать порт и вызывать ваш уровень EJB, работающий в JBoss, когда это необходимо.

  2. в качестве альтернативы вы можете реализовать свой сервер с помощью коннектора JCA. Теоретически это "правильное" решение. И это не так сложно, если вы используете его только для входящих соединений.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы