JNDI+Tomcat配置数据源的两种方式

非全局jndi配置步骤 :此种配置方式不需要在server.xml中配置数据源,而只在tomcat/conf/Catalina/localhost下的启动配置中配置即可。注意红色字体名称必须和相同。

0、需要在tomcat/common/lib下加入数据库连接的jar包

1、web.xml配置

<resource-ref>
     <description>my DB Connection</description>
     <res-ref-name>mydataSource </res-ref-name>  
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>

2、applicationContext.xml下配置

<bean id="dataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/mydataSource " />
</bean>

3、在tomcat的conf下的localhost下的配置如下

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="F:/workspace/cuapp/WebRoot" path="cuapp" reloadable="false">
<Resource name="mydataSource" auth="Container" type="javax.sql.DataSource"
                   url="jdbc:oracle:thin:@192.168.2.104:1521:ora10g"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                password="aa"
                username="aa"
                initialSize="2"
                maxActive="3"
                maxIdle="1"
                minIdle="1"
                maxWait="10000"
                removeAbandoned="true"
                logAbandoned="true"
                removeAbandonedTimeout="60"
                timeBetweenEvictionRunsMillis="900000"
                minEvictableIdleTimeMillis="1800000"
                numTestsPerEvictionRun="100"
                validationQuery="select count(0) from dual"
                poolPreparedStatements="true"
                maxOpenPreparedStatements="100"/>
</Context>

 

全局jndi配置 :此种配置需要在server.xml中配置数据源。

0、需要在tomcat下加入数据库连接的jar包

1、web.xml配置

<resource-ref>
    <description>my DB Connection</description>
    <res-ref-name>mydataSource </res-ref-name>   must be same as server.xml
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

2、applicationContext.xml下配置

<bean id="dataSource"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/mydataSource " />
</bean>

3、server.xml中配置为

<!-- Global JNDI resources -->
 <GlobalNamingResources>
   <!-- Test entry for demonstration purposes -->
   <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
   <!-- Editable user database that can also be used by
        UserDatabaseRealm to authenticate users -->
   <Resource name="UserDatabase" auth="Container"
             type="org.apache.catalina.UserDatabase"
      description="User database that can be updated and saved"
          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
         pathname="conf/tomcat-users.xml" />
   <Resource name="mydataSource" auth="Container" type="javax.sql.DataSource"
                               url="jdbc:oracle:thin:@192.168.2.104:1521:ora10g"
                           driverClassName="oracle.jdbc.driver.OracleDriver"
                           password="aa"
                           username="aa"
                           initialSize="5"
                           maxActive="10"
                           maxIdle="5"
                           minIdle="2"
                           maxWait="10000"
                           removeAbandoned="true"
                           logAbandoned="true"
                           removeAbandonedTimeout="60"
                           timeBetweenEvictionRunsMillis="900000"
                           minEvictableIdleTimeMillis="1800000"
                           numTestsPerEvictionRun="100"
                           validationQuery="select count(0) from dual"
                           poolPreparedStatements="true"
                           maxOpenPreparedStatements="100"/>
 </GlobalNamingResources>

4、tomcat/conf下localhost下的配置如下

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="F:/workspace/cuapp/WebRoot" path="xj-adminportal" reloadable="false">
    <ResourceLink name="mydataSource " global="mydataSource " type="javax.sql.DataSource"/>
</Context>
 
当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。
上一篇:bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)-VMware下三种网络配置方式


下一篇:【转】tomcat下jndi的三种配置方式