ノンインタフェースビューのステートレスDAO-EJBを持っています。これは、汎用の抽象DAOクラスから追加のメソッドreadAll();
を継承していますので、ツリーはFooDAOBean <- extends GenericDAOImpl <- implements GenericDAOInterface
ですclick here to see GenericDAO implementation - リンクでそれは)抽象クラスではありません。@EJBインタフェースビューのないBeanのシングルトンでインジェクションが失敗する
@Stateless
public class FooDAOBean extends GenericDAOImpl<ENodeFocus, Serializable>{
@Override
public List<Foo> readAll() {
// do something...
}
}
と私はいくつかのエントリを使用してアプリケーションを構成する必要があり、初期化豆、持っている:私は取得していますデプロイの
@Singleton
@Startup
public class InitializationBean {
@EJB
FooDAOBean dao;
@PostConstruct
public void initialize() {
// do something
}
}
をエラー:
WFLYNAM0059:注射のためのリソースのルックアップに失敗しました: ENV/shitstorm.beans.InitializationBean/DAO
WFLYEE0046:私は、リモート・インタフェースを実装して
FooDAOBean
に注釈を付けるとき
コンポーネントビューをインスタンス化に失敗しました@Remote(<RemoteInterface>.class)
と正しく動作しています。しかし、私はリモートアクセスを許可したくありません。私にとっては、FooDAOBean
のメソッドは同じJVM(ローカル)でしかアクセスできないことが重要です。 FooDAOBean
とInitializationBean
は同じEARプロジェクトに含まれているため、作業する必要がありますか、ここで何か不足していますか?それはシングルトンやここで起こっていることと関係がありますか?私はローカルインターフェイスを実装する必要がありますか?私はEJB 3.0以降、これはもう必要ないと思っていました。どうもありがとう! :)