私はTomcatの8.5でのサーブレットの初期化子でのRESTEasy 3.1.0.CR3を使用していますを呼び出していないアプリケーションを介して注釈(なしweb.xml
は):RESTEasyのJAX-RSの@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)そして、申し訳ありませんが、私はエンティティービーンと混同しています。 JAX-RSにPostDestroyメソッドがあるかどうかわかりません – Gatusko
ジャージーバグとRESTEasyの関係は何ですか? –
完全な例でリポジトリを作成できますか?私はあなたが今までに与えたコードで何かが間違っているのを見ることができません。 – Adam