您的位置:首页 > 编程语言 > Java开发

搭建Spring4.1与Spring4.2 websock+stomp+activeMQ需要注意事项:spring4不同版本websocket差异

2016-01-21 19:05 716 查看
上一篇博客我使用的是Spring4.2.4版本搭建的XML风格websocket应用,由于我们项目使用是Spring4.1.4,自然而然地我将下面的依赖加入到我们项目的pom.xml中,结果打出的war包websocket会报错。

<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-net</artifactId>
<version>2.0.7.RELEASE</version>
</dependency>

<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.33.Final</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.4</version>
</dependency>


报错原因是:spring4.2.4版本使用的是reactor-net-2.0.7.RELEASE,但是spring4.1.4版本不能使用这个版本。下面源码是4.1.4版本的,需要reactor.io.encoding.Codec这个类,而这个类在reactor-core-2.0.7.RELEASE中删除了,但是reactor-core-1.1.6.RELEASE中有这个类。







可以看到reactor 1.x 和2.x差异还是很大的,解决方案就很简单了:使用1.x版本的reactor即可。

<dependency>
<groupId>org.projectreactor</groupId>
<artifactId>reactor-net</artifactId>
<version>1.1.6.RELEASE</version>
</dependency>

<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.0.33.Final</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.4</version>
</dependency>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息