Я развернул военный файл с actionclasses и фасадом и jar-файл с ejb-компонентами (безфактум, пару сущностей и persistence.xml) на glassfish3 , Моя проблема в том, что я не могу найти мой удаленный интерфейс для фаната без состояния с моего фасада.Проблема с удаленным интерфейсом в Glassfish3
Мой боб и интерфейс выглядит следующим образом:
@Remote
public interface RecordService {...
@Stateless(name="RecordServiceBean", mappedName="ejb/RecordServiceJNDI")
public class RecordServiceImpl implements RecordService {
@PersistenceContext(unitName="record_persistence_ctx")
private EntityManager em;...
и если я смотрю в server.log портативный JNDI выглядит следующим образом:
Portable JNDI names for EJB RecordServiceBean : [java:global/recordEjb/RecordServiceBean, java:global/recordEjb/RecordServiceBean!domain.service.RecordService]|#]
и мой фасад:
...InitialContext ctx= new InitialContext();
try{
recordService = (RecordService) ctx.lookup("java:global/recordEjb/RecordServiceBean!domain.service.RecordService");
}
catch(Throwable t){
System.out.println("ooops");
try{
recordService = (RecordService)ctx.lookup("java:global/recordEjb/RecordServiceImpl");
}
catch(Throwable t2){
System.out.println("noooo!");
}...
}
, и когда фасад совершает первый вызов, возникает это исключение:
javax.naming.NamingException: Lookup failed for 'java:global/recordEjb/RecordServiceBean!domain.service.RecordService' in SerialContext [Root exception is javax.naming.NamingException: ejb ref resolution error for remote business interfacedomain.service.RecordService [Root exception is java.lang.ClassNotFoundException: domain.service.RecordService]]
и второй вызов:
javax.naming.NamingException: Lookup failed for 'java:global/recordEjb/RecordServiceBean' in SerialContext [Root exception is javax.naming.NamingException: ejb ref resolution error for remote business interfacedomain.service.RecordService [Root exception is java.lang.ClassNotFoundException: domain.service.RecordService]]
Я также протестировали впрыснуть боб с @ EJB-аннотаций:
@EJB(name="RecordServiceBean")
private RecordService recordService;
Но это не работает либо. Что я пропустил? Я пробовал с ejb-jar.xml, но это не должно быть необходимым. Есть ли кто-нибудь, кто может сказать мне, как решить эту проблему?