正式生产环境下,大部分调用EJB的客户端所在的服务器都为独立的tomcat或resin,如何在独立的tomcat服务器中调用jboss中的ejb ,在独立的tomcat中调用EJB需要:
1.根据应用的需要,把调用EJB所依赖的JAR包拷贝到tomcat下的/shared/lib目录或web应用的web-inf/lib下,所依赖的jar一般在jboss安装目录的client,/server/all/deploy/jboss-aop-jdk50.deployer,/server/all/deploy/ejb3.deployer,/lib/endorsed等文件夹下.
下面的jar文件是必需的
jboss安装目录/client/
jbossall-client.jar
jboss-remoting.jar
jboss-aop-jdk50-client.jar
jboss-aspect-jdk50-client.jar
jboss-ejb3-client.jar
jboss-ejb3x.jar
jboss-annotations-ejb3.jar
2.把调用的ejb接口拷贝到应用的/web-inf/classes/目录下
在此环境下不能调用ejb的local接口,因为他与jboss不在同一VM中
有些调用ejb的web应用直接发布在jboss下,jboss下发布web应用,需要把web应用打包成war文件,在此环境下调用ejb不需要把ejb的接口类放入/web-inf/classes/目录中,否则调用stateful bean应会发生类型冲突 classcastexception