ApplicationEventListener#onEvent
никогда не вызывается. Что может быть неправильно здесь. Используется класс конфигурации ресурсов, и я могу вызвать API.Jersey 2 ApplicationEventListener onEvent() не называется
<servlet>
<servlet-name>MyApplication</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.MyApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>MyApplication</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
конфигурации App:
public class MyApplication extends ResourceConfig{
@NameBinding
@Retention(RetentionPolicy.RUNTIME)
public @interface Secured {}
public MyApplication(){
register(com.UserLogin.class);
register(com.MyApplicationEventListener.class);
}
}
Все хорошо. Вы можете увидеть тест в [this gist] (https://gist.github.com/psamsotha/d5de14c76eed39e4585444f6e9d8648b) –
@peeskillet делает то же самое. Я ожидаю, что инструкции Sysout будут напечатаны на консоли EclipseIDE, когда я запускаю/останавливаю сервер tomcat. Но нет. Все, что я могу отлаживать на моем конце? – zee
Если вы не сделаете запрос, Джерси не будет полностью запущен, поэтому слушатель никогда не будет вызван, просто запустив и остановив сервер. Вам нужно установить ' 1 load-on-startup>' в web.xml для конфигурации сервлета. Это приведет к полной загрузке Джерси при запуске сервера –