java和spring使用weblogic数据源配置

需要weblogic.jar和jrmpclient.jar


weblogicjndi.properties
jndiName=DataSource
jndiUrl=t3://192.168.1.10:7001
jndiInitial=weblogic.jndi.WLInitialContextFactory



applicationContext.xml
<bean id="dataSource" 
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>${jndiName}</value>
</property>
<property name="resourceRef"> 
     <value>true</value>
</property>
<property name="jndiEnviroment">
<props>
<prop key="java.naming.provider.url">${jndiUrl}</prop>
<prop key="java.naming.factory.initial">${jndiInitial}</prop>
</props>
</property>
</bean>



java中使用:
javax.naming.InitialContext ic = new javax.naming.InitialContext();
weblogic.jdbc.common.internal.RmiDataSource dataSource = 
(weblogic.jdbc.common.internal.RmiDataSource)ic.lookup("DataSource");
Connection conn = dataSource.getConnection();
conn.setAutoCommit(false);



上述方案需要在webproject中加入weblogic.jar,比较麻烦,下面介绍不不要新增jar包的方案:
首先在web.xml文件中加入如下代码(这种方案必须是 J2EE 2.5以上的版本):
<resource-ref>
  <description>The default DS</description>
  <res-ref-name>jdbc/shihuanDS</res-ref-name> 
  <res-auth>Container</res-auth> 
  <res-type>javax.sql.DataSource</res-type>
  <mapped-name>DataSource</mapped-name> <!-- 这个必须和你的全局JNDI数据源名称一样 -->  
</resource-ref>


这一步同上applicationContext.xml
<bean id="dataSource" 
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>${jndiName}</value>
</property>
<property name="resourceRef"> 
     <value>true</value>
</property>
<property name="jndiEnviroment">
<props>
<prop key="java.naming.provider.url">${jndiUrl}</prop>
<prop key="java.naming.factory.initial">${jndiInitial}</prop>
</props>
</property>
</bean>


java中使用:
javax.naming.InitialContext ic = new javax.naming.InitialContext();
javax.sql.DataSource dataSource = 
(javax.sql.DataSource)ic.lookup("java:comp/env/jdbc/shihuanDS");
Connection conn = dataSource.getConnection();
conn.setAutoCommit(false);



http://f543711700.iteye.com/blog/1173618

猜你喜欢

转载自shihuan830619.iteye.com/blog/2130288