解决:AMQ应用部署到weblogic服务器上出现“找不到匹配的方法setLifo"

本文详细阐述了在WebLogic环境中部署AMQ应用时遇到的找不到匹配的方法setLifo错误,原因在于WebLogic与AMQ分别使用了不同版本的Apache Commons Lang包。为了解决此问题,提出了通过修改weblogic.xml配置文件优先加载特定包的位置,以及从AMQ的依赖中排除冲突的Commons Lang包等调整措施,从而确保应用能够正常运行。

基本环境:

spring 3.1.0

amp 5.9.x

weblogic 10.3.5

jdk 1.6.x

linux 2.6


在将APP部署到weblogic上时,无法启动,提示”找不到匹配的方法setLifo“。

原因是weblogic与amp都用到了apache commons lang包,且依赖的版本号不同,存在兼容问题。

其中,amq依赖commons-lang包只是在组件console中输出日志,其他组件输出的日志我们还是可以依赖log4j或logback来输出到我们制定的目录和文件上。

因此,我们可以做如下调整,让APP跑起来:

1、修改weblogic.xml优先加载jar包位置:

<?xml version="1.0"?>
<weblogic-web-app>
	<container-descriptor>  
        <prefer-application-packages>
        	<package-name>org.apache.*</package-name>
        </prefer-application-packages>  
    </container-descriptor>  
	<session-descriptor>
		<!-- 避免多个应用部署到同一台weblogic时, session cookie相互覆盖 -->
		<cookie-name>JSESSIONID_XXX_WEB</cookie-name>
	</session-descriptor>
</weblogic-web-app>

2、从maven amq-console的依赖中将commons-lang包排除:

<dependency>
           <groupId>org.apache.activemq</groupId>
			<artifactId>activemq-console</artifactId>
			<exclusions>
				<exclusion>
					<artifactId>commons-lang</artifactId>
					<groupId>commons-lang</groupId>
				</exclusion>
			</exclusions>
       </dependency>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值