прослушивание порта с сервера приложений

Во-первых, у меня есть приложение JSF, которое выполняет какой-то поиск в базе данных, но, с другой стороны, я также прослушиваю порт для этой цели, я запускаю поток, который прослушивает этот порт в моем компоненте приложения. С порта я прослушиваю входящий запрос этих поисков и отправляю ответы с этого порта. Ситуация такова, что мое время отклика неожиданно меняется, когда я отправляю/получаю из порта, но с моей веб-страницы моя производительность остается стабильной, хотя они используют одни и те же объекты.

Мой вопрос заключается в том, может ли мой веб-сервер помешать моему процессу, который запускается независимо от моего веб-приложения?


person mbenturk    schedule 13.11.2009    source источник
comment
Ваш ручной прослушиватель пытается прослушивать тот же порт, что и веб-сервер?   -  person Carl Smotricz    schedule 13.11.2009
comment
Нет, это не так. Он слушает другой порт.   -  person mbenturk    schedule 13.11.2009
comment
Можно ли договориться о дополнительном порте? Возможно, альтернативой может быть служба отдыха в существующей службе приложений?   -  person leonm    schedule 14.11.2009
comment
К сожалению, я предпочитаю также услугу, но это то, как хочет пользователь.   -  person mbenturk    schedule 14.11.2009


Ответы (1)


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

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

person djna    schedule 13.11.2009