通过spring集成将Rabbitmq连接到IBM MQ
我们正在尝试将RabbitMQ与我们的系统应用程序(实际上是MQSeries)集成。 一些应用程序不会升级代理(MQSeries=>RabbitMQ),因此我们必须将消息从RMQ传输到MQSeries 使用配置文件(入站amqp RMQ=>出站jms MQ)传输消息:150条消息/秒。 在两个mq服务器之间有一个mq通道(mq=>mq),大约为12500 msg/秒 两个问题:通过spring集成将Rabbitmq连接到IBM MQ,rabbitmq,spring-integration,Rabbitmq,Spring Integration,我们正在尝试将RabbitMQ与我们的系统应用程序(实际上是MQSeries)集成。 一些应用程序不会升级代理(MQSeries=>RabbitMQ),因此我们必须将消息从RMQ传输到MQSeries 使用配置文件(入站amqp RMQ=>出站jms MQ)传输消息:150条消息/秒。 在两个mq服务器之间有一个mq通道(mq=>mq),大约为12500 msg/秒 两个问题: 你有没有优化转让的建议?出站通道上的配置(如在MQ上打开会话) 在pom.xml和配置文件中的xsd中使用哪个版本来
- 你有没有优化转让的建议?出站通道上的配置(如在MQ上打开会话)
- 在pom.xml和配置文件中的xsd中使用哪个版本来使用最新版本的组件(例如spring amqp 2.0.0,没有冲突)
pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<properties>
<jms.version>2.0.1</jms.version>
<mqseries.version>8.0.0.3</mqseries.version>
<spring.amqp.version>1.7.4.RELEASE</spring.amqp.version>
<spring.version>4.3.12.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>${jms.version}</version>
</dependency>
<!-- ******* -->
<!-- mq -->
<!-- ******* -->
<dependency>
<groupId>com.ibm</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>${mqseries.version}</version>
</dependency>
<!-- ******************* -->
<!-- Spring dependencies -->
<!-- ******************* -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- but exclude commons-logging as we're using jcl-over-slf4j -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Integration avec MqSeries -->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-file</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-amqp</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- AMQP spring dependencies -->
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
<version>${spring.amqp.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>${spring.amqp.version}</version>
</dependency>
</dependencies>
</project>
2.0.1
8.0.0.3
1.7.4.1发布
4.3.12.1发布
javax.jms
jms
1.1
javax.jms
javax.jms-api
${jms.version}
com.ibm
com.ibm.mq.allclient
${mqseries.version}
org.springframework
春季甲虫
${spring.version}
org.springframework
spring上下文
${spring.version}
org.springframework
春季aop
${spring.version}
org.springframework
德克萨斯州春季
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
弹簧芯
${spring.version}
公用记录
公用记录
org.springframework.integration
spring集成核心
${spring.version}
org.springframework.integration
spring集成文件
${spring.version}
org.springframework.integration
spring集成amqp
${spring.version}
org.springframework.integration
spring集成jms
${spring.version}
org.springframework.amqp
春季amqp
${spring.amqp.version}
org.springframework.amqp
春兔
${spring.amqp.version}
您应该将MQConnectionFactory
包装在CachingConnectionFactory
中,以避免为每个发送操作创建新的连接和会话
Spring AMQP 2.0.0需要Spring Framework 5.0.0或更高版本(当前为5.0.1)。与CachingConnectionFactory:700msg/s;-)对于pom.xml 2.0.0.RELEASE 5.0.0.RELEASE中的版本,我们为groupid“org.springframework.integration”4.3.12.RELEASE添加了一个新的道具,因为:spring integration core:jar:5.0.0.RC1或spring integration core:jar:5.0.0.RELEASE在版本4.3.12中丢失。RELEASE出现错误:无效;嵌套异常为org.xml.sax.saxpasseeption;'兔子:找不到连接工厂你有什么想法吗?不要把XML放在注释中;它很难读懂;改为编辑问题,并评论您已这样做。SpringIntegration5.0将在几周内发布;现在,发布候选版本在Spring milestone repo中可用。5.0.0.RC1。如果您使用的是AMQP<2.0.0,则应增加入站适配器上的
预取
(已从2.0.0中的旧默认值(1)增加)。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<properties>
<jms.version>2.0.1</jms.version>
<mqseries.version>8.0.0.3</mqseries.version>
<spring.amqp.version>1.7.4.RELEASE</spring.amqp.version>
<spring.version>4.3.12.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>${jms.version}</version>
</dependency>
<!-- ******* -->
<!-- mq -->
<!-- ******* -->
<dependency>
<groupId>com.ibm</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>${mqseries.version}</version>
</dependency>
<!-- ******************* -->
<!-- Spring dependencies -->
<!-- ******************* -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- but exclude commons-logging as we're using jcl-over-slf4j -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Integration avec MqSeries -->
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-file</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-amqp</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-jms</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- AMQP spring dependencies -->
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
<version>${spring.amqp.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>${spring.amqp.version}</version>
</dependency>
</dependencies>
</project>