我正在开发一个在jdk 1.7上配置的应用程序
它使用JNDI与Oracle DataSource建立连接。
我认为JNDI名称未绑定到服务器。
该行: DataSource ds =(DataSource)ServiceLocator.getinstance()。getDataSource(jndiName); // jndiName =“jdbc / myDB”
在'cache'中查找JNDI名称,如果未找到,则在'initialContext'中查找它。但它从两个地图中都是空的。
我面临的错误是: 未找到JNDI名称。
我已尝试以下步骤来解决此问题:
添加< resource-ref>在应用程序web.xml文件中如下 - < resource-ref> <描述> MySQL数据源示例< / description> < res-ref-name> jdbc / myDB< / res-ref-name> <水库型> javax.sql.DataSource中< / res-type> < RES-AUTH>集装箱 < / resource-ref>
添加<资源>服务器的server.xml文件中的标记如下 - <上下文> <资源名称=“jdbc / myDB”auth =“容器”type =“javax.sql.DataSource”maxActive =“50”maxIdle =“30”maxWait =“10000”username =“mysqluser”password =“mysqlpassword”driverClassName =“ oracle.jdbc.xa.client.OracleXADataSource“url =”jdbc:mysql:// localhost / myDB“/> < /上下文>
将上述第一行更改为: DataSource ds =(DataSource)ServiceLocator.getinstance()。getDataSource(“java:comp / env / jdbc / myDB”);
将ojdbc14.jar添加到服务器的lib文件夹
解决这个问题的下一个方法应该是什么?