Я работаю над проектом EJB с контейнером OpenEJB (TomEE ++). Существует секция сеанса, чье имя JNDI-поиска нужно контролировать в коде.Управление именем сессионного компонента без состояния с OpenEJB
@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;
}
}
Моя проблема заключается в том, что имя, к которому этот компонент становится связанным является «глобальным/Слайды/SlideService»
OpenEJB, похоже, использует имя приложения, хотя я специально не упомянул об этом.
Будет ли эта компромиссная переносимость? Возможно ли, что какой-либо другой контейнер не может использовать имя приложения?
Использует имя и сопоставленное имя атрибут правильный способ управления именем безфакторного компонента или есть другие (лучшие) способы?