Возможно ли получить доступ к ejb, который находится внутри файла уха, из войны с использованием локального интерфейса?
Оба развертываются на одном сервере приложений.Доступ к ejb в ухе от войны через локальный интерфейс
EJB-:
@Stateless(name="FirstDemoEJB",mappedName = "FirstDemoEJB/Local")
public class FirstSessionBean implements FirstSessionBeanRemote, FirstSessionBeanLocal {
}
Теперь в тестовом сервлета (война):
InitialContext context = new InitialContext();
Object ob = context.lookup("java:comp/env/FirstDemoEJB/Local");
терпит неудачу на:
javax.naming.NameNotFoundException: При попытке посмотреть comp/env/FirstDemoEJB/Local in/app/webapp/FirstWebEJBTest/12292093 .;
Но удаленный поиск работает отлично:
Object ob = context.lookup("FirstDemoEJB/Local#org.weblogic.FirstSessionBeanRemote");
В WebLogic (насколько я помню) вы можете использовать 'RemoteInterface' там. Контейнер проверяет, действительно ли это «LocalInterface» и использует его как можно по возможности. В спецификации не допускается обратное. –
Я знаю, что у JBoss AS7 были проблемы с этим. Просто отметив это, чтобы показать, что это может быть проблемой на их конце. – keyser