javax.naming.NameNotFoundException:无法解析’MyDB’.已解决”Weblogic 12.1.3. C

从Tomcat迁移到Weblogic 12.1.3时,我在尝试查找时遇到了此异常javax.naming.namenotfoundexception
然后我尝试了以下内容:
NameNotFoundException: While trying to lookup ‘jdbc’ only when publishing from Eclipse Kepler but not Indigo

How to access JNDI data source defined in weblogic 10.3.6

我现在得到了标题错误

我的查找代码

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

在weblogic JNDI名称中

MyDB

有什么帮助吗?

解决方法:

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

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

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

上一篇:JNDI数据源补充


下一篇:如何在Spring中运行JUnit Test注入JBOSS JNDI数据源