Как прослушать сокет в Tomcat (контейнер сервлетов)? - PullRequest
2 голосов
/ 10 марта 2010

Мне нужно разрешить веб-приложению прослушивать сокет ( ServerSocket ) и обрабатывать поток сокетов.

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

решение 1:

Уродливое решение - написать автономное Java-приложение для прослушивания сокета, а затем связаться с веб-сервером. но это не правильное решение.

решение 2:

Я написал ServletContextListener , который начинает слушать сокет, когда contextInitialized (), получив сокет, будет передан потоком. Это означает, что пул потоков находится в ServletContext. Конечно, я уничтожаю пул потоков, когда contextDestroyed.

Что вы думаете о решениях?

1 Ответ

3 голосов
/ 11 марта 2010

"Автономное приложение Java" может быть так же хорошо выполнено изнутри ServletContextListener. Вы можете управлять пулом потоков, используя ExecutorService.

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