需要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