我是一名有用的助手,可以为您翻译文本。
我正在开发EJB应用程序,尝试使用查找方法,但在运行时失败。
这是我的代码和配置:
weblogic.xml
我正在开发EJB应用程序,尝试使用查找方法,但在运行时失败。
这是我的代码和配置:
weblogic.xml
<ejb-reference-description>
<ejb-ref-name>
RechercheClientSMBean
</ejb-ref-name>
<jndi-name>
*****-ejb/RechercheClientSMBean/local
</jndi-name>
</ejb-reference-description>
本地接口
@Local
public interface IRechercheClientFacade extends Facade {}
Bean实现
@Stateless(name="RechercheClientSMBean", mappedName="RechercheClientSMBean")
public class RechercheClientSMBean extends AbstractBean implements IRechercheClientFacade { }
web.xml
<ejb-ref>
<ejb-ref-name>RechercheClientSMBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.*****.***.app.service.common.client.RechercheClientSMBean</home>
</ejb-ref>
Bean查找代码
InitialContext ctx = new InitialContext();
iRechercheClientFacade= (IRechercheClientFacade)ctx.lookup("java:comp/env/RechercheClientSMBean");
这会导致以下异常:
weblogic.deployment.EnvironmentException:
应用程序模块“pfi.war”中的ejb-ref或ejb-local-ref“RechercheClientSMBean”声明了ejb-link“RechercheClientSMBean”,但无法解析。 ejb-ref的目标EJB找不到。 请确保链接正确。
我已经检查了每一个可能的配置,每一个可能的命名方式,但是问题仍然存在。
PS:该项目分为多个模块,查找方法是从Web容器中进行的。
非常感谢您的帮助。
@Inject
或@EJB
,对吗? - Marcus K.