我在GlassFish (J2EE_1.4)上用NetBeans开发企业项目。在我的项目中有一些实体bean,一些会话bean和消息驱动bean。我使用servlet中的实体bean(在同一个项目中,来自web组件),如下所示:
InitialContext ic;
ic = new InitialContext();
UserLocalHome userHome = (UserLocalHome) ic.lookup("java:comp/env/ejb/User");一切都运行得很好。但是当我尝试从会话bean或MDB进行查找时,我得到了命名错误。任何bean都不能查找任何其他bean。在web部署描述符中有一些引用,但是AFAIK没有必要为EJB定义引用。此外,所有实体bean都只有本地接口。
发布于 2011-05-16 01:25:35
每个J2EE都有自己的java:comp名称空间,因此在EJB1.4中,每个<entity/>或<message-driven/>都必须有自己的<ejb-ref/> (或<ejb-local-ref/>)。
在EJB6中,单个JavaEE (或servlet)可以声明一个带有java:module (或java:app)前缀的ejb-ref,以允许该作用域中的任何组件能够共享该引用。
https://stackoverflow.com/questions/6004104
复制相似问题