繁体   English   中英

javax.naming.NameNotFoundException:无法解析“MyDB”。 已解决“”Weblogic 12.1.3。 c

[英]javax.naming.NameNotFoundException: Unable to resolve 'MyDB'. Resolved '' Weblogic 12.1.3. c

从 Tomcat 迁移到 Weblogic 12.1.3 时,我javax.naming.namenotfoundexception while trying to look up然后尝试了以下操作: NameNotFoundException:仅在从 Z32F7222026696F30787889194DEE83EZ Kepler 发布时才尝试查找“jdbc”但不在访问 weblogic 10.3.6 中定义的 JNDI 数据源

我现在得到了标题错误

我的查找代码

ds = (DataSource) initContext.lookup("MyDB");

在 weblogic JNDI 名称

MyDB

请问有什么帮助吗?

与Tomcat不同,weblogic创建多个服务器(通常是管理服务器,另外还有一个其他服务器)。 必须为每个服务器分配数据源。 在群集环境中,您需要将数据源应用于群集服务器。

  1. 登录Weblogic控制台,检查数据源JNDI名称(不要将其与数据源名称混淆,这纯粹是为了让控制台列表看起来很漂亮)。 JNDI名称应该类似于jdbc / MyDB
  2. 检查数据源“ 目标”选项卡,并确保将其应用于要将Web应用程序部署到的服务器/群集。
  3. 重启Weblogic。 我发现数据源在应用程序代码可见之前有时需要它。
  4. 将Web应用程序部署到正确的服务器/群集。

您应该正常连接到数据源。 我总是使用Spring JNDI bean,所以我无法使用确切的语法。 @Maas的建议看起来不错。

部署后重新启动服务器有帮助。

检查JNDI案例(MyDB!= MyDb)。 这听起来微不足道,但它发生在我身上并且很难发现它。 由于这是google在搜索此问题时返回的第一个帖子,因此我会在此处发布以防万一。

除此之外,@kiwiron的答案涵盖了其他一切。

对我来说,从Windows命令行启动托管服务器而不是使用WebLogic管理控制台启动它解决了javax.naming.NameNotFoundException问题。 不知道为什么会这样。

检查帐户状态,我的被锁定

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM