我试图查找EJB,当我这样做时,将错误视为
While trying to look up comp/env/ejb/UserImpl in /app/webapp/BSWeb/131433158
RestImpl: `
@Produces("application/json")
@Consumes("application/json")
@Path("UserSession")
@Stateless
public class UserSessionManagerImpl {
@Context
HttpServletRequest httpServletRequest;
@Context
HttpServletResponse httpServletResponse;
@POST
@Path("retrieveUserProfile")
public RetrieveUserProfile retrieveUserProfile (RetrieveUserProfileRequest request)
{
try {
InitialContext ctx = new InitialContext();
IUserSessionManagerIntf manager = (IUserSessionManagerIntf) ctx.lookup("java:comp/env/ejb/UserSessionImpl");
replyVO.retrieveUserProfile();
} catch (Exception namingException) {
namingException.printStackTrace();
}
我的EJB
@Stateless(name = "UserSessionImpl", mappedName = "ejb/UserSessionImpl")
@Local
public class UserSessionImpl implements IUserSessionManagerIntf {
retrieveUserProfile(){
....
}
有人可以帮忙解决这个问题。我在休息实现中使用它。在ejb查找失败
答案 0 :(得分:0)
你有没有尝试过:
@EJB(name="ejb/UserSessionImpl", beanInterface = IUserSessionManagerIntf.class)
UserSessionManagerImpl
课上的?
mappedName
属性是特定于供应商的。您不应该假设您将在java:comp/env
下找到带有映射名称的bean。相反,您可以使用我的上述建议或全局JNDI名称(或特定于供应商的功能 - 签入文档)。