Tomcat/Glassfish 远程调用部署在glassfish上的EJB
.用正常的流程部署远程Glassfish上的EJB.
2.在你的Web项目中,修改spring的配置,添加 <jee:environment>修改如下
<jee:remote-slsbid="appMessageService"
business-interface="com.argushealth.appmessage.service.AppMessageService"
jndi-name="com.argushealth.appmessage.service.AppMessageService"
home-interface="com.argushealth.appmessage.service.AppMessageService"
refresh-home-on-connect-failure="true" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
org.omg.CORBA.ORBInitialHost 为远程服务器的地址。
如果是glassfish远程调用glassfish的EJB,这样就已经可以了。
注:如果是web项目,请直接部署到glassfish, 如果打成EAR发布会出错的。
3.如果是Tomcat 调用远程glassfish,还必须引入glassfish的jar,已经有人总结了需要的jar.
需要引入的jar地址: \\172.16.5.10\Argus\Benefit\glassfishJar
这样在tomcat上也可以了。
已经部署的EJB附录:
appmessage-ejb:
<jee:remote-slsb id="appMessageService"
business-interface="com.argushealth.appmessage.service.AppMessageService"
jndi-name="com.argushealth.appmessage.service.AppMessageService"
home-interface="com.argushealth.appmessage.service.AppMessageService"
refresh-home-on-connect-failure="true">
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
customerset-ejb
<jee:remote-slsb id="customerSetService"
business-interface="com.argushealth.customerset.service.CustomerSetService"
jndi-name="com.argushealth.customerset.service.CustomerSetService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.customerset.service.CustomerSetService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
rework-ejb:
<jee:remote-slsb id="reworkRequestDefaultService"
business-interface="com.argushealth.rework.service.ReworkRequestDefaultService"
jndi-name="com.argushealth.rework.service.ReworkRequestDefaultService"
home-interface="com.argushealth.rework.service.ReworkRequestDefaultService"
refresh-home-on-connect-failure="true">
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="requestService"
business-interface="com.argushealth.rework.service.ReworkRequestService"
jndi-name="com.argushealth.rework.service.ReworkRequestService"
home-interface="com.argushealth.rework.service.ReworkRequestService"
refresh-home-on-connect-failure="true">
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="queueService"
business-interface="com.argushealth.rework.queue.service.ReworkQueueService"
jndi-name="com.argushealth.rework.queue.service.ReworkQueueService"
home-interface="com.argushealth.rework.queue.service.ReworkQueueService"
refresh-home-on-connect-failure="true">
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="reworkUploadService"
business-interface="com.argushealth.rework.fileupload.service.ReworkUploadService"
jndi-name="com.argushealth.rework.fileupload.service.ReworkUploadService"
home-interface="com.argushealth.rework.fileupload.service.ReworkUploadService"
refresh-home-on-connect-failure="true">
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
map-encryption-ejb:
<jee:remote-slsb id="mapEncryptionService"
business-interface="com.argushealth.enterprise.security.MapEncryptionService"
jndi-name="com.argushealth.enterprise.security.MapEncryptionService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.MapEncryptionService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="legacyMapEncryptionServiceBean"
business-interface="com.argushealth.enterprise.security.LegacyMapEncryptionServiceBean"
jndi-name="com.argushealth.enterprise.security.LegacyMapEncryptionServiceBean"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.LegacyMapEncryptionServiceBean" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
nonce-ejb:
<jee:remote-slsb id="nonceService"
business-interface="com.argushealth.enterprise.security.nonce.service.NonceService"
jndi-name="com.argushealth.enterprise.security.nonce.service.NonceService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.nonce.service.NonceService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
security-maintenance-ejb:
<jee:remote-slsb id="emailUserService"
business-interface="com.argushealth.enterprise.security.service.EmailUserService"
jndi-name="com.argushealth.enterprise.security.service.EmailUserService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.EmailUserService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="domainObjectService"
business-interface="com.argushealth.enterprise.security.service.DomainObjectService"
jndi-name="com.argushealth.enterprise.security.service.DomainObjectService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.DomainObjectService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="instanceService"
business-interface="com.argushealth.enterprise.security.service.InstanceService"
jndi-name="com.argushealth.enterprise.security.service.InstanceService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.InstanceService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="permissionService"
business-interface="com.argushealth.enterprise.security.service.PermissionService"
jndi-name="com.argushealth.enterprise.security.service.PermissionService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.PermissionService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="roleService"
business-interface="com.argushealth.enterprise.security.service.RoleService"
jndi-name="com.argushealth.enterprise.security.service.RoleService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.RoleService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="jobFunctionService"
business-interface="com.argushealth.enterprise.security.service.JobFunctionService"
jndi-name="com.argushealth.enterprise.security.service.JobFunctionService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.JobFunctionService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>
<jee:remote-slsb id="userService"
business-interface="com.argushealth.enterprise.security.service.UserService"
jndi-name="com.argushealth.enterprise.security.service.UserService"
refresh-home-on-connect-failure="true"
home-interface="com.argushealth.enterprise.security.service.UserService" >
<jee:environment>
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
org.omg.CORBA.ORBInitialHost=172.16.4.81
org.omg.CORBA.ORBInitialPort=3700</jee:environment>
</jee:remote-slsb>