对于一些遗留项目,实现EJB的远程调用是很有必要的,这里就简单介绍一下Spring中的配置和调用方式,从中可以感受到Spring可插拔配置业务方法的强大功能.
首先在spring的配置文件中配置如下:
<bean id="jndiTemplate"
class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.provider.url">
t3://192.168.122.210:7001(websphere:iiop://177.120.122.115:2809)
</prop>
<prop key="java.naming.factory.initial">
weblogic.jndi.WLInitialContextFactory(websphere:com.ibm.websphere.naming.WsnInitialContextFactory)
</prop>
</props>
</property>
</bean>
<bean id="remoteInterface"
class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean" lazy-init="true">
<property name="jndiTemplate">
<ref local="jndiTemplate" />
</property>
<property name="jndiName">
<value>tmpBean</value>
</property>
<property name="businessInterface">
<value>com.testEjbRemote</value>此处为保存在本机的EJB接口文件
</property>
</bean>
然后这样调用:
com.testEjbRemote rpc = (testEjbRemote)SpringContext.getBean("remoteInterface");
然后就可以用rpc就像调用本机方法一样调用了.
需要将EJB的远程接口文件拷到本服务器的lib
首先在spring的配置文件中配置如下:
<bean id="jndiTemplate"
class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.provider.url">
t3://192.168.122.210:7001(websphere:iiop://177.120.122.115:2809)
</prop>
<prop key="java.naming.factory.initial">
weblogic.jndi.WLInitialContextFactory(websphere:com.ibm.websphere.naming.WsnInitialContextFactory)
</prop>
</props>
</property>
</bean>
<bean id="remoteInterface"
class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean" lazy-init="true">
<property name="jndiTemplate">
<ref local="jndiTemplate" />
</property>
<property name="jndiName">
<value>tmpBean</value>
</property>
<property name="businessInterface">
<value>com.testEjbRemote</value>此处为保存在本机的EJB接口文件
</property>
</bean>
然后这样调用:
com.testEjbRemote rpc = (testEjbRemote)SpringContext.getBean("remoteInterface");
然后就可以用rpc就像调用本机方法一样调用了.
需要将EJB的远程接口文件拷到本服务器的lib