我使用的RESTEasy 3.1.0.CR3在Tomcat的8.5的servlet的初始化的RESTEasy JAX-RS應用程序,通過註釋(無web.xml
):不調用@PreDestroy
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.1.0.CR3</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>3.1.0.CR3</version>
</dependency>
我有一個JAX-RS應用程序,我需要知道之前被銷燬/從容器中卸載,這樣我就可以釋放一些資源(停止線程):
@ApplicationPath("/")
public class MyRESTApplication extends Application {
…
@Override
public Set<Class<?>> getClasses() {
…
}
@Override
public Set<Object> getSingletons() {
…
}
@PreDestroy
public void end() {
//TODO release resources
}
但我end()
方法似乎並沒有被調用。我做錯了嗎?有沒有更好的方法來檢測JAX-RS應用程序何時被取下?
[我認爲這是一個相關的錯誤](https://java.net/jira/browse/JERSEY-1982)對不起,我對一個實體bean感到困惑。我不知道JAX-RS是否有方法PostDestroy – Gatusko
澤西島臭蟲與RESTEasy有什麼關係? –
你可以用一個完整的例子創建一個存儲庫嗎?到目前爲止,我看不出任何錯誤的代碼。 – Adam