Синглтон EJB в качестве TCP-сервера - PullRequest
1 голос
/ 17 февраля 2011

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

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

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

1 Ответ

1 голос
/ 17 февраля 2011

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

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

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

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