REST 要求に応答するクラスの予想されるライフサイクルの動作を知りたいです。
リクエストに応答するための別のクラスを識別する javax.ws.rs.core.Application から派生したクラスがあります。
その他のクラスでは、@Path("foo") で注釈が付けられ、このクラス内のメソッドには @Path("bar") で注釈が付けられます。foo/bar に対してリクエストが行われると、コンストラクターが実行され、PostConstruct メソッドが適切に呼び出されることがわかります。メソッドがクライアントに応答を返した後、PreDestroy が呼び出され、クラスが押しつぶされていることがわかります。次の要求で、プロセスが繰り返されます。
これは正しい動作ですか?または、リクエストが行われるたびにコンストラクターと PostConstruct を通過する必要がないように、このクラスをメモリに残す方法はありますか? このメソッドは、JAXB マーシャリングとさまざまな XSL 変換に依存しています。コンパイルされた XSLT 変換オブジェクトといくつかの変換の結果をキャッシュしたいのですが、呼び出されるたびにクラスが再インスタンス化されると、ローカル キャッシュが不可能になります。
これは Java 7、Wink、および Tomcat 7 で実行されています。誰かがこれが予想される動作であるかどうかを教えてもらえますか?それとも、このクラスを維持するための何かが欠けているのでしょうか?
ありがとう。