ジャージー JAX-RS の場合:
静的コンテキストから ResourceContext のインスタンスにアクセスする方法はありますか? これまでのところ、私は手ぶらでやってきて、期待どおりに機能しない多くのアプローチを試みました。これが私が達成したいことの例のスニペットです:
import com.sun.jersey.api.core.*;
import javax.annotation.PostConstruct;
import javax.ws.rs.core.Context;
@Singleton
@Provider
public static class MyClass
{
private static MyClass singleton;
@Context
private ResourceContext context;
@PostConstruct
private void constructor ()
{
MyClass.singleton = this;
}
public static <T> T acquireResource(Class<T> clazz)
{
return MyClass.singleton.context.getResource(clazz);
}
}
残念ながら、プロバイダーは遅延ロードされていると思われるため、これは正しく機能しません。「@Singleton」アノテーションが何かをするかどうかさえわかりません。
Application のインスタンスである WebAppResourceConfig も拡張しようとしましたが、これによりアプリケーションが壊れてしまい、その理由が完全にはわかりません。