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

WebSphere:JNDI上下文查找失败

祁刚毅
2023-03-14

我有以下...

Context aContext = = new InitialContext(settings);
aContext.lookup("java:comp/env/DB2_DB");

也试过...

aContext.lookup("DB2_DB");
<resource-ref>
    <description>
    </description>
    <res-ref-name>DB2_DB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    <mapped-name>DB2_DB</mapped-name>
</resource-ref>
<resource-ref name="DB2_DB" binding-name="jdbc/DB2DB" />

这是WAS6-8.5的一个港口项目

共有1个答案

孙胜泫
2023-03-14

嗯,这个问题很老了,我看到还没有公认的答案,所以。

以下是实际发生的情况:

  1. 您的代码执行对java:comp/env/db2_db.
  2. 的JNDI查找
  3. WebSphere使用WAS专有的部署描述符(ibm-web-bnd.xml)将应用程序绑定db2_db“转换”为WebSphere JNDI树(jdbc/db2db)中的真实名称。
  4. WebSphere查找jdbc/db2db并将其html" target="_blank">返回给调用者。
Context aContext = new InitialContext(settings);

通过提供Hashtable来构造InitialContext实例。当您需要为构造提供特殊参数时,Hashtable通常很有用,但是您必须知道何时使用它,何时避免使用它。在JavaEE容器中运行并需要简单访问容器JNDI树的代码很少(如果有的话)向InitialContext构造函数提供任何Hashtable

如果传入initialcontext设置包含一个provider_url键,指示在某个遥远的外部JNDI树上进行查找,我不会感到惊讶。

因此,我将从取消这个参数开始:

Context aContext = new InitialContext();

如果仍然失败,请使用WebSphere的dumpnamespace实用工具获得WebSphere JNDI树的清晰图像。

 类似资料:
  • 这是我需要完成的一个例子。有一个带有虚拟方法的远程EJB接口。该接口由两个有状态EJB实现,第一个EJB需要执行第二个EJB的查找: 助手类JndiManager如下所示: 客户端应用程序执行Bean1的查找并调用其方法。这是JBossEJB客户端。属性文件: 已成功调用Bean1,但其对Bean2的查找失败。错误是: 它在独立模式下工作正常,但在域模式下失败(运行单个主节点)。此外,JBoss

  • 我使用Liberty Profile v8.5.5.5(WebSphere Application Server8.5.5.5/wlp-1.0.8.cl50520150221-0034)IBMJ9 VM,版本pxa6470sr1-20120330_01(SR1)(en_US) 我已经安装了jndi功能。。。但无论我做什么,我都无法进行简单的JNDI查找。 在我server.xml 我的代码...(

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

  • 对于某些应用程序来说,窗口查看围绕特定主题的多个文档是很有用的。上下文视图能够帮助设置包含时序性事件的索引模式。 想要显示与锚文档相关的上下文,点击文档表条目左侧的 Expand 按钮 ,然后点击 View surrounding documents 链接。 上下文视图会显示锚文档前后的多个文档。锚文档会用蓝色突出显示。该视图是根据索引模式配置的时间字段而检索出的结果,并使用 Discover 浏

  • 我试图从分解的war目录进行部署,但得到了相同的上下文错误(如果我从eclipse进行部署,或者如果我尝试从manager页面进行部署,则会发生这种情况,错误输出如下): 我的运行配置-war:exploded tomcat:exploded-将分解的war文件的内容复制到\apache7\work\Catalina\localhost 是否缺少apache\tomcat配置设置<非常感谢您的任何

  • 如果有人能帮助我纠正代码中的问题,我将不胜感激。不知道我哪里错了。 当前我的persistence.xml包含