当前位置: 首页 > 知识库问答 >
问题:

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

有翰海
2023-03-14
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/Bank会话'
  2. java:全局/应用程序名称/模块名称/银行会话
  3. java:模块/银行会话
  4. java:应用程序/模块名称/银行会话

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

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

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

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

共有1个答案

亢雅懿
2023-03-14

对于java形式的查找:comp/env/...您需要在执行查找的组件的部署描述符中有一个EJB ref!java: comp/env/...总是相对于执行查找的组件。

独立于执行查找的实际组件的查找名称是4.:java:app/moduleName/。。。

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

 类似资料:
  • 我有一个Web项目,其中有几个EJB在不同的包中。但是我在查找EJB时遇到了问题。 我的目录结构:有两个包索引。作业和索引。ejb。 --包index.job有一个POJOindex.java --包装索引。ejb有一个由@Stateless(name=“indexEJB”,mappedName=“indexEJB”)和@LocalBean定义的ejb --包装索引。ejb还有一个定义为“本地”的

  • 问题内容: 我正在使用logback / slf4j处理我的应用程序中的日志记录。在我开始使用EJB之前,一切都运行良好。将无状态EJB添加到应用程序后,记录器开始忽略我的logback.xml,并停止使用附加程序。我切换到编程式记录器配置以查看出了什么问题,现在当我尝试在EJB中使用记录器时遇到以下错误: 源于这一行: 是否需要任何特殊的配置才能使Logback与EJB一起使用?如果有问题,我将

  • 我正在使用下面的命令检查12C中Weblogic服务器的状态,该命令在10.x Weblogic中正常工作 java weblogic.admin-URL t3:/$IP:$端口getstate-username$username-password$password 我将类路径设置如下导出classpath=$WL_HOME/server/lib/weblogic.jar

  • We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess which number I picked. Every time you guess wrong, I’ll tell you whether the number is higher or l

  • 2.7 编程案例:查找问题 下面我们通过一个简单程序来综合应用本章所介绍的知识。 实际应用中经常遇到“查找”问题:即从一个数据集中查找我们需要的数据。查找技术 是程序设计的一个重要技术,存在着许多高效的查找算法。在此,我们考虑一种很简单的查 找问题。场景:下面我们编一个小程序。基本的 IPO 模式。 假如我们要编一个程序,它接收用户输入的月份数值(1~12),并输出对应月份的英文 缩写。例如,当用

  • 如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [filename]', 你就会得到整个文件的每一行的详细修改信息:包括SHA串,日期和作者: 译者注: Git采用SHA1做为hash签名算法, 在本书中,作者为了表达方便,常常使用SHA来代指SHA1. 如果没有特别说明, 本书中的SHA就是SHA1的代称. $ git blame

  • 假设你在项目的'2.6.18'版上面工作, 但是你当前的代码(master)崩溃(crash)了. 有时解决这种问题的最好办法是: 手工逐步恢复(brute-force regression)项目历史, 找出是哪个提交(commit)导致了这个问题. 但是 linkgit:git-bisect1 可以更好帮你解决这个问题: $ git bisect start $ git bisect good

  • 我试图查找一个JMS TopicConnectionFactory使用JNDI在WebSphere应用服务器。我已经在服务器中正确地完成了jndi设置。我已经在服务器中部署了我的应用程序。 我为发送方/接收方/监听器设计了3个java类。在服务器中部署WAR之后,我首先尝试将接收器代码作为独立的java应用程序运行。然而,它失败了,错误如下: 线程“main”javax中出现异常。命名。NoIni