weblogic spring jndi配置

1在spring配置文件applicationContext.xml添加如下代码,注释掉原有JDBC数据源(如果有的话):
//连接本地weblogic JNDI数据源
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
   <!--启动环境为weblogic下 -->
    <property name="jndiName">
	<value>jdbc/cdcrip</value>
    </property>

   <!--启动环境为tomcat下 -->
    <property name="jndiName">
	<value>java:comp/env/jdbc/cdcrip</value>
    </property>
</bean>

2在spring配置远程JNDI时需要如下步骤:
jar:添加jrmpclient.jar否者会启动时会抛异常(不能找到相应的类)
rmi:启动报java.rmi.ConnectException: Connection refused to host:远程IP时需配置服务器端相应操作如下:
在linux上运行了hostname -i命令   
显示:127.0.0.1 (如果没有显示,则事先没有配置本地hostname)
于是vi /etc/hosts   
修改或新增为192.168.40.222    
另外在weblogic启动脚本上添加:   
-Djava.rmi.server.hostname=192.168.40.222

//连接调用远程weblogic JNDI数据源
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
    <property name="jndiName">
	<value>jdbc/cdcrip</value>
    </property>
	<!--必须配置jndiEnvironment,否者spring无法找到JNDI连接数据源 -->
    <property name="jndiEnvironment">
	<props>
		<!-- The value of Context.PROVIDER_URL -->
		<prop key="java.naming.provider.url">t3://远程IP:7001</prop>
		<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
		<prop key="java.naming.security.principal">weblogic</prop>
            	<prop key="java.naming.security.credentials">weblogic</prop>
	 </props>
     </property>
</bean>

猜你喜欢

转载自zzy603.iteye.com/blog/1039826