gpt4 book ai didi

java - ejb 3.1、weblogic 12c、java 1.6 Jndi 查找问题

转载 作者:行者123 更新时间:2023-11-30 03:49:29 25 4
gpt4 key购买 nike

I have problem in configuring JNDI lookup for ejb3.1 and weblogic 12c, jdk1.6

@Remote
public interface Bank{

public String accounts();

}

@Stateless(name="BankSession")
public class BankSessionBean implements Bank{

@Override
public String accounts() {
//////// }

ejb-jar.xml:

<enterprise-beans>
<session>
<display-name>BankSession</display-name>
<ejb-name>BankSession</ejb-name>
<business-remote>com.examples.Bank</business-remote>
<ejb-class>com.examples.BankSessionBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</session>
<enterprise-beans>

weblogic-ejb-jar.xml:

<weblogic-enterprise-bean>
<ejb-name>BankSession</ejb-name>
<jndi-name>BankSession</jndi-name>
</weblogic-enterprise-bean>


client code:

当我开始使用 Jndi 使用此语法查找时java:comp/env/ejb/BankSession

它给出以下错误。

javax.naming.NameNotFoundException:尝试查找“java:comp/env/ejb/BankSession”时未找到子上下文。

这里 ejbbean 和客户端代码运行在不同的 jvm 上。

我应该使用哪个 Jndi 查找?

  1. java:comp/env/ejb/BankSession'
  2. java:global/applicationName/moduleName/BankSession
  3. java:模块/BankSession
  4. java:app/moduleName/BankSession

java:comp/env/ejb/BankSession 在 ejb 3.0 和 oc4j 服务器上运行良好。

当我迁移到 ejb3.1 和 weblogic 12c 时,它不起作用。

我什至尝试不使用 weblogic 部署 xml 文件。遇到同样的问题。

我应该如何在这里配置我的 Jndi ?请帮助,因为我很长时间以来都面临这个问题。

最佳答案

对于 java:comp/env/... 形式的查找,您需要在执行查找的组件的部署描述符中提供 EJB 引用!java:comp/env/... 始终与执行查找的组件相关。

独立于执行查找并在应用程序内任何位置工作的实际组件的查找名称是 4.: java:app/moduleName/...

java:global/appName/... 如果您决定有一天重命名您的ear 文件,将会失败。java:module/... 只能在属于同一模块的组件内部工作。所以 4. IMO 是最好的选择吗?

关于java - ejb 3.1、weblogic 12c、java 1.6 Jndi 查找问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com