Является ли ServletContext предпочтительным способом совместного использования ресурсов сервлетами? - PullRequest
0 голосов
/ 02 мая 2011

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

1 Ответ

3 голосов
/ 02 мая 2011

Это зависит от ваших требований. Однако вы можете создать хранилище, например, одноэлементный объект для хранения ваших ресурсов, из которых у всего JVM существует только один экземпляр. Более того, из-за проблем с параллелизмом не рекомендуется использовать servletcontext для получения экземпляров ресурсов, например источников данных. Для ресурсов данных я бы использовал ресурсы JNDI и позволил бы контейнеру (tomcat или серверу приложений) управлять этими ресурсами, как и любые другие объекты служб, например DAO. Spring решает эти проблемы с помощью контекста приложения, в котором живут все служебные компоненты. в этом контексте вам необходимо определить свои сервисные объекты как бины, и они могут быть внедрены (см. внедрение зависимостей - CDI) в контроллеры, перехватчики и т. д., где они необходимы с различными стратегиями.

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