Commit 3a12cd37 by lili

mq 修改

parent 7a5bb907
package com.pcloud.book; package com.pcloud.book;
import java.util.ArrayList; import com.alibaba.druid.pool.DruidDataSource;
import com.pcloud.book.mq.config.MQTopicConumer;
import javax.sql.DataSource; import com.pcloud.common.core.constant.MQTopicProducer;
import com.pcloud.common.core.mq.RabbitMQFactory;
import feign.Request;
import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.activemq.ActiveMQConnectionFactory;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.Queue;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
...@@ -17,10 +20,6 @@ import org.springframework.context.annotation.ComponentScan; ...@@ -17,10 +20,6 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources; import org.springframework.context.annotation.PropertySources;
import com.alibaba.druid.pool.DruidDataSource;
import feign.Request;
import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.builders.RequestHandlerSelectors;
...@@ -29,6 +28,9 @@ import springfox.documentation.spi.DocumentationType; ...@@ -29,6 +28,9 @@ import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import javax.sql.DataSource;
import java.util.ArrayList;
@SpringBootApplication @SpringBootApplication
@EnableAutoConfiguration @EnableAutoConfiguration
@ComponentScan("com.pcloud") @ComponentScan("com.pcloud")
...@@ -77,48 +79,18 @@ public class BookApplication { ...@@ -77,48 +79,18 @@ public class BookApplication {
activeMQConnectionFactory.setTrustAllPackages(true); activeMQConnectionFactory.setTrustAllPackages(true);
return activeMQConnectionFactory; return activeMQConnectionFactory;
} }
// @Bean
// @Autowired
// public CachingConnectionFactory catchingConnectionFactory(ActiveMQConnectionFactory activeMQConnectionFactory){
// CachingConnectionFactory catchingConnectionFactory = new CachingConnectionFactory(activeMQConnectionFactory);
// return catchingConnectionFactory;
// }
/*@Bean
@Autowired
public ActiveMQQueue activeMQQueue(CachingConnectionFactory catchingConnectionFactory){
ActiveMQQueue templateQueue = new ActiveMQQueue("template");
return templateQueue;
}
@Bean @Bean
public JmsTemplate jmsTemplate(@Autowired CachingConnectionFactory catchingConnectionFactory, @Autowired ActiveMQQueue templateQueue){ public Queue chooseDefaultChannelQueue(){
JmsTemplate jmsTemplateTemplate = new JmsTemplate(); return RabbitMQFactory.queueBuilder(MQTopicConumer.CHOOSE_DEFAULT_CHANNEL);
jmsTemplateTemplate.setDefaultDestination(templateQueue);
jmsTemplateTemplate.setConnectionFactory(catchingConnectionFactory);
jmsTemplateTemplate.setReceiveTimeout(10000);
return jmsTemplateTemplate;
}*/
/*
@Bean
public TemplateMessageListener templateMessageListener(){
TemplateMessageListener templateMessageListener = new TemplateMessageListener();
return templateMessageListener;
} }
@Bean @Bean
public DefaultMessageListenerContainer messageListenerContainer(@Autowired CachingConnectionFactory catchingConnectionFactory, @Autowired ActiveMQQueue templateQueue, @Autowired TemplateMessageListener templateMessageListener){ public Binding chooseDefaultChannelBind(){
DefaultMessageListenerContainer messageListenerContainer = new DefaultMessageListenerContainer(); return RabbitMQFactory.bindingExchange(chooseDefaultChannelQueue(), MQTopicProducer.CHOOSE_DEFAULT_CHANNEL);
messageListenerContainer.setConnectionFactory(catchingConnectionFactory);
messageListenerContainer.setMessageListener(templateMessageListener);
messageListenerContainer.setDestination(templateQueue);
messageListenerContainer.setSessionTransacted(true);
messageListenerContainer.setConcurrency("1");
return messageListenerContainer;
} }
*/
//调用超时设置 //调用超时设置
@Bean @Bean
Request.Options feignOptions() { Request.Options feignOptions() {
......
...@@ -51,9 +51,6 @@ public class MqConfig implements ApplicationListener<ContextRefreshedEvent> { ...@@ -51,9 +51,6 @@ public class MqConfig implements ApplicationListener<ContextRefreshedEvent> {
private RegisterPartyListener registerPartyListener; // 注册当事人Topic监听 private RegisterPartyListener registerPartyListener; // 注册当事人Topic监听
private static MessageProducer bookThawProducer; // 书籍解冻消息生产者 private static MessageProducer bookThawProducer; // 书籍解冻消息生产者
@Autowired
private ChooseDefaultChannelListener chooseDefaultChannelListener; // 注册当事人Topic监听
private Boolean bool = false; private Boolean bool = false;
/** /**
...@@ -77,7 +74,6 @@ public class MqConfig implements ApplicationListener<ContextRefreshedEvent> { ...@@ -77,7 +74,6 @@ public class MqConfig implements ApplicationListener<ContextRefreshedEvent> {
bookThawProducer = this.createProducer(BookProps.getBookThawProducer()); bookThawProducer = this.createProducer(BookProps.getBookThawProducer());
// 创建消费者,开始监听 // 创建消费者,开始监听
this.createConsumer(deleteVideoListener, BookProps.getDeleteVideoConsumer()); this.createConsumer(deleteVideoListener, BookProps.getDeleteVideoConsumer());
this.createConsumer(chooseDefaultChannelListener, BookProps.getChooseDefaultChannelConsumer());
this.createConsumer(registerPartyListener, BookProps.getRegisterPartyConsumer()); this.createConsumer(registerPartyListener, BookProps.getRegisterPartyConsumer());
LOGGER.info("【消息队列】初始化消息发送队列,<END>"); LOGGER.info("【消息队列】初始化消息发送队列,<END>");
} }
......
package com.pcloud.book.mq.topic; package com.pcloud.book.mq.topic;
import javax.jms.Message; import com.pcloud.book.book.biz.BookAdviserBiz;
import javax.jms.MessageListener; import com.pcloud.book.mq.config.MQTopicConumer;
import javax.jms.ObjectMessage; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.usercenter.common.enums.ResourceEnum; import com.pcloud.usercenter.common.enums.ResourceEnum;
import com.pcloud.usercenter.system.entity.ExtraSetting;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.usercenter.system.entity.ExtraSetting;
/** /**
* @描述: 选择默认渠道 * @描述: 选择默认渠道
*/ */
@Component("chooseDefaultChannelListener") @Component("chooseDefaultChannelListener")
public class ChooseDefaultChannelListener implements MessageListener { @RabbitListener(queues = MQTopicConumer.CHOOSE_DEFAULT_CHANNEL)
public class ChooseDefaultChannelListener{
@Autowired @Autowired
private BookAdviserBiz bookAdviserBiz; private BookAdviserBiz bookAdviserBiz;
private static final Logger LOGGER = LoggerFactory.getLogger(ChooseDefaultChannelListener.class); private static final Logger LOGGER = LoggerFactory.getLogger(ChooseDefaultChannelListener.class);
...@@ -27,20 +26,9 @@ public class ChooseDefaultChannelListener implements MessageListener { ...@@ -27,20 +26,9 @@ public class ChooseDefaultChannelListener implements MessageListener {
/** /**
* 选择默认渠道Topic * 选择默认渠道Topic
*/ */
@Override @RabbitHandler
public void onMessage(Message message) { @ParamLog("选择默认渠道Topic")
if (!(message instanceof ObjectMessage)) { public void onMessage(ExtraSetting extraSetting) {
throw new BookBizException(BookBizException.CONSUMER_TOPIC_ERROR, "【选择默认渠道】类型转换错误");
}
// 转换消息实体
ExtraSetting extraSetting = null;
try {
ObjectMessage om = (ObjectMessage) message;
extraSetting = (ExtraSetting) om.getObject();
} catch (Exception e) {
LOGGER.error("【选择默认渠道】消费topic,<ERROR>:" + e.getMessage(), e);
return;
}
if (extraSetting == null) { if (extraSetting == null) {
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment