Tomcat 配置Oracle JNDI数据源

    xiaoxiao2022-07-12  143

    1. 描述

    最近负责一个小功能,项目可以用tomcat或weblogic启动。刚开始用weblogic启动,但是在开发的过程中太费力,更改一个类就需要更新weblogic,更新过程实在太慢,很影响开发效率。于是决定用Tomcat配置jndi,减少开发耗费的时间。

    Tomcat部署项目:

    2. 分析

    刚开始在网上baidu使用Tomcat配置jndi,更改的文件是Tomcat的安装包的server.xml和content.xml。在eclipse中启动Tomcat还是报空指针连接异常,所以断定数据源没有配置成功。个人认为可能是需要将项目打包到webapps才可以使用Tomcat安装路径下配置的jndi。后来偶然发现其实eclipse中有一个Servers文件夹,这里包含eclipse所配置的Tomcat。content.xml和server.xml也是配置数据源的文件,所以我们可以从Servers中配置Tomcat让eclipse项目可以访问jndi。

    Servers目录:

    3. 解决方法

    一、在server.xml中添加数据库连接地址,在中添加如下内容: 示例数据源:

    <Resource name="jdbc/TEST" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@172.11.11.11:1521:test" username="test" password="test"/>

    二、在context.xml添加jndi全局变量,在 </Context>上面添加如下内容:

    <ResourceLink global="jdbc/TEST" name="jdbc/TEST" type="javax.sql.DataSource"/>

    属性中的name对应的值要和上一步 Resource 里面的name值一样。如果有多个数据源,就对应多个Resource和ResourceLink即可。 三、在eclipse项目的web.xml中配置dataSource

    <resource-ref> <res-ref-name>jdbc/TEST</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>
    最新回复(0)