我已经使用 weblogic 控制台创建了 JNDI 数据源,但无法从 Web 应用程序访问该对象。以下是详细信息
在 weblogic 10.3.6 中,我将数据源的 JNDI 名称指定为:jdbc/mydb
为了从我的 Web 应用程序获取数据库连接,我在我的 Web 应用程序中编写了以下代码:
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/mydb");
jndiConnection = ds.getConnection();
之前我使用 Tomcat 作为服务器,当我在文件中配置资源详细信息时,我能够获得数据库连接tomcat/conf/server.xml
,但是当我开始使用 weblogic 服务器时,我收到以下错误:
Cannot establish DB connection to JNDI:java:/comp/env/jdbc/mydb While trying to look up /comp/env/jdbc/mydb in /app/webapp/sample.war/1811641702. caused by: javax.naming.NameNotFoundException: While trying to look up /comp/env/jdbc/mydb in /app/webapp/sample.war/1811641702.; remaining name '/comp/env/jdbc/mydb'
我已经尝试过此链接中提到的选项:如何在WebLogic上查找JNDI资源?但我仍然面临问题。
请让我知道我在哪里做错了,访问JNDI对象的过程是什么。
参考帖子后:Tomcat 与 Weblogic JNDI 查找我修改了我的代码。
在我的 Web 应用程序的 java 程序中使用以下代码解决了我的问题:
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("jdbc/mydb");
jndiConnection = ds.getConnection();
另外,在 weblogic 控制台中,我已将 JNDI 对象添加到部署 Web 应用程序的管理服务器(在服务器选项下)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)