1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

Fix activemq's pooling dependency

This commit is contained in:
dengchao@xgtl 2020-04-17 17:35:34 +08:00
parent e0b97ecbd5
commit 96a7e6c596
3 changed files with 13 additions and 18 deletions

View File

@ -34,9 +34,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.activemq</groupId> <groupId>org.messaginghub</groupId>
<artifactId>activemq-pool</artifactId> <artifactId>pooled-jms</artifactId>
<!-- <version>5.14.3</version>-->
</dependency> </dependency>
<dependency> <dependency>

View File

@ -12,24 +12,26 @@
package com.chatopera.cc.activemq; package com.chatopera.cc.activemq;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import org.apache.activemq.ScheduledMessage; import org.apache.activemq.ScheduledMessage;
import org.apache.activemq.command.ActiveMQTopic; import org.apache.activemq.command.ActiveMQTopic;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.JmsTemplate;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.util.Map; import java.util.Map;
@Component @Component
@RequiredArgsConstructor
public class BrokerPublisher { public class BrokerPublisher {
final static private Logger logger = LoggerFactory.getLogger(BrokerPublisher.class); final static private Logger logger = LoggerFactory.getLogger(BrokerPublisher.class);
@Autowired @NonNull
private JmsTemplate jmsTemplate; private final JmsTemplate jmsTemplate;
@PostConstruct @PostConstruct
public void setup() { public void setup() {
@ -40,9 +42,7 @@ public class BrokerPublisher {
/** /**
* 时延消息 * 时延消息
* *
* @param destination * @param delay available by delayed seconds
* @param payload
* @param delay available by delayed seconds
*/ */
public void send(final String destination, final String payload, final boolean isTopic, final int delay) { public void send(final String destination, final String payload, final boolean isTopic, final int delay) {
try { 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) { public void send(final String destination, final String payload, boolean isTopic) {
try { try {
if (isTopic) { if (isTopic) {
@ -77,7 +72,7 @@ public class BrokerPublisher {
// 默认为Queue // 默认为Queue
jmsTemplate.convertAndSend(destination, payload); 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) { } catch (Exception e) {
logger.warn("[send] error happens.", e); logger.warn("[send] error happens.", e);
} }
@ -104,4 +99,4 @@ public class BrokerPublisher {
send(destination, obj.toJSONString()); send(destination, obj.toJSONString());
} }
} }

View File

@ -10,6 +10,7 @@
*/ */
package com.chatopera.cc.config; package com.chatopera.cc.config;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms; import org.springframework.jms.annotation.EnableJms;
@ -25,7 +26,7 @@ public class ActiveMQConfigure {
// topic模式的ListenerContainer // topic模式的ListenerContainer
@Bean @Bean
@SuppressWarnings("SpringJavaAutowiringInspection") @SuppressWarnings("SpringJavaAutowiringInspection")
public JmsListenerContainerFactory<?> jmsListenerContainerTopic(ConnectionFactory connectionFactory) { public JmsListenerContainerFactory<?> jmsListenerContainerTopic(@Qualifier("jmsConnectionFactory") ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory); factory.setConnectionFactory(connectionFactory);
factory.setPubSubDomain(true); factory.setPubSubDomain(true);
@ -34,7 +35,7 @@ public class ActiveMQConfigure {
// queue模式的ListenerContainer // queue模式的ListenerContainer
@Bean @Bean
public JmsListenerContainerFactory<?> jmsListenerContainerQueue(ConnectionFactory connectionFactory) { public JmsListenerContainerFactory<?> jmsListenerContainerQueue(@Qualifier("jmsConnectionFactory") ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory();
bean.setConnectionFactory(connectionFactory); bean.setConnectionFactory(connectionFactory);
return bean; return bean;