From 96a7e6c5964ffdab6b7a2651ce213bc79ce705a1 Mon Sep 17 00:00:00 2001
From: "dengchao@xgtl" <2325690622@qq.com>
Date: Fri, 17 Apr 2020 17:35:34 +0800
Subject: [PATCH] Fix activemq's pooling dependency
---
contact-center/app/pom.xml | 5 ++---
.../cc/activemq/BrokerPublisher.java | 21 +++++++------------
.../cc/config/ActiveMQConfigure.java | 5 +++--
3 files changed, 13 insertions(+), 18 deletions(-)
diff --git a/contact-center/app/pom.xml b/contact-center/app/pom.xml
index f791962f..4b8e5216 100644
--- a/contact-center/app/pom.xml
+++ b/contact-center/app/pom.xml
@@ -34,9 +34,8 @@
- org.apache.activemq
- activemq-pool
-
+ org.messaginghub
+ pooled-jms
diff --git a/contact-center/app/src/main/java/com/chatopera/cc/activemq/BrokerPublisher.java b/contact-center/app/src/main/java/com/chatopera/cc/activemq/BrokerPublisher.java
index 928e2a47..f72b8dbf 100644
--- a/contact-center/app/src/main/java/com/chatopera/cc/activemq/BrokerPublisher.java
+++ b/contact-center/app/src/main/java/com/chatopera/cc/activemq/BrokerPublisher.java
@@ -12,24 +12,26 @@
package com.chatopera.cc.activemq;
import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
import org.apache.activemq.ScheduledMessage;
import org.apache.activemq.command.ActiveMQTopic;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
+import org.springframework.lang.NonNull;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.Map;
@Component
+@RequiredArgsConstructor
public class BrokerPublisher {
final static private Logger logger = LoggerFactory.getLogger(BrokerPublisher.class);
- @Autowired
- private JmsTemplate jmsTemplate;
+ @NonNull
+ private final JmsTemplate jmsTemplate;
@PostConstruct
public void setup() {
@@ -40,9 +42,7 @@ public class BrokerPublisher {
/**
* 时延消息
*
- * @param destination
- * @param payload
- * @param delay available by delayed seconds
+ * @param delay available by delayed seconds
*/
public void send(final String destination, final String payload, final boolean isTopic, final int delay) {
try {
@@ -64,11 +64,6 @@ public class BrokerPublisher {
}
}
- /**
- * @param destination
- * @param payload
- * @param isTopic
- */
public void send(final String destination, final String payload, boolean isTopic) {
try {
if (isTopic) {
@@ -77,7 +72,7 @@ public class BrokerPublisher {
// 默认为Queue
jmsTemplate.convertAndSend(destination, payload);
}
- logger.debug("[send] send succ, dest {}, payload {}", destination, payload);
+ logger.debug("[send] send success, dest {}, payload {}", destination, payload);
} catch (Exception e) {
logger.warn("[send] error happens.", e);
}
@@ -104,4 +99,4 @@ public class BrokerPublisher {
send(destination, obj.toJSONString());
}
-}
\ No newline at end of file
+}
diff --git a/contact-center/app/src/main/java/com/chatopera/cc/config/ActiveMQConfigure.java b/contact-center/app/src/main/java/com/chatopera/cc/config/ActiveMQConfigure.java
index 02236ec2..c01e12c7 100644
--- a/contact-center/app/src/main/java/com/chatopera/cc/config/ActiveMQConfigure.java
+++ b/contact-center/app/src/main/java/com/chatopera/cc/config/ActiveMQConfigure.java
@@ -10,6 +10,7 @@
*/
package com.chatopera.cc.config;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;
@@ -25,7 +26,7 @@ public class ActiveMQConfigure {
// topic模式的ListenerContainer
@Bean
@SuppressWarnings("SpringJavaAutowiringInspection")
- public JmsListenerContainerFactory> jmsListenerContainerTopic(ConnectionFactory connectionFactory) {
+ public JmsListenerContainerFactory> jmsListenerContainerTopic(@Qualifier("jmsConnectionFactory") ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setPubSubDomain(true);
@@ -34,7 +35,7 @@ public class ActiveMQConfigure {
// queue模式的ListenerContainer
@Bean
- public JmsListenerContainerFactory> jmsListenerContainerQueue(ConnectionFactory connectionFactory) {
+ public JmsListenerContainerFactory> jmsListenerContainerQueue(@Qualifier("jmsConnectionFactory") ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory();
bean.setConnectionFactory(connectionFactory);
return bean;