Я новичок в концепции EJB. Я видел следующее другом сайте:Неизвестный JNDI Lookup String
Образец 1:
@Stateless
@EJB(name="audit", beanInterface=AnotherEJBLocal.class)
public class EmployeeBean implements EmployeeServiceLocal, EmployeeServiceRemote {
@PersistenceContext(unitName = "EmployeeService")
private EntityManager manager;
public void doAction(){
try {
Context ctx = new InitialContext();
AnotherEJBLocal audit = (AnotherEJBLocal) ctx.lookup("java:comp/env/audit");
audit.doAnother();
} catch (NamingException e) {
throw new EJBException(e);
}
}
}
Пример 2:
public static void main(String[] a) throws Exception {
EmployeeServiceRemote service = null;
service = (EmployeeServiceRemote) new InitialContext().lookup("EmployeeBean/remote");
service.doAction();
}
Пример 3:
obj = ctx.lookup(ejb/CBDWebAppEAR/CBDWebApp.jar/<EJB name>/<Remote Interface Class Name>);
CBDWebApp это название проекта, в котором боб находится.
Мой вопрос:
Какова необходимость & СМЫСЛ Явы: комп/ENV/аудит
Почему же тип строки не используется в случае образца 2. Я думаю, как это удаленный EJB не локальный.
Почему смысл EJB искать строку в образце 3.