2009-11-11 2 views
0
public void runTest() throws Exception { 
     InitialContext ctx = new InitialContext(); 
     ResourceManager bean = (ResourceManager) ctx.lookup("ejb/ResourceManagerJNDI"); 
     System.out.println(bean.DummyText()); 
} 

Здравствуйте. Поэтому я пытаюсь создать приложение EJB, и для этого это тестовый клиент. JNDI поиска является успешным, но при вызове метода «DummyText», я получаю следующее сообщение об ошибке:EJB help

javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: nested exception is: javax.ejb.CreateException: Could not create stateless EJB; nested exception is: 
    javax.ejb.EJBException: nested exception is: javax.ejb.CreateException: Could not create stateless EJB (...) 

Это как класс боб выглядит:

@Stateless(name="ResourceManager", mappedName="ejb/ResourceManagerJNDI") 
@Remote 
@Local 
public class ResourceManagerBean implements ResourceManager 
{ 
    @EJB 
    private AccessDAO accessDAO; 
    @EJB 
    private ResourceDAO resourceDAO; 
    @EJB 
    private DepartmentDAO departmentDAO; 

    (list of methods) 
} 

Любые советы будут с благодарностью. Спасибо.

ответ

1

Вот мои первые мысли. Вы должны иметь что-то вроде

@Remote 
public interface ResourceManagerSessionRemote { 

    (list of methods) 

} 

Перерыв удаленные и локальные интерфейсы из

@Stateless(name="ResourceManager", mappedName="ejb/ResourceManagerJNDI") 
public class ResourceManagerBean implements ResourceManagerSessionRemote 
{ 
    @EJB 
    private AccessDAO accessDAO; 
    @EJB 
    private ResourceDAO resourceDAO; 
    @EJB 
    private DepartmentDAO departmentDAO; 

    (list of methods) 
}