XXL-JOB使用问题总结

问题一:XXL-JOB的服务器端和用户端版本必须保持一致,不然会报错

问题二: 由于xxl-job使用的一些依赖包与原有项目中的依赖包存在版本冲突造成java.lang.NoClassDefFoundError错误

本人实际遇到问题:

1、报错信息如下,造成该问题原因,由于hessian包版本如项目中其他包存在冲突造成,解决方案,移除xxl-job自带的hessian

添加更低版本的包。

Exception in thread "xxl-job, executor ExecutorRegistryThread" 

java.lang.NoClassDefFoundError: com/caucho/hessian/io/Hessian2Output
	at com.xxl.rpc.serialize.impl.HessianSerializer.serialize

(HessianSerializer.java:21)
	at com.xxl.rpc.remoting.net.impl.netty_http.client.NettyHttpConnectClient.send

(NettyHttpConnectClient.java:101)
	at com.xxl.rpc.remoting.net.common.ConnectClient.asyncSend(ConnectClient.java:45)
	at com.xxl.rpc.remoting.net.impl.netty_http.client.NettyHttpClient.asyncSend

(NettyHttpClient.java:18)
	at com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean$1.invoke

(XxlRpcReferenceBean.java:216)
	at com.sun.proxy.$Proxy206.registry(Unknown Source)
	at com.xxl.job.core.thread.ExecutorRegistryThread$1.run

(ExecutorRegistryThread.java:48)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.caucho.hessian.io.Hessian2Output
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

解决方案代码

	<dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.1.1-RELEASE</version>
            <exclusions>
	            <exclusion>
	                 <groupId>com.caucho</groupId>
		    		 <artifactId>hessian</artifactId>
	            </exclusion>
       		</exclusions>
        </dependency>
        <dependency>
		    <groupId>com.caucho</groupId>
		    <artifactId>hessian</artifactId>
		    <version>4.0.53</version>
		</dependency>

2、报错信息,造成原因netty版本与项目中包冲突,解决方案引入新的包

Exception in thread "xxl-job, executor ExecutorRegistryThread" 

java.lang.NoClassDefFoundError: com/caucho/hessian/io/Hessian2Output
	at com.xxl.rpc.serialize.impl.HessianSerializer.serialize

(HessianSerializer.java:21)
	at com.xxl.rpc.remoting.net.impl.netty_http.client.NettyHttpConnectClient.send

(NettyHttpConnectClient.java:101)
	at com.xxl.rpc.remoting.net.common.ConnectClient.asyncSend(ConnectClient.java:45)
	at com.xxl.rpc.remoting.net.impl.netty_http.client.NettyHttpClient.asyncSend

(NettyHttpClient.java:18)
	at com.xxl.rpc.remoting.invoker.reference.XxlRpcReferenceBean$1.invoke

(XxlRpcReferenceBean.java:216)
	at com.sun.proxy.$Proxy206.registry(Unknown Source)
	at com.xxl.job.core.thread.ExecutorRegistryThread$1.run

(ExecutorRegistryThread.java:48)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.caucho.hessian.io.Hessian2Output
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

解决方案:

        <dependency>
	      <groupId>io.netty</groupId>
	      <artifactId>netty-all</artifactId>
	      <version>4.1.36.Final</version>
	    </dependency>
	    <dependency>
	      <groupId>com.corundumstudio.socketio</groupId>
	      <artifactId>netty-socketio</artifactId>
	      <version>1.7.17</version>
	    </dependency>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值