Я использую механизм JerseyServletContainer, чтобы развернуть мои веб-службы REST. Конфигурация в web.xml выглядит следующим образом:JerseyServlet инициализирует ресурс при запуске сервера
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
com.myservlet.classes
</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
Что я хотел бы добиться того, что мой класс REST ресурсов, которые будут построены до первого HTTP вызова службы REST.
На данный момент, даже если я поставил
<load-on-startup>0</load-on-startup>
кажется, фактического класса конструктор вызывается ServletContainer Джерси только тогда, когда запрос HTTP сначала сделал к этому ресурсу.
Есть ли способ достичь этого?
Мне нужно добавить, что в настоящий момент я только что добавил ServletContextListener, который делает HTTP-вызов самому себе. Но я бы хотел избежать этого хакерского пути.
Любые советы по оказанию помощи?
EDIT: Мне нужно добавить, что я использую @Singleton аннотацию на моем классе ресурсов, как мне нужно только один экземпляр по всему приложению
Возможно, это должно дать вам больше информации - http://stackoverflow.com/questions/28917768/load-on-startup-and-jersey – aksappy