パスからのパラメータで初期化する必要があり、注入する必要のあるEJBへの参照を含むサブリソースクラスがあります。Jax-rs initial subresource注入に使用できるオブジェクトがありません
リソースクラス:
@Path("widgets")
public class MasterResource{
@Inject
WidgetBean widgets;
@Context
ResourceContext rc;
@Path("{year}")
public WidgetArchives wArchives(@PathParam("year") String year){
return rc.initResource(new WidgetArchiveResource(year));
}
}
サブリソースクラス
public class WidgetArchiveResource{
@Inject
WidgetBean widgets;
public WidgetArchiveResource(String year){
....code
}
@GET
public String doGet(){
....code using WidgetBean
}
}
私は一年で取得呼び出すと、私は次のエラーを参照してください。
org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=WidgetBean,parent=WidgetArchiveResource,qualifiers={},position=-1,optional=false,self=false,unqualified=null,542790913)
を、私は、Javaに新たなんですEE。私は間違って何をしていますか?
はWidgetArchiveResource'はなく、手動でnew' 'でこのクラスを作成し'注入するようにしてください。デフォルトコンストラクタを提供し、メソッドを使用して年を設定します。 beans.xmlに 'bean-discovery-mode =" all "'を使用したいかもしれません。 – simdevmon
これは私のための学習の一種です。私はinitresourceがこのように使われているのを見てきました。私はそれを理解しようとしています。 – KG6ZVP