从Tomcat迁移到Weblogic 12.1.3时,我遇到了这个异常javax.naming.namenotfoundexception while trying to look up
然后我尝试了以下内容:
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
请帮忙吗?
答案 0 :(得分:26)
与Tomcat不同,weblogic创建多个服务器(通常是管理服务器,另外还有一个其他服务器)。必须为每个服务器分配数据源。在群集环境中,您需要将数据源应用于群集服务器。
您应该正常连接到数据源。我总是使用Spring JNDI bean,所以我无法帮助确切的语法。 @Maas的建议看起来不错。
答案 1 :(得分:1)
部署后重新启动服务器会有所帮助。
答案 2 :(得分:1)
检查JNDI案例(MyDB!= MyDb)。这听起来微不足道,但它发生在我身上并且很难发现它。由于这是google在搜索此问题时返回的第一个帖子,因此我将其发布在此处,以防它有所帮助。
除此之外,@kiwiron的答案涵盖了其他一切。
答案 3 :(得分:0)
对我来说,从Windows命令行启动托管服务器而不是使用WebLogic管理控制台启动它解决了javax.naming.NameNotFoundException
问题。不知道为什么会出现这种情况。