Опыт использования TaskService Java EE Restlet на сервере приложений? - PullRequest
1 голос
/ 29 марта 2012

Кто-нибудь использовал TaskService Рестлета в приложении Java EE (развернуто в Tomcat, GlassFish и т. Д.)?

Соответствует ли оно спецификациям Java EE?Как Рестлет справляется с этим, когда сервер / контейнер поддерживает пул потоков и НЕ идет вразрез со спецификацией Java EE о том, что не создаются ваши собственные потоки в приложении, управляемом контейнером?

Или вы вынуждены использовать Spring и /или интерфейс с интерфейсом WorkJanger CommonJ для асинхронной обработки?

PS: к вашему сведению, TaskService в основном обертывает ExecutorService из Java 6 - но предлагается не использовать его в контексте сервера приложений.Тем не менее, версия Restlet для Java EE, похоже, имеет эту услугу, и ей было интересно, будет ли ее использование нарушать спецификации Java EE, или она строго запрещена, на самом деле выполнима, или следует вернуться к Spring / CommonJ

1 Ответ

2 голосов
/ 29 марта 2012

Из версии 2.5 спецификации спецификаций сервлетов не очень ясно, что создание потоков внутри контейнера сервлетов запрещено.См. Главу «SRV.14.2.2 среда веб-приложений», стр. 151:

Этот тип контейнера сервлета должен поддерживать поиск таких объектов и вызовы этих объектов при выполнении в потоке, управляемомКонтейнер сервлетов.Контейнер сервлетов этого типа должен поддерживать это поведение при выполнении в потоках, созданных разработчиком, но в настоящее время не требуется для этого.Такое требование будет добавлено в следующей версии этой спецификации.Разработчики предупреждаются, что в зависимости от этой возможности не рекомендуется создавать потоки, создаваемые приложениями, поскольку они непереносимы.

Я взгляну на спецификацию Java EE.С уважением, Тьерри Буало

...