我有一个JAX-RS(Jersey)服务器,可以使用它注册和绑定我的东西。
我想在服务器启动时打印横幅。我想使用JAX-RS框架 不是 来执行此操作,该平台是Web服务器的平台(即没有Jetty,Netty,Thorntail等钩子)。
我看到了以下内容,其中提到了久经考验的真正的Servlet处理方式: Jax rs: How can I run a method automatically everytime my server restarts?,但这不起作用,因为我没有在服务器中运行servlet容器,因此永远不会进行生命周期调用。
我认为必须有一个JCA类型的对象可以在Application
/ ResourceConfig
中注册,并且具有这样的生命周期调用,但是我什至找不到任何类型的列表您可以实际注册的东西。
不用抱怨(但是我会),但是我无法决定这是否那么困难,因为当他们将项目移至日食时,他们破坏了到旧官方文档的所有超链接,或者像Spring这样的隐式链接,只能通过github's别人的代码并意识到'哦,我不知道你能做到这一点'来实现。
答案 0 :(得分:2)
Jersey有Event Listeners。您可能会想使用ApplicationEventListener
和ApplicationEvent.Type
来打印横幅,INITIALIZATION_FINISHED
public class MyApplicationEventListener
implements ApplicationEventListener {
@Override
public void onEvent(ApplicationEvent event) {
switch (event.getType()) {
case INITIALIZATION_FINISHED:
printBanner();
break;
}
}
@Override
public RequestEventListener onRequest(RequestEvent requestEvent) {
return null;
}
}