今天花了点时间,把dubbox依赖的spring从3.x升级成最新版的4.x了,其它一些依赖的组件也顺带升级了,同时dubbo支持的第三方日志组件居然没有log4j2,加了点代码也一并支持了,蛋疼的是依赖的zkclient,这个项目太不讲究了,里面N多代码硬编码写死依赖log4j,于是把这个项目也改了下,全部改成依赖slf4j了,方便以后更换其它兼容slf4j-api的日志组件。
1、zkclient的修改版本,已提交至https://github.com/yjmyzz/zkclient (版本号已更新为0.8.1)
2、dubbox的修改版本,已提交至https://github.com/yjmyzz/dubbox (版本号已经更新为2.8.4a)
并没有提交到maven中央仓库,需要的同学自行fork代码,本机编译
(注:如果只是使用,不需要看源码,直接https://github.com/yjmyzz/dubbox/releases/tag/2.8.4a 这里下载即可)
使用时,参考如下配置:(以gradle项目为例)
service-provider/service-consumer的build.gradle:
dependencies { ... compile('org.springframework:spring-context:4.2.4.RELEASE') { exclude(module: 'commons-logging') } compile ('com.alibaba:dubbo:2.8.4a'){ exclude(module: 'log4j') exclude(module: 'logback-classic') exclude(module: 'slf4j-log4j12') } ... compile ('org.apache.zookeeper:zookeeper:3.4.6'){ exclude(module: 'log4j') exclude(module: 'slf4j-log4j12') } compile 'org.apache.logging.log4j:log4j-slf4j-impl:2.5' compile 'org.apache.logging.log4j:log4j-core:2.5' }