Tomcat配置JNDI数据源的方式及使用

Tomcat配置JNDI数据源的方式

1、单个应用使用
Tomcat下的conf/server.xml文件中的<Host>标签中:
<Context docBase="WebApp" path="/<span style="color:#ff0000;">WebApp</span>" reloadable="true" source="org.eclipse.jst.jee.server:WebApp">  
<Resource  
    name="<span style="color:#009900;">jdbc/mysql</span>"   
    scope="Shareable"   
    type="javax.sql.DataSource"  
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"  
    url="jdbc:mysql://localhost:3306/test"  
    driverClassName ="com.mysql.jdbc.Driver"  
    username="root"  
    password="root"  
/>  
</Context> 
上述配置中红色字体的为项目的名称;绿色部分为JNDI数据源的名称。
工程的配置文件:
ds_jndi=java\:comp/env/jdbc/mysql
在java代码中可以通过读取配置文件得到ds_jndi的值,然后通过如下代码获得数据源。:
DataSource ds = (DataSource) ctx.lookup(ds_jndi);
2、配置全局的JNDI数据源,应用到单个应用
Tomcat下的conf/server.xml文件中的<GlobalNamingResources>标签中添加数据源:
<Resource  
    name="<span style="color:#009900;">jdbc/mysql</span>"   
    scope="Shareable"   
    type="javax.sql.DataSource"  
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"  
    url="jdbc:mysql://localhost:3306/test"  
    driverClassName ="com.mysql.jdbc.Driver"  
    username="root"  
    password="root"  
/>
再在<HOST>标签中添加:
<Context docBase="WebApp" path="<span style="color:#ff0000;">/WebApp</span>" reloadable="true">  
    <ResourceLink global="jdbc/mysql" name="<span style="color:#009900;">jdbc/mysql</span>" type="javax.sql.DataSource" />  
</Context> 
3、配置全局JNDI数据源,应用到所有Tomcat下部署的应用
参考第二种配置数据源之后,再在Tomcat的conf/context.xml文件中添加
<Context>  
    <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource" />  
   <WatchedResource>WEB-INF/web.xml</WatchedResource>  
<Context>

Tomcat配置JNDI数据源配合Spring使用

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <value>java:comp/env/jdbc/mysql</value>
        </property>
</bean>
或Spring2.0之后可以使用
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/mysql/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值