javax.naming.NameNotFoundException:无法解析’MyDB’。 已解决”Weblogic 12.1.3。 C
在从Tomcat迁移到Weblogic 12.1.3时,我javax.naming.namenotfoundexception while trying to look up
遇到了这个exceptionjavax.naming.namenotfoundexception while trying to look up
然后我尝试了以下内容: NameNotFoundException:尝试仅在从Eclipse Kepler发布时查找“jdbc”而不是Indigo和How访问weblogic 10.3.6中定义的JNDI数据源
我现在得到了标题错误
我的查找代码
ds = (DataSource) initContext.lookup("MyDB");
在weblogic JNDI名称中
MyDB
有什么帮助吗?
与Tomcat不同,weblogic创建多个服务器(通常是管理服务器,另外还有一个其他服务器)。 必须为每个服务器分配数据源。 在群集环境中,您需要将数据源应用于群集服务器。
- 登录Weblogic控制台,检查数据源JNDI名称(不要将其与数据源名称混淆,这纯粹是为了使控制台列表看起来很漂亮)。 JNDI名称应该类似于jdbc / MyDB
- 检查数据源“ 目标”选项卡,并确保将其应用于要将Web应用程序部署到的服务器/群集。
- 重新启动Weblogic。 我发现数据源有时需要它才能显示应用程序代码。
- 将Web应用程序部署到正确的服务器/群集。
您应该正常连接到数据源。 我总是使用Spring JNDI bean,所以我无法使用确切的语法。 @Maas的建议看起来不错。
部署后重新启动服务器有帮助。
检查JNDI案例(MyDB!= MyDb)。 这听起来微不足道,但它发生在我身上并且很难发现它。 由于这是google在搜索此问题时返回的第一个post,因此我会在此处发布以防万一。
除此之外,@ kiwiron的答案涵盖了其他一切。
对我来说,从Windows命令行启动托管服务器而不是使用WebLogic管理控制台启动它解决了javax.naming.NameNotFoundException
问题。 不知道为什么会这样。
- 在java中打印阶乘计算过程
- Java将新列附加到csv文件
- 如何用Java编写可靠的Pure Aggregation(组合)游戏对象?
- 使用O(1)中的前缀树查找单个最近邻居?
- 是否可以结合MyBatis和QueryDSL / jOOQ?
- 如何在jdk9 / java-9中使用sun.reflect包?
- 如何在我的应用程序的java fx 2.0中更改舞台标题栏上的图标
- Java中的SocketIO Client,如何实现与netty-socketio Server一起工作?
- 当在Spring / Hibernate项目中需要访问数据库时,exceptionjava.lang.NullPointerException