永远不会调用ApplicationEventListener#onEvent
。这里可能有什么问题。使用资源配置类,我可以调用API。
<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>
应用配置:
public class MyApplication extends ResourceConfig{
@NameBinding
@Retention(RetentionPolicy.RUNTIME)
public @interface Secured {}
public MyApplication(){
register(com.UserLogin.class);
register(com.MyApplicationEventListener.class);
}
}
答案 0 :(得分:1)
除非您提出请求,否则Jersey将无法完全启动,因此只需启动和停止服务器即可调用侦听器。您需要在web.xml中为servlet配置设置<load-on-startup>1</load-on-startup>
。这将导致Jersey在服务器启动时完全加载。