我想知道响应 REST 请求的类的预期生命周期行为是什么。
我有一个派生自 javax.ws.rs.core.Application 的类,它标识另一个用于响应请求的类。
在另一个类中,它使用@Path("foo") 进行注释,并且该类中的方法使用@Path("bar") 进行注释。当向 foo/bar 发出请求时,我可以看到构造函数被执行,然后 PostConstruct 方法被正确调用。在该方法向客户端返回响应后,我可以看到 PreDestroy 被调用,然后类被压扁。在下一个请求中,该过程重复。
这是正确的行为吗?或者有没有办法让这个类保留在内存中,这样每次发出请求时就不需要通过构造函数和 PostConstruct 了?此方法依赖于 JAXB 编组和各种 XSL 转换 - 我想缓存已编译的 XSLT 转换对象以及某些转换的结果,但是如果每次调用时都重新实例化该类,则无法进行本地缓存。
这是在 Java 7、Wink 和 Tomcat 7 上运行的。有人可以告诉我这是否是预期的行为,还是我错过了一些能让这个类保持活力的东西?
谢谢。