TJWS埋め込みサーブレットコンテナを使用して、このユーザーガイドhttp://docs.jboss.org/resteasy/docs/2.3.3.Final/userguide/html/RESTEasy_Embedded_Container.html#d0e2640を使用してRestEasyアプリケーションを起動しようとしています。
JBOSS7-ASで正しく動作します。デバッグと単体テストにTJWSを使用したいのですが、依存性注入に問題があります。
リソースクラスUserResourceを作成します。これは、CDIを使用してユーティリティクラスUserManagerを挿入します。
@Path("users")
@SessionScoped
class UserResource {
@Inject
UserManager userManager; // simple interface and imlementation
public UserResource() {} // constructor with no parameters for bean
@Path("list")
@GET
public List<User> list() {
List<User> userList = userManager.getList(); // NullPointerException
return userList;
}
}
メインでTJWSを起動します。
public static void main(String[] args) throws IOException {
TJWSEmbeddedJaxrsServer tjws = new TJWSEmbeddedJaxrsServer();
tjws.setPort(9997);
tjws.start();
tjws.getDeployment().getRegistry().addPerRequestResource(User.class);
}
ブラウザ経由で取得しようとするとhttp://localhost/users/list
、userManagerが挿入されておらず、nullであるため、UserResource.list()メソッドでNullPointerExceptionが発生します。
userManagerを注入する方法はありますか?