Dubbo:关于与高版本的Spring集成的事情
2015-12-03 10:15
148 查看
使用Dubbo时,因为要与4.x版本的Spring,所以,我们需要做如下修改。
一,与4.x版本的Spring共存
首先需要排除掉dubbo自带的2.5的Spring,所以我使用下面这个配置,前面都是正常的引用Spring 4.1.6.RELEASE。
二,打包成本地APP
需要使用Shade这个插件来打包,POM配置如下,其中最关键是那两个transformer,保证将spring.handlers和spring.schemas文件能合并起来,否则执行时会报找不到dubbo:application错误,或者说无法处理dubbo:application错,都是因为在缺省的打包模式下,META-INF目录下同名文件是只取第一个,而不会多个合并起来,导致找不到dubbo.xsd以及对应的handler类:
一,与4.x版本的Spring共存
首先需要排除掉dubbo自带的2.5的Spring,所以我使用下面这个配置,前面都是正常的引用Spring 4.1.6.RELEASE。
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <artifactId>netty</artifactId> <groupId>org.jboss.netty</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency>
二,打包成本地APP
需要使用Shade这个插件来打包,POM配置如下,其中最关键是那两个transformer,保证将spring.handlers和spring.schemas文件能合并起来,否则执行时会报找不到dubbo:application错误,或者说无法处理dubbo:application错,都是因为在缺省的打包模式下,META-INF目录下同名文件是只取第一个,而不会多个合并起来,导致找不到dubbo.xsd以及对应的handler类:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.2</version> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <manifestEntries> <Main-Class>cn.chinaunicom.woplus.analysis.MongoStatisticServer.App</Main-Class> <X-Compile-Source-JDK>1.7</X-Compile-Source-JDK> <X-Compile-Target-JDK>1.7</X-Compile-Target-JDK> </manifestEntries> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> </transformers> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin>
相关文章推荐
- 【JAVA核心技术卷一】Exception异常
- java 水仙花数 提升档次解法
- java wait()和notify()的介绍
- java电话号码正则表达式
- JRE与JDK的区别
- java中synchronized用法
- 从头认识java-11.5 扫描输入(1)-简介
- 使用eclipse远程调试weblogic
- JFreeChart的使用(web中照片,jmf,spring)
- SpringMVC如何返回字符串到前端用js获取
- 比较全面的Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……) Eclipse编辑器基本设置 1、添加行号 在边缘处右
- java 注解的几大作用及使用方法详解
- SpringMVC jdbctemplate实现底层架构封装
- Java中可变长参数的使用及注意事项
- Eclipse安装Hibernate
- 10022---eclipse代码注释的设置
- javaEE项目建立多个数据源并配置事务
- logback logback.xml常用配置详解(三) <filter>
- Java 插入排序(Insertion Sort)
- Java8中新增加的集合类