■問題点
その名の通りJNDI lookupでEJBが見付からなくってNameNotFoundExceptionが発生。
環境:WebLogic 11g Release 1
■背景等
EJB 3だと以下のようにアノテーションを使ってEJBを呼び出すから、通常はJNDIルックアップとか必要ない。
// ビジネスロジックのインターフェース
@Local
public interface SomeInterface {
public void doSomething();
}
// ビジネスロジックの実装
@Stateless
public class SomeBean implements SomeInterface {
public void doSomething() {
// 処理
}
}
// Session Bean を使うクラス
public class Client {
// DI
@EJB
private SomeInterface foo;
}
今回は扱う業務データのファイルの種類毎にSession Beanがあって、Sessioin Beanの名前を動的に生成して使うようにしているので。
※ビジネスロジックをPOJOにして、呼び出されるSession Beanは1つにし、リフレクションでビジネスロジックのクラスを呼び出すという方法でも良いのかもしれないけど…いやー、この辺はよく分からん。
Continue reading EJBのJNDI lookupでNameNotFoundException