OpenEJB(TomEE ++)コンテナーを使用してEJBプロジェクトに取り組んでいます。JNDIルックアップ名をコードで制御する必要があるセッションBeanがあります。
@Stateless(mappedName="SlideService", name="SlideService")
public class SlideService {
public Map<Category, List<SlideShow>> fetchSlideShowsBycategory() {
// TODO Auto-generated method stub
return null;
}
public SlideShow fetchSlideShow(long id) {
// TODO Auto-generated method stub
return null;
}
public List<SlideShow> fetchSlideShowsByTitle(String title) {
// TODO Auto-generated method stub
return null;
}
}
私の問題は、このBeanがバインドされる名前が「global / slides/SlideService」であるということです。
特に言及していませんが、OpenEJBはアプリケーション名を使用しているようです。
これは移植性を損なうでしょうか?他のコンテナがアプリケーション名を使用しない可能性はありますか?
name属性とmappedName属性を使用して、ステートレスBeanの名前を制御する正しい方法ですか、それとも他の(より良い)方法がありますか?