1在spring配置文件applicationContext.xml添加如下代码,注释掉原有JDBC数据源(如果有的话):
//连接本地weblogic JNDI数据源
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数据源
//连接本地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>