JBoss 4.2.3应用作为客户端调用WEBLOGIC 10.3EJB的问题及解决办法

前两天为解决同事一直没有解决的在JBoss上部署遇到的问题,分享如下:

 

对应的应用是一个企业web应用,需要部署在JBoss 4.2.3 GA上,该应用采用了Struts2访问EJB业务服务的方式,EJB业务服务部署在另外一台Weblogic 10.3服务器上。

 

 

在JBoss上部署一般的SSH问题时,我们遇到两个问题:

1、类冲突问题,应用说使用的hibernate版本更高,与JBoss的冲突。

2、远程调用Weblogic EJB的问题。

 

第一个问题解决比较简单,只要删除jboss-4.2.3.GA\server\default\lib下的四个文件:hibernate3.jar,hibernate-entitymanager.jar,hibernate-annotations.jar,ejb3-persistence.jar即可。这样以后各个应用自己部署自己说是用版本的hibernate即可。

有的人采用替代的方法,我不建议,这样为以后部署其他应用也带来同样的问题。

 

第二个问题涉及到Weblogic EJB Client调用说需要的基础包问题。从网上找到一些帖子,说自需要wlclient.jar和EJB stub类即可,但根本不行。

 

后来采用jarbuilder生成一个Weblogic EJB Client Jar文件wlfullclient.jar,又报servlet冲突错误。

折腾一番,后,打开wlfullclient.jar,将包内的javax.servlet包删除。搞掂!

 

 

生成wlfullclient.jar的过程如下:

 

在C:\bea\wlserver_10.3\server\lib目录中执行:
java -jar ../../../modules/com.bea.core.jarbuilder_1.2.0.0.jar
在执行上面的命令后,将在E:\bea\wlserver_10.3\server\lib目录生成一个wlfullclient.jar文件

如果是其他版本,需要将1.2.0.0替换为对应的版本好。

 

网上还有另外一种方式生成wlfullclient.jar,没有验证过,有验证通过的兄弟请回个贴:

 

生成JDK1.6的client:

cd WL_HOME/server/lib

java -jar wljarbuilder.jar

 

生成JDK1.5的client:

java -jar wljarbuilder.jar -profile wlfullclient5

 

 

如果要将weblogic client集成到MAVEN中,参考:

http://mohanrajk.wordpress.com/2009/03/02/weblogic-103-and-maven-integration/

 

你可能感兴趣的:(应用服务器,Hibernate,jboss,weblogic,企业应用)