rocketmq-去掉activemq
This commit is contained in:
@@ -1,359 +0,0 @@
|
||||
package com.accompany.admin.config;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.ActiveMQPrefetchPolicy;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
import org.apache.activemq.pool.PooledConnectionFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.Queue;
|
||||
import javax.jms.Topic;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Author yubin
|
||||
* @Description //TODO
|
||||
* @Date 2019-04-10 16:29
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "activemq")
|
||||
@EnableJms
|
||||
public class JmsConfig {
|
||||
|
||||
|
||||
private String brokerUrl;
|
||||
|
||||
private String user;
|
||||
|
||||
private String password;
|
||||
|
||||
private int maxConnections;
|
||||
|
||||
private int idleTimeout;
|
||||
|
||||
public final static String MY_QUEUE = "spring-queue";
|
||||
public final static String GIFT_QUEUE = "gift-queue";
|
||||
|
||||
public final static String OPENBOX_QUEUE = "openbox-queue";
|
||||
|
||||
|
||||
//用户退出清除已点歌曲的延迟队列
|
||||
public final static String CLEAN_MUSIC_QUEUE = "clean-music-queue";
|
||||
//活动礼包队列
|
||||
public final static String ACTIVITY_PACK_QUEUE = "activity-pack-queue";
|
||||
|
||||
public final static String PAY_FINISH_QUEUE = "pay-finish-queue";
|
||||
|
||||
public final static String LINEARLY_POOL_DEFAULT_QUEUE = "linearly-pool-draw-queue";
|
||||
|
||||
|
||||
/**
|
||||
* 定义点对点队列
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Queue myQueue() {
|
||||
return new ActiveMQQueue(MY_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue giftQueue() {
|
||||
return new ActiveMQQueue(GIFT_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue openBoxQueue() {
|
||||
return new ActiveMQQueue(OPENBOX_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue cleanMusicQueue() {
|
||||
return new ActiveMQQueue(CLEAN_MUSIC_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue activityPackQueue() {
|
||||
return new ActiveMQQueue(ACTIVITY_PACK_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue payFinishQueue() {
|
||||
return new ActiveMQQueue(PAY_FINISH_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue linearlyPoolDefaultQueue() {
|
||||
return new ActiveMQQueue(LINEARLY_POOL_DEFAULT_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Primary
|
||||
@Bean("myConnectionFactory")
|
||||
public ConnectionFactory connectionFactory() {
|
||||
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user,password,brokerUrl);
|
||||
factory.setTrustAllPackages(true);
|
||||
|
||||
|
||||
factory.setTrustedPackages(Arrays.asList("java.lang","javax.security","java.util","org.apache.activemq","com.accompany.business.message"));
|
||||
ActiveMQPrefetchPolicy prefetchPolicy = factory.getPrefetchPolicy();
|
||||
prefetchPolicy.setQueuePrefetch(100);
|
||||
factory.setPrefetchPolicy(prefetchPolicy);
|
||||
|
||||
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(factory);
|
||||
pooledConnectionFactory.setMaxConnections(maxConnections);
|
||||
pooledConnectionFactory.setIdleTimeout(idleTimeout);
|
||||
|
||||
return pooledConnectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置队列生产者的JmsTemplate
|
||||
* @param activeMQConnectionFactory
|
||||
* @return
|
||||
*/
|
||||
@Bean("jmsTemplate")
|
||||
public JmsTemplate jmsTemplate(@Qualifier("myConnectionFactory") ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setExplicitQosEnabled(true);
|
||||
template.setDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
template.setDefaultDestination(myQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("giftJmsTemplate")
|
||||
public JmsTemplate giftJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(giftQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("openBoxJmsTemplate")
|
||||
public JmsTemplate openBoxJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(openBoxQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
@Bean("cleanMusicJmsTemplate")
|
||||
public JmsTemplate cleanMusicJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(cleanMusicQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("activityPackJmsTemplate")
|
||||
public JmsTemplate activityPackJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(activityPackQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("payFinishJmsTemplate")
|
||||
public JmsTemplate payFinishJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(payFinishQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("linearlyPoolJmsTemplate")
|
||||
public JmsTemplate linearlyPoolJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(linearlyPoolDefaultQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
@Bean("jmsContainer")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer2")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory2() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
|
||||
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer3")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory3() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("giftMagicJmsContainer")
|
||||
public DefaultJmsListenerContainerFactory giftMagicJmsContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean("boxPrizeContainer")
|
||||
public DefaultJmsListenerContainerFactory boxPrizeContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("cleanMusicContainer")
|
||||
public DefaultJmsListenerContainerFactory cleanMusicContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("activityPackContainer")
|
||||
public DefaultJmsListenerContainerFactory activityPackContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("signDrawGoldContainer")
|
||||
public DefaultJmsListenerContainerFactory signDrawGoldContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("signContainer")
|
||||
public DefaultJmsListenerContainerFactory signContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("radishGiftContainer")
|
||||
public DefaultJmsListenerContainerFactory radishGiftContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("payFinishContainer")
|
||||
public DefaultJmsListenerContainerFactory payFinishContainer() {
|
||||
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("adPlatformUserLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory adPlatformUserLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
public String getBrokerUrl() {
|
||||
return brokerUrl;
|
||||
}
|
||||
|
||||
public void setBrokerUrl(String brokerUrl) {
|
||||
this.brokerUrl = brokerUrl;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(String user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getMaxConnections() {
|
||||
return maxConnections;
|
||||
}
|
||||
|
||||
public void setMaxConnections(int maxConnections) {
|
||||
this.maxConnections = maxConnections;
|
||||
}
|
||||
|
||||
public int getIdleTimeout() {
|
||||
return idleTimeout;
|
||||
}
|
||||
|
||||
public void setIdleTimeout(int idleTimeout) {
|
||||
this.idleTimeout = idleTimeout;
|
||||
}
|
||||
}
|
@@ -1,360 +0,0 @@
|
||||
package com.accompany.flowteam.admin.config;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.ActiveMQPrefetchPolicy;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
import org.apache.activemq.pool.PooledConnectionFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.Queue;
|
||||
import javax.jms.Topic;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Author yubin
|
||||
* @Description //TODO
|
||||
* @Date 2019-04-10 16:29
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "activemq")
|
||||
@EnableJms
|
||||
public class JmsConfig {
|
||||
|
||||
|
||||
private String brokerUrl;
|
||||
|
||||
private String user;
|
||||
|
||||
private String password;
|
||||
|
||||
private int maxConnections;
|
||||
|
||||
private int idleTimeout;
|
||||
|
||||
public final static String MY_QUEUE = "spring-queue";
|
||||
public final static String GIFT_QUEUE = "gift-queue";
|
||||
|
||||
public final static String OPENBOX_QUEUE = "openbox-queue";
|
||||
|
||||
//用户退出清除已点歌曲的延迟队列
|
||||
public final static String CLEAN_MUSIC_QUEUE = "clean-music-queue";
|
||||
//活动礼包队列
|
||||
public final static String ACTIVITY_PACK_QUEUE = "activity-pack-queue";
|
||||
|
||||
public final static String PAY_FINISH_QUEUE = "pay-finish-queue";
|
||||
|
||||
public final static String LINEARLY_POOL_DEFAULT_QUEUE = "linearly-pool-draw-queue";
|
||||
|
||||
|
||||
/**
|
||||
* 定义点对点队列
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Queue myQueue() {
|
||||
return new ActiveMQQueue(MY_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue giftQueue() {
|
||||
return new ActiveMQQueue(GIFT_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue openBoxQueue() {
|
||||
return new ActiveMQQueue(OPENBOX_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public Queue cleanMusicQueue() {
|
||||
return new ActiveMQQueue(CLEAN_MUSIC_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue activityPackQueue() {
|
||||
return new ActiveMQQueue(ACTIVITY_PACK_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue payFinishQueue() {
|
||||
return new ActiveMQQueue(PAY_FINISH_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue linearlyPoolDefaultQueue() {
|
||||
return new ActiveMQQueue(LINEARLY_POOL_DEFAULT_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Primary
|
||||
@Bean("myConnectionFactory")
|
||||
public ConnectionFactory connectionFactory() {
|
||||
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user,password,brokerUrl);
|
||||
factory.setTrustAllPackages(true);
|
||||
|
||||
|
||||
factory.setTrustedPackages(Arrays.asList("java.lang","javax.security","java.util","org.apache.activemq","com.accompany.business.message"));
|
||||
ActiveMQPrefetchPolicy prefetchPolicy = factory.getPrefetchPolicy();
|
||||
prefetchPolicy.setQueuePrefetch(100);
|
||||
factory.setPrefetchPolicy(prefetchPolicy);
|
||||
|
||||
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(factory);
|
||||
pooledConnectionFactory.setMaxConnections(maxConnections);
|
||||
pooledConnectionFactory.setIdleTimeout(idleTimeout);
|
||||
|
||||
return pooledConnectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置队列生产者的JmsTemplate
|
||||
* @param activeMQConnectionFactory
|
||||
* @return
|
||||
*/
|
||||
@Bean("jmsTemplate")
|
||||
public JmsTemplate jmsTemplate(@Qualifier("myConnectionFactory") ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setExplicitQosEnabled(true);
|
||||
template.setDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
template.setDefaultDestination(myQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("giftJmsTemplate")
|
||||
public JmsTemplate giftJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(giftQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("openBoxJmsTemplate")
|
||||
public JmsTemplate openBoxJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(openBoxQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Bean("cleanMusicJmsTemplate")
|
||||
public JmsTemplate cleanMusicJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(cleanMusicQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("activityPackJmsTemplate")
|
||||
public JmsTemplate activityPackJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(activityPackQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("payFinishJmsTemplate")
|
||||
public JmsTemplate payFinishJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(payFinishQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("linearlyPoolJmsTemplate")
|
||||
public JmsTemplate linearlyPoolJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(linearlyPoolDefaultQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
@Bean("jmsContainer")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer2")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory2() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
|
||||
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer3")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory3() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("giftMagicJmsContainer")
|
||||
public DefaultJmsListenerContainerFactory giftMagicJmsContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean("boxPrizeContainer")
|
||||
public DefaultJmsListenerContainerFactory boxPrizeContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("cleanMusicContainer")
|
||||
public DefaultJmsListenerContainerFactory cleanMusicContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("activityPackContainer")
|
||||
public DefaultJmsListenerContainerFactory activityPackContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("signDrawGoldContainer")
|
||||
public DefaultJmsListenerContainerFactory signDrawGoldContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("signContainer")
|
||||
public DefaultJmsListenerContainerFactory signContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("radishGiftContainer")
|
||||
public DefaultJmsListenerContainerFactory radishGiftContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("payFinishContainer")
|
||||
public DefaultJmsListenerContainerFactory payFinishContainer() {
|
||||
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("adPlatformUserLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory adPlatformUserLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
public String getBrokerUrl() {
|
||||
return brokerUrl;
|
||||
}
|
||||
|
||||
public void setBrokerUrl(String brokerUrl) {
|
||||
this.brokerUrl = brokerUrl;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(String user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getMaxConnections() {
|
||||
return maxConnections;
|
||||
}
|
||||
|
||||
public void setMaxConnections(int maxConnections) {
|
||||
this.maxConnections = maxConnections;
|
||||
}
|
||||
|
||||
public int getIdleTimeout() {
|
||||
return idleTimeout;
|
||||
}
|
||||
|
||||
public void setIdleTimeout(int idleTimeout) {
|
||||
this.idleTimeout = idleTimeout;
|
||||
}
|
||||
}
|
@@ -81,12 +81,6 @@
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-spring</artifactId>
|
||||
<version>5.14.5</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
</project>
|
@@ -2,7 +2,6 @@ package com.accompany.business.service;
|
||||
|
||||
import com.accompany.business.event.ChargeSuccessEvent;
|
||||
import com.accompany.business.message.PayFinishMessage;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
@@ -65,8 +64,6 @@ public class ChargeRecordUpdateService extends BaseService {
|
||||
@Autowired
|
||||
private IOSVerifyService iosVerifyService;
|
||||
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
|
||||
@@ -355,7 +352,6 @@ public class ChargeRecordUpdateService extends BaseService {
|
||||
message.setMessTime(System.currentTimeMillis());
|
||||
//保存一份到redis中
|
||||
jedisService.hwrite(RedisKey.mq_pay_finish_status.getKey(), message.getMessId(), gson.toJson(chargeRecord));
|
||||
//activeMQService.sendPayFinishMessage(message);
|
||||
rocketMQService.sendPayFinishMessage(message);
|
||||
}
|
||||
|
||||
|
@@ -12,7 +12,6 @@ import com.accompany.payment.dto.ChargeWayDTO;
|
||||
import com.accompany.payment.vo.*;
|
||||
import com.accompany.business.service.charge.LuckyTarotChargeService;
|
||||
import com.accompany.business.service.charge.VipChargeService;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -35,7 +34,6 @@ import com.accompany.core.util.StringUtils;
|
||||
import com.accompany.payment.mapper.ChargeRecordMapper;
|
||||
import com.accompany.payment.model.*;
|
||||
import com.accompany.payment.service.*;
|
||||
import com.accompany.sms.service.AliyunSmsService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
@@ -43,11 +41,9 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.core.task.TaskExecutor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -76,8 +72,6 @@ public class ChargeService extends BaseService {
|
||||
@Autowired
|
||||
private ChargeRecordMapper chargeRecordMapper;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private SysConfService sysConfService;
|
||||
@@ -434,7 +428,6 @@ public class ChargeService extends BaseService {
|
||||
message.setMessTime(System.currentTimeMillis());
|
||||
//保存一份到redis中
|
||||
jedisService.hwrite(RedisKey.mq_pay_finish_status.getKey(), message.getMessId(), gson.toJson(chargeRecord));
|
||||
//activeMQService.sendPayFinishMessage(message);
|
||||
rocketMQService.sendPayFinishMessage(message);
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,6 @@ import com.accompany.business.model.*;
|
||||
import com.accompany.business.mybatismapper.ActivityAwardMapper;
|
||||
import com.accompany.business.mybatismapper.ActivityPackItemMapper;
|
||||
import com.accompany.business.mybatismapper.ActivityPackMapper;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -65,8 +64,6 @@ public class ActivityPackService implements InitializingBean, BeanSelfAware {
|
||||
@Autowired
|
||||
private UserPurseService userPurseService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private ActivityPackItemMapper activityPackItemMapper;
|
||||
@@ -311,7 +308,6 @@ public class ActivityPackService implements InitializingBean, BeanSelfAware {
|
||||
message.setPackType(packType);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_pack_status.getKey(), message.getMessId(), gson.toJson(message));
|
||||
//activeMQService.sendActivityPackMessage(message);
|
||||
rocketMQService.sendActivityPackMessage(message);
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,6 @@ import com.accompany.business.service.box.filter.PrizePoolKeyNumFilter;
|
||||
import com.accompany.business.service.box.filter.PrizePoolKeyNumFilterChain;
|
||||
import com.accompany.business.service.box.filter.PrizePoolKeyNumRequest;
|
||||
import com.accompany.business.service.box.filter.PrizePoolKeyNumResponse;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
@@ -59,7 +58,6 @@ import org.springframework.util.CollectionUtils;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 功能描述: 使用模板方法将开箱子的核心业务抽象化,差异化部分交给子类实现
|
||||
@@ -85,8 +83,6 @@ public abstract class OpenBoxService extends BaseService implements Initializing
|
||||
@Autowired
|
||||
private JedisLockService jedisLockService;
|
||||
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
|
||||
@@ -337,8 +333,6 @@ public abstract class OpenBoxService extends BaseService implements Initializing
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(msg.getPrizeList())) {
|
||||
// 发送消息
|
||||
//activeMQService.sendOpenBoxMessage(msg, generOpenBoxMsgQueueName(level));
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_prize_status.getKey(), msg.getMessId(), gson.toJson(msg));
|
||||
rocketMQService.sendOpenBoxMessage(msg);
|
||||
|
@@ -15,7 +15,6 @@ import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.luckybag.LuckyBagPoolService;
|
||||
import com.accompany.business.service.luckybag.LuckyBagRecordService;
|
||||
import com.accompany.business.service.luckybag.filter.*;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.room.RoomGiftValueService;
|
||||
@@ -78,8 +77,6 @@ public class GiftSendService extends BaseService {
|
||||
@Autowired
|
||||
private UserPurseService userPurseService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private SendSysMsgService sendSysMsgService;
|
||||
@@ -95,8 +92,6 @@ public class GiftSendService extends BaseService {
|
||||
@Autowired
|
||||
private LuckyBagPoolService luckyBagPoolService;
|
||||
@Autowired
|
||||
private LuckyBagRecordService luckyBagRecordService;
|
||||
@Autowired
|
||||
private LuckyBagSendService luckyBagSendService;
|
||||
@Autowired
|
||||
private VipAuthItemService vipAuthItemService;
|
||||
@@ -407,7 +402,6 @@ public class GiftSendService extends BaseService {
|
||||
GiftMessage message = buildGiftMessage(sendUid, recvUid, roomUid, giftId, giftConsumeType, giftType, giftNum, goldNum, sendType, roomType, msg, giftSource, luckyBagGift);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_gift_status.getKey(), message.getMessId(), gson.toJson(message));
|
||||
//activeMQService.sendGiftMessage(message);
|
||||
rocketMQService.sendGiftMessage(message);
|
||||
//通知观察者已经送出礼物
|
||||
try {
|
||||
|
@@ -2,7 +2,6 @@ package com.accompany.business.service.gift;
|
||||
|
||||
import com.accompany.business.message.RadishGiftMessage;
|
||||
import com.accompany.business.model.Gift;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.purse.UserWalletService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
@@ -18,14 +17,12 @@ import com.accompany.common.utils.UUIDUitl;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Room;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.SysConfService;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
;
|
||||
|
||||
@@ -43,8 +40,6 @@ public class RadishSendService extends BaseService {
|
||||
@Autowired
|
||||
private UserWalletService userWalletService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@@ -126,7 +121,6 @@ public class RadishSendService extends BaseService {
|
||||
sendType, roomType, msg, giftSource);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_radish_gift_status.getKey(), message.getMessId(), gson.toJson(message));
|
||||
//activeMQService.sendRadishGiftMessage(message);
|
||||
rocketMQService.sendRadishGiftMessage(message);
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,6 @@ import com.accompany.business.message.CleanMusicDelayMessage;
|
||||
import com.accompany.business.model.MusicLibrary;
|
||||
import com.accompany.business.model.MusicLibraryExample;
|
||||
import com.accompany.business.service.ErBanNetEaseService;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.room.RoomService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -61,8 +60,6 @@ public class UserChooseMusicService extends BaseService {
|
||||
@Autowired
|
||||
private ErBanNetEaseService erBanNetEaseService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@@ -435,7 +432,6 @@ public class UserChooseMusicService extends BaseService {
|
||||
message.setMessTime(System.currentTimeMillis());
|
||||
message.setRoomUid(roomUid);
|
||||
message.setUid(uid);
|
||||
//activeMQService.sendCleanMusicDelayMessage(message);
|
||||
jedisService.hwrite(RedisKey.room_clean_music_messId.getKey(), roomUid + "_" + uid, messId);
|
||||
rocketMQService.sendCleanMusicDelayMessage(message);
|
||||
}
|
||||
|
@@ -21,7 +21,6 @@ import com.accompany.business.model.user.UserActPropertyInfoV2;
|
||||
import com.accompany.business.mybatismapper.PrizeMapper;
|
||||
import com.accompany.business.service.box.PrizeService;
|
||||
import com.accompany.business.service.level.LevelService;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.push.EnterpriseWechatPushService;
|
||||
import com.accompany.business.service.user.UserActPropertyInfoV2Service;
|
||||
import com.accompany.business.util.ReplaceDomainUtil;
|
||||
@@ -85,8 +84,6 @@ public class LinearlyPrizePoolService {
|
||||
@Autowired
|
||||
private UserActPropertyInfoV2Service userActPropertyInfoV2Service;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private SysConfService sysConfService;
|
||||
@@ -667,8 +664,6 @@ public class LinearlyPrizePoolService {
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(msg.getPrizeList())) {
|
||||
// 发送消息
|
||||
//activeMQService.sendLinearlyPoolDrawMessage(msg, generLinearlyPoolMsgQueueName(level));
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_linearly_pool_prize_status.getKey(), msg.getMessId(), JSONObject.toJSONString(msg));
|
||||
rocketMQService.sendLinearlyPoolDrawMessage(msg);
|
||||
|
@@ -1,146 +0,0 @@
|
||||
package com.accompany.business.service.mq;
|
||||
|
||||
import com.accompany.business.message.*;
|
||||
import com.accompany.business.message.linearlypool.LinearlyPoolPrizeMessage;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class ActiveMQService extends BaseService {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ActiveMQService.class);
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "jmsTemplate")
|
||||
private JmsTemplate jmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "giftJmsTemplate")
|
||||
private JmsTemplate giftJmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "openBoxJmsTemplate")
|
||||
private JmsTemplate openBoxJmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "cleanMusicJmsTemplate")
|
||||
private JmsTemplate cleanMusicJmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "activityPackJmsTemplate")
|
||||
private JmsTemplate activityPackJmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "payFinishJmsTemplate")
|
||||
private JmsTemplate payFinishJmsTemplate;
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "linearlyPoolJmsTemplate")
|
||||
private JmsTemplate linearlyPoolJmsTemplate;
|
||||
|
||||
|
||||
/**
|
||||
* 送礼物消息,发送到MQ
|
||||
*
|
||||
* @param giftMessage
|
||||
*/
|
||||
public void sendGiftMessage(final GiftMessage giftMessage) {
|
||||
logger.info("sendGiftMessage gift message: {}", giftMessage);
|
||||
giftJmsTemplate.convertAndSend("gift-queue",giftMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送开箱子中奖消息
|
||||
*/
|
||||
public void sendOpenBoxMessage(BoxPrizeMessage message, String queueName) {
|
||||
logger.info("sendOpenBoxMessage on {}, message: {}", queueName, JSON.toJSONString(message));
|
||||
openBoxJmsTemplate.convertAndSend(queueName,message);
|
||||
}
|
||||
|
||||
public void sendLinearlyPoolDrawMessage(LinearlyPoolPrizeMessage message, String queueName) {
|
||||
logger.info("sendLinearlyPoolDrawMessage on {}, message: {}", queueName, JSON.toJSONString(message));
|
||||
linearlyPoolJmsTemplate.convertAndSend(queueName,message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送清歌的延迟消息
|
||||
* @param message
|
||||
*/
|
||||
public void sendCleanMusicDelayMessage(final CleanMusicDelayMessage message) {
|
||||
logger.info("sendCleanMusicDelayMessage message: {}", JSON.toJSONString(message));
|
||||
cleanMusicJmsTemplate.convertAndSend("clean-music-queue", message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 活动礼包消息,发送到MQ
|
||||
*
|
||||
* @param packMessage
|
||||
*/
|
||||
public void sendActivityPackMessage(final ActivityPackMessage packMessage) {
|
||||
logger.info("sendGiftMessage gift message: {}", packMessage);
|
||||
activityPackJmsTemplate.convertAndSend("activity-pack-queue",packMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送签到瓜分金币中奖消息
|
||||
* @param message
|
||||
*/
|
||||
public void sendSignDrawGoldMessage(final SignDrawGoldMessage message) {
|
||||
logger.info("sendSignDrawGoldMessage message: {}", JSON.toJSONString(message));
|
||||
giftJmsTemplate.convertAndSend("sign-draw-gold-queue",message);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送签到消息
|
||||
* @param message
|
||||
*/
|
||||
public void sendSignMessage(final SignMessage message) {
|
||||
logger.info("sendSignMessage message: {}", JSON.toJSONString(message));
|
||||
giftJmsTemplate.convertAndSend("sign-queue",message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送萝卜礼物消息
|
||||
* @param message
|
||||
*/
|
||||
public void sendRadishGiftMessage(final RadishGiftMessage message) {
|
||||
logger.info("sendRadishGiftMessage message: {}", JSON.toJSONString(message));
|
||||
giftJmsTemplate.convertAndSend("radish-gift-queue",message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付完成的消息,发送到MQ
|
||||
*
|
||||
* @param message
|
||||
*/
|
||||
public void sendPayFinishMessage(final PayFinishMessage message) {
|
||||
String payFinishQueue = "pay-finish-queue";
|
||||
logger.info("send payFinish message: {}, Queue: {}", message, JSON.toJSON(payFinishQueue));
|
||||
payFinishJmsTemplate.send(payFinishQueue, session -> session.createObjectMessage(message));
|
||||
}
|
||||
|
||||
/**
|
||||
* 声音匹配 喜欢/不喜欢
|
||||
* @param message
|
||||
*/
|
||||
public void sendVoiceLikeMessage(final VoiceLikeMessage message) {
|
||||
logger.info("sendVoiceLikeMessage message: {}", JSON.toJSONString(message));
|
||||
jmsTemplate.convertAndSend("voice-like-queue",message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送易盾im反垃圾消息
|
||||
* @param msg
|
||||
*/
|
||||
public void sendYidunIMTextAntiMsg(YidunIMAntiMessage msg) {
|
||||
logger.info("sendYidunIMTextAntiMsg message: {}", JSON.toJSONString(msg));
|
||||
jmsTemplate.convertAndSend("yindun-text-anti-queue",msg);
|
||||
}
|
||||
}
|
@@ -13,7 +13,6 @@ import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
|
||||
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -31,7 +30,6 @@ public class SignDrawGoldMessageMQListener implements RocketMQListener<SignDrawG
|
||||
private SignDrawGoldService signDrawGoldService;
|
||||
|
||||
@SneakyThrows
|
||||
@JmsListener(destination = "sign-draw-gold-queue", containerFactory = "signDrawGoldContainer")
|
||||
public void onMessage(SignDrawGoldMessage signDrawGoldMessage) {
|
||||
log.info("onMessage signDrawGoldMessage: {}", JSON.toJSONString(signDrawGoldMessage));
|
||||
|
||||
|
@@ -12,12 +12,10 @@ import com.accompany.business.event.MicChangedEvent;
|
||||
import com.accompany.business.message.YidunIMAntiMessage;
|
||||
import com.accompany.business.param.LeftChatRoomParam;
|
||||
import com.accompany.business.param.MicQueueParam;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.room.*;
|
||||
import com.accompany.business.service.user.UserInRoomService;
|
||||
import com.accompany.business.service.useronline.UserOnlineService;
|
||||
import com.accompany.business.vo.RoomVo;
|
||||
import com.accompany.business.vo.home.PlayRoomVo;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.netease.util.NetEaseConstant;
|
||||
@@ -60,8 +58,6 @@ public class ReceiveNeteaseService extends BaseService {
|
||||
@Autowired
|
||||
private RoomService roomService;
|
||||
@Autowired
|
||||
private UserInRoomService userInRoomService;
|
||||
@Autowired
|
||||
private ApplicationContext applicationContext;
|
||||
@Autowired
|
||||
private BlindDateRoundService blindDateRoundService;
|
||||
@@ -70,13 +66,10 @@ public class ReceiveNeteaseService extends BaseService {
|
||||
@Autowired
|
||||
private BlindDateMaxGiftValueService blindDateMaxGiftValueService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private UserInOutRoomRecordService userInOutRoomRecordService;
|
||||
|
||||
public static final int TEMP_EXPIRE_SECOND = 15;
|
||||
|
||||
/**
|
||||
* 处理用户登录IM消息
|
||||
@@ -275,7 +268,6 @@ public class ReceiveNeteaseService extends BaseService {
|
||||
&& isYindunNotPass(suggestion)
|
||||
) {
|
||||
YidunIMAntiMessage msg = buildYidunAntiMqMsg(chatMsg);
|
||||
//activeMQService.sendYidunIMTextAntiMsg(msg);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_yindun_im_text_anti_status.getKey(), msg.getMessId(), gson.toJson(msg));
|
||||
rocketMQService.sendYidunIMTextAntiMsg(msg);
|
||||
|
@@ -2,14 +2,9 @@ package com.accompany.business.service.signweb;
|
||||
|
||||
import com.accompany.business.message.SignDrawGoldMessage;
|
||||
import com.accompany.business.model.*;
|
||||
import com.accompany.business.mybatismapper.DrawGoldRecordMapper;
|
||||
import com.accompany.business.mybatismapper.GoldPrizeMapper;
|
||||
import com.accompany.business.mybatismapper.PrizeGoldPoolMapper;
|
||||
import com.accompany.business.param.neteasepush.NeteaseSendMsgParam;
|
||||
import com.accompany.business.service.ErBanNetEaseService;
|
||||
import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.box.BoxPrizeMessageService;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
@@ -69,8 +64,6 @@ public class SignDrawGoldService extends BaseService {
|
||||
@Autowired
|
||||
private BoxPrizeMessageService boxPrizeMessageService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private UsersService userService;
|
||||
@@ -329,8 +322,6 @@ public class SignDrawGoldService extends BaseService {
|
||||
return;
|
||||
}
|
||||
SignDrawGoldMessage message = buildDrawGoldMessage(uid,drawGoldRecord);
|
||||
// 发送消息
|
||||
//activeMQService.sendSignDrawGoldMessage(message);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_sign_draw_gold_status.getKey(), message.getMessId(),gson.toJson(message));
|
||||
rocketMQService.sendSignDrawGoldMessage(message);
|
||||
|
@@ -8,13 +8,9 @@ import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.business.message.BoxPrizeEntity;
|
||||
import com.accompany.business.message.SignMessage;
|
||||
import com.accompany.business.model.*;
|
||||
import com.accompany.business.mybatismapper.GoldPrizeMapper;
|
||||
import com.accompany.business.mybatismapper.PrizeGoldPoolMapper;
|
||||
import com.accompany.core.service.base.BaseService;
|
||||
import com.accompany.business.service.box.BoxPrizeContext;
|
||||
import com.accompany.business.service.box.BoxPrizeStrategyFactory;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.noble.NobleRightService;
|
||||
import com.accompany.business.util.ExceptionUtils;
|
||||
import com.accompany.common.utils.UUIDUitl;
|
||||
import com.accompany.common.constant.Constant;
|
||||
@@ -39,8 +35,6 @@ public class SignService extends BaseService {
|
||||
@Autowired
|
||||
private SignPrizeRecordService signPrizeRecordService;
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
@Autowired
|
||||
private UserDrawStatisService userDrawStatisService;
|
||||
@@ -53,8 +47,6 @@ public class SignService extends BaseService {
|
||||
public void asyncHandlerSign(final Long uid,final Integer signRecordId,final Byte signType){
|
||||
SignMessage message = buildSignMessage(uid,signType);
|
||||
message.setSignRecordId(signRecordId);
|
||||
// 发送消息
|
||||
//activeMQService.sendSignMessage(message);
|
||||
// 缓存消息的消费状态,便于队列消息做幂等处理
|
||||
jedisService.hwrite(RedisKey.mq_sign_status.getKey(), message.getMessId(),gson.toJson(message));
|
||||
rocketMQService.sendSignMessage(message);
|
||||
|
@@ -9,7 +9,6 @@ import com.accompany.business.model.*;
|
||||
import com.accompany.business.mybatismapper.*;
|
||||
import com.accompany.business.param.neteasepush.NeteasePushParam;
|
||||
import com.accompany.business.service.SendSysMsgService;
|
||||
import com.accompany.business.service.mq.ActiveMQService;
|
||||
import com.accompany.business.service.mq.RocketMQService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.util.ReplaceDomainUtil;
|
||||
@@ -60,8 +59,6 @@ public class VoiceService extends BaseService {
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
|
||||
@Autowired
|
||||
private ActiveMQService activeMQService;
|
||||
@Autowired
|
||||
private RocketMQService rocketMQService;
|
||||
|
||||
@@ -150,7 +147,6 @@ public class VoiceService extends BaseService {
|
||||
// 缓存消息的消费状态
|
||||
jedisService.hwrite(RedisKey.voice_like_status.getKey(), message.getMessId(), gson.toJson(message));
|
||||
jedisService.hwrite(RedisKey.temp_voice_like_record.getKey(uid.toString()), message.getMessId(), voiceId+"");
|
||||
//activeMQService.sendVoiceLikeMessage(message);
|
||||
rocketMQService.sendVoiceLikeMessage(message);
|
||||
}
|
||||
if(VoiceLikeEnum.LIKE.getValue()==type){
|
||||
|
@@ -17,10 +17,6 @@
|
||||
<artifactId>accompany-business-service</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-activemq</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.accompany</groupId>
|
||||
<artifactId>xuanyin-game-match</artifactId>
|
||||
|
@@ -1,414 +0,0 @@
|
||||
package com.accompany.business.config;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.ActiveMQPrefetchPolicy;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.pool.PooledConnectionFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.Queue;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @Author yubin
|
||||
* @Description //TODO
|
||||
* @Date 2019-04-10 16:29
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "activemq")
|
||||
@EnableJms
|
||||
public class JmsConfig {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(JmsConfig.class);
|
||||
|
||||
private String brokerUrl;
|
||||
|
||||
private String user;
|
||||
|
||||
private String password;
|
||||
|
||||
private int maxConnections;
|
||||
|
||||
private int idleTimeout;
|
||||
|
||||
public final static String MY_QUEUE = "spring-queue";
|
||||
public final static String GIFT_QUEUE = "gift-queue";
|
||||
|
||||
public final static String OPENBOX_QUEUE = "openbox-queue";
|
||||
|
||||
|
||||
|
||||
//用户退出清除已点歌曲的延迟队列
|
||||
public final static String CLEAN_MUSIC_QUEUE = "clean-music-queue";
|
||||
//活动礼包队列
|
||||
public final static String ACTIVITY_PACK_QUEUE = "activity-pack-queue";
|
||||
|
||||
public final static String PAY_FINISH_QUEUE = "pay-finish-queue";
|
||||
|
||||
// 用户首登消息队列
|
||||
public final static String USER_FIRST_LOGIN_MSG_QUEUE = "user_first_login_msg_queue";
|
||||
|
||||
public final static String LINEARLY_POOL_DEFAULT_QUEUE = "linearly-pool-draw-queue";
|
||||
|
||||
|
||||
/**
|
||||
* 定义点对点队列
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Queue myQueue() {
|
||||
return new ActiveMQQueue(MY_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue giftQueue() {
|
||||
return new ActiveMQQueue(GIFT_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue openBoxQueue() {
|
||||
return new ActiveMQQueue(OPENBOX_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public Queue cleanMusicQueue() {
|
||||
return new ActiveMQQueue(CLEAN_MUSIC_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue activityPackQueue() {
|
||||
return new ActiveMQQueue(ACTIVITY_PACK_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue payFinishQueue() {
|
||||
return new ActiveMQQueue(PAY_FINISH_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue userFirstLoginMsgQueue() { return new ActiveMQQueue(USER_FIRST_LOGIN_MSG_QUEUE); }
|
||||
|
||||
@Bean
|
||||
public Queue linearlyPoolDefaultQueue() {
|
||||
return new ActiveMQQueue(LINEARLY_POOL_DEFAULT_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Primary
|
||||
@Bean("myConnectionFactory")
|
||||
public ConnectionFactory connectionFactory() {
|
||||
logger.info("user: " + user + " pass:" + password + " broker:" + brokerUrl);
|
||||
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user,password,brokerUrl);
|
||||
factory.setTrustAllPackages(true);
|
||||
|
||||
|
||||
factory.setTrustedPackages(Arrays.asList("java.lang","javax.security","java.util","org.apache.activemq","com.accompany.business.message"));
|
||||
ActiveMQPrefetchPolicy prefetchPolicy = factory.getPrefetchPolicy();
|
||||
prefetchPolicy.setQueuePrefetch(100);
|
||||
factory.setPrefetchPolicy(prefetchPolicy);
|
||||
|
||||
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(factory);
|
||||
pooledConnectionFactory.setMaxConnections(maxConnections);
|
||||
pooledConnectionFactory.setIdleTimeout(idleTimeout);
|
||||
|
||||
return pooledConnectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置队列生产者的JmsTemplate
|
||||
* @param activeMQConnectionFactory
|
||||
* @return
|
||||
*/
|
||||
@Bean("jmsTemplate")
|
||||
public JmsTemplate jmsTemplate(@Qualifier("myConnectionFactory") ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setExplicitQosEnabled(true);
|
||||
template.setDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
template.setDefaultDestination(myQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("giftJmsTemplate")
|
||||
public JmsTemplate giftJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(giftQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
@Bean("openBoxJmsTemplate")
|
||||
public JmsTemplate openBoxJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(openBoxQueue());
|
||||
return template;
|
||||
}
|
||||
@Bean("cleanMusicJmsTemplate")
|
||||
public JmsTemplate cleanMusicJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(cleanMusicQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("activityPackJmsTemplate")
|
||||
public JmsTemplate activityPackJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(activityPackQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("payFinishJmsTemplate")
|
||||
public JmsTemplate payFinishJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(payFinishQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("userFirstLoginMsgJmsTemplate")
|
||||
public JmsTemplate userFirstLoginMsgJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(userFirstLoginMsgQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("linearlyPoolJmsTemplate")
|
||||
public JmsTemplate linearlyPoolJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(linearlyPoolDefaultQueue());
|
||||
return template;
|
||||
}
|
||||
@Bean("jmsContainer")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer2")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory2() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
|
||||
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer3")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory3() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("giftMagicJmsContainer")
|
||||
public DefaultJmsListenerContainerFactory giftMagicJmsContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean("boxPrizeContainer")
|
||||
public DefaultJmsListenerContainerFactory boxPrizeContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("linearlyPoolPrizeContainer")
|
||||
public DefaultJmsListenerContainerFactory linearlyPoolPrizeContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("cleanMusicContainer")
|
||||
public DefaultJmsListenerContainerFactory cleanMusicContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("activityPackContainer")
|
||||
public DefaultJmsListenerContainerFactory activityPackContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("signDrawGoldContainer")
|
||||
public DefaultJmsListenerContainerFactory signDrawGoldContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("signContainer")
|
||||
public DefaultJmsListenerContainerFactory signContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("radishGiftContainer")
|
||||
public DefaultJmsListenerContainerFactory radishGiftContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("payFinishContainer")
|
||||
public DefaultJmsListenerContainerFactory payFinishContainer() {
|
||||
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("firstLoginVersionMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory firstLoginVersionMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("userFirstLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory userFirstLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("adPlatformUserLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory adPlatformUserLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("yidunIMAntiContainer")
|
||||
public DefaultJmsListenerContainerFactory yidunIMAntiContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-16");
|
||||
return factory;
|
||||
}
|
||||
|
||||
public String getBrokerUrl() {
|
||||
return brokerUrl;
|
||||
}
|
||||
|
||||
public void setBrokerUrl(String brokerUrl) {
|
||||
this.brokerUrl = brokerUrl;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(String user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getMaxConnections() {
|
||||
return maxConnections;
|
||||
}
|
||||
|
||||
public void setMaxConnections(int maxConnections) {
|
||||
this.maxConnections = maxConnections;
|
||||
}
|
||||
|
||||
public int getIdleTimeout() {
|
||||
return idleTimeout;
|
||||
}
|
||||
|
||||
public void setIdleTimeout(int idleTimeout) {
|
||||
this.idleTimeout = idleTimeout;
|
||||
}
|
||||
}
|
@@ -1,57 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.ActivityPackMessage;
|
||||
import com.accompany.business.service.activity.ActivityPackMessageService;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.google.gson.Gson;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 礼包消息监听器
|
||||
* @author xiaoyuyou
|
||||
* @date 2018/9/5 11:03
|
||||
*/
|
||||
@Component
|
||||
public class ActivityPackMessageListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ActivityPackMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private ActivityPackMessageService activityPackMessageService;
|
||||
|
||||
private Gson gson = new Gson();
|
||||
|
||||
@JmsListener(destination = "activity-pack-queue",containerFactory = "activityPackContainer")
|
||||
public void onMessage(ActivityPackMessage packMessage) {
|
||||
logger.info("handle activity pack message {}", JSON.toJSONString(packMessage));
|
||||
// if (message instanceof ObjectMessage) {
|
||||
// ObjectMessage objectMessage = (ObjectMessage) message;
|
||||
// ActivityPackMessage packMessage;
|
||||
try {
|
||||
// packMessage = (ActivityPackMessage) objectMessage.getObject();
|
||||
logger.info("onMessage giftMessage: {}", gson.toJson(packMessage));
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_pack_status.getKey(), packMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
return;
|
||||
}
|
||||
activityPackMessageService.handleActivityPackMessage(packMessage);
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.error("Failed to resolved the packMessage. message: {}", gson.toJson(packMessage),e);
|
||||
}
|
||||
// catch (Exception e){
|
||||
// logger.error(e.getMessage(), e);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
@@ -1,48 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.BoxPrizeMessage;
|
||||
import com.accompany.business.service.box.BoxPrizeMessageService;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.jms.annotation.JmsListeners;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* Created by PaperCut on 2018/7/16.
|
||||
* 开箱子中奖消息
|
||||
*/
|
||||
@Component
|
||||
public class BoxPrizeMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(BoxPrizeMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
BoxPrizeMessageService boxPrizeMessageService;
|
||||
@Autowired
|
||||
JedisService jedisService;
|
||||
|
||||
@JmsListeners(value = {
|
||||
@JmsListener(destination = "openbox-queue-lv5",containerFactory = "boxPrizeContainer"),
|
||||
@JmsListener(destination = "openbox-queue-lv4",containerFactory = "boxPrizeContainer"),
|
||||
@JmsListener(destination = "openbox-queue-lv3",containerFactory = "boxPrizeContainer"),
|
||||
@JmsListener(destination = "openbox-queue-lv2",containerFactory = "boxPrizeContainer"),
|
||||
@JmsListener(destination = "openbox-queue-lv1",containerFactory = "boxPrizeContainer"),
|
||||
@JmsListener(destination = "openbox-queue",containerFactory = "boxPrizeContainer")
|
||||
})
|
||||
public void onMessage(BoxPrizeMessage message) {
|
||||
Thread thread = Thread.currentThread();
|
||||
logger.info("{} thread handle openbox-queue message {}", thread.getName(), JSON.toJSONString(message));
|
||||
try {
|
||||
boxPrizeMessageService.onMessage(message);
|
||||
} catch (Exception e) {
|
||||
logger.error("Failed to resolved the message. msg: {}", JSON.toJSONString(message), e);
|
||||
}
|
||||
|
||||
// 删除消息标识
|
||||
jedisService.hdel(RedisKey.mq_prize_status.getKey(), message.getMessId());
|
||||
}
|
||||
}
|
@@ -1,63 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.CleanMusicDelayMessage;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.business.service.ktv.UserChooseMusicService;
|
||||
import com.accompany.business.service.user.UserInRoomService;
|
||||
import com.accompany.business.vo.RoomVo;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.jms.JMSException;
|
||||
|
||||
/**
|
||||
* 清歌消息监听器
|
||||
* @author xiaoyuyou
|
||||
* @date 2018/9/5 11:03
|
||||
*/
|
||||
@Component
|
||||
public class CleanMusicDelayMessageListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(CleanMusicDelayMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private UserChooseMusicService userChooseMusicService;
|
||||
@Autowired
|
||||
private UserInRoomService userInRoomService;
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
|
||||
@JmsListener(destination = "clean-music-queue",containerFactory = "cleanMusicContainer")
|
||||
public void onMessage(CleanMusicDelayMessage cleanMusicMsg) {
|
||||
logger.info("clean music delay message {}", JSON.toJSONString(cleanMusicMsg));
|
||||
// if (message instanceof ObjectMessage) {
|
||||
// ObjectMessage objectMessage = (ObjectMessage) message;
|
||||
// CleanMusicDelayMessage cleanMusicMsg;
|
||||
try {
|
||||
// cleanMusicMsg = (CleanMusicDelayMessage) objectMessage.getObject();
|
||||
Long roomUid = cleanMusicMsg.getRoomUid();
|
||||
Long uid = cleanMusicMsg.getUid();
|
||||
String messId = jedisService.hget(RedisKey.room_clean_music_messId.getKey(), roomUid + "_" + uid);
|
||||
logger.info("clean music listener exec, roomUid:{}, uid:{}, period:{}, redis messId:{}, current messId:{}",
|
||||
roomUid, uid, System.currentTimeMillis() - cleanMusicMsg.getMessTime(), messId, cleanMusicMsg.getMessId());
|
||||
if (StringUtils.isEmpty(messId) || !StringUtils.equals(messId, cleanMusicMsg.getMessId())){
|
||||
return;
|
||||
}
|
||||
RoomVo roomVo = userInRoomService.getUserInRoomInfoCache(uid);
|
||||
if (roomVo == null || roomVo.getUid().longValue() != roomUid.longValue()){
|
||||
userChooseMusicService.deleteUserAllChooseMusic(roomUid, uid);
|
||||
}
|
||||
} catch (JMSException e) {
|
||||
logger.error("Failed to resolved the message. cleanMusicMsg: {}", JSON.toJSONString(cleanMusicMsg));
|
||||
} catch (Exception e){
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
@@ -1,51 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.GiftMessage;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.business.service.gift.GiftMessageService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class GiftMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(GiftMessageListener.class);
|
||||
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private GiftMessageService giftMessageService;
|
||||
|
||||
@JmsListener(destination = "gift-queue",containerFactory = "jmsContainer3")
|
||||
public void onMessage(GiftMessage giftMessage) {
|
||||
/** 判断消息类型 */
|
||||
// if (message instanceof ObjectMessage) {
|
||||
// ObjectMessage objectMessage = (ObjectMessage) message;
|
||||
try {
|
||||
// GiftMessage giftMessage = (GiftMessage) objectMessage.getObject();
|
||||
logger.info("onMessage giftMessage: {}", giftMessage.toString());
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_gift_status.getKey(), giftMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
return;
|
||||
}
|
||||
giftMessageService.handleGiftMessage(giftMessage);
|
||||
} catch (Exception e) {
|
||||
logger.error("message queue handle error, message={}", JSON.toJSONString(giftMessage), e);
|
||||
} catch(Throwable t){
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.accompany.business.message.linearlypool.LinearlyPoolPrizeMessage;
|
||||
import com.accompany.business.service.linearlypool.LinearlyPoolPrizeMessageService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.jms.annotation.JmsListeners;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 线性奖池中奖消息
|
||||
*/
|
||||
@Component
|
||||
public class LinearlyPoolPrizeMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(LinearlyPoolPrizeMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
LinearlyPoolPrizeMessageService prizeMessageService;
|
||||
@Autowired
|
||||
JedisService jedisService;
|
||||
|
||||
@JmsListeners(value = {
|
||||
@JmsListener(destination = "linearly-pool-draw-queue-lv5",containerFactory = "linearlyPoolPrizeContainer"),
|
||||
@JmsListener(destination = "linearly-pool-draw-queue-lv4",containerFactory = "linearlyPoolPrizeContainer"),
|
||||
@JmsListener(destination = "linearly-pool-draw-queue-lv3",containerFactory = "linearlyPoolPrizeContainer"),
|
||||
@JmsListener(destination = "linearly-pool-draw-queue-lv2",containerFactory = "linearlyPoolPrizeContainer"),
|
||||
@JmsListener(destination = "linearly-pool-draw-queue-lv1",containerFactory = "linearlyPoolPrizeContainer"),
|
||||
@JmsListener(destination = "linearly-pool-draw-queue",containerFactory = "linearlyPoolPrizeContainer")
|
||||
})
|
||||
public void onMessage(LinearlyPoolPrizeMessage message) {
|
||||
Thread thread = Thread.currentThread();
|
||||
logger.info("{} thread handle linearly-pool-draw-queue message {}", thread.getName(), JSON.toJSONString(message));
|
||||
try {
|
||||
prizeMessageService.onMessage(message);
|
||||
} catch (Exception e) {
|
||||
logger.error("Failed to resolved the message. msg: {}", JSON.toJSONString(message), e);
|
||||
}
|
||||
|
||||
// 删除消息标识
|
||||
jedisService.hdel(RedisKey.mq_linearly_pool_prize_status.getKey(), message.getMessId());
|
||||
}
|
||||
}
|
@@ -1,59 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.accompany.business.message.PayFinishMessage;
|
||||
import com.accompany.business.service.activity.ChargeActivityPackRecordService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.payment.model.ChargeRecord;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.gson.Gson;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 处理支付完成后的一些操作
|
||||
* 如:
|
||||
* 1. 充值送礼包:充值完成后,判断用户的充值金额、次数等,并发放相应的礼包
|
||||
*/
|
||||
@Component
|
||||
public class PayFinishMessageListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PayFinishMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private ChargeActivityPackRecordService chargeActivityPackRecordService;
|
||||
|
||||
Gson gson = new Gson();
|
||||
|
||||
|
||||
@JmsListener(destination = "pay-finish-queue",containerFactory = "payFinishContainer")
|
||||
public void onMessage(PayFinishMessage payFinishMessage) {
|
||||
try {
|
||||
logger.info("onMessage payFinishMessage: {}", JSON.toJSONString(payFinishMessage));
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_pay_finish_status.getKey(), payFinishMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
logger.info("消息已处理,消息id:{}", payFinishMessage.getMessId());
|
||||
return;
|
||||
}
|
||||
//处理具体逻辑
|
||||
ChargeRecord chargeRecord = gson.fromJson(messStatus, ChargeRecord.class);
|
||||
//处理首充礼包
|
||||
chargeActivityPackRecordService.handleFirstChargeActivityPack(chargeRecord);
|
||||
|
||||
//消费完成,删除该消息
|
||||
jedisService.hdel(RedisKey.mq_pay_finish_status.getKey(), payFinishMessage.getMessId());
|
||||
} catch (Exception e) {
|
||||
logger.error("payFinishMessage queue handle error, payFinishMessage={}", JSON.toJSONString(payFinishMessage), e);
|
||||
} catch (Throwable t) {
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.RadishGiftMessage;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.business.service.gift.RadishGiftMessageService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Component
|
||||
public class RadishGiftMessageListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(RadishGiftMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private RadishGiftMessageService radishGiftMessageService;
|
||||
|
||||
@JmsListener(destination = "radish-gift-queue", containerFactory = "radishGiftContainer")
|
||||
public void onMessage(RadishGiftMessage radishGiftMessage) {
|
||||
/** 判断消息类型 */
|
||||
try {
|
||||
logger.info("onMessage radishGiftMessage: {}", radishGiftMessage.toString());
|
||||
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_radish_gift_status.getKey(), radishGiftMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
return;
|
||||
}
|
||||
radishGiftMessageService.handleRadishGiftMessage(radishGiftMessage);
|
||||
} catch (Exception e) {
|
||||
logger.error("message queue handle error, message={}", JSON.toJSONString(radishGiftMessage), e);
|
||||
} catch (Throwable t) {
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.SignDrawGoldMessage;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.business.service.signweb.SignDrawGoldService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 瓜分金币
|
||||
*/
|
||||
@Component
|
||||
public class SignDrawGoldMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(SignDrawGoldMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private SignDrawGoldService signDrawGoldService;
|
||||
|
||||
@JmsListener(destination = "sign-draw-gold-queue", containerFactory = "signDrawGoldContainer")
|
||||
public void onMessage(SignDrawGoldMessage signDrawGoldMessage) {
|
||||
/** 判断消息类型 */
|
||||
try {
|
||||
|
||||
logger.info("onMessage signDrawGoldMessage: {}", signDrawGoldMessage.toString());
|
||||
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_sign_draw_gold_status.getKey(), signDrawGoldMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
return;
|
||||
}
|
||||
signDrawGoldService.handleDrawGoldMessage(signDrawGoldMessage);
|
||||
} catch (Exception e) {
|
||||
logger.error("message queue handle error, message={}", JSON.toJSONString(signDrawGoldMessage), e);
|
||||
} catch (Throwable t) {
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.SignMessage;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.business.service.signweb.SignService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 每日签到奖励发放
|
||||
*/
|
||||
@Component
|
||||
public class SignMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(SignMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private SignService signService;
|
||||
|
||||
@JmsListener(destination = "sign-queue", containerFactory = "signContainer")
|
||||
public void onMessage(SignMessage signDrawGoldMessage) {
|
||||
/** 判断消息类型 */
|
||||
try {
|
||||
|
||||
logger.info("onMessage signDrawGoldMessage: {}", JSON.toJSONString(signDrawGoldMessage));
|
||||
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.mq_sign_status.getKey(), signDrawGoldMessage.getMessId());
|
||||
if (BlankUtil.isBlank(messStatus)) {
|
||||
return;
|
||||
}
|
||||
signService.handlerSign(signDrawGoldMessage);
|
||||
} catch (Exception e) {
|
||||
logger.error("message queue handle error, message={}", JSON.toJSONString(signDrawGoldMessage), e);
|
||||
} catch (Throwable t) {
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,59 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
|
||||
import com.accompany.business.service.gamemange.GameManageAccessTicketBizService;
|
||||
import com.accompany.core.vo.UserFirstLoginMsgVO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.xuanyin.gamematch.constants.GameManageAccessTicketEnum;
|
||||
import com.xuanyin.gamematch.handler.ticketaccessstatey.ITicketAccessStategy;
|
||||
import com.xuanyin.gamematch.handler.ticketaccessstatey.TicketAccessStategyFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class UserFirstLoginMsgListener {
|
||||
|
||||
@Autowired
|
||||
private TicketAccessStategyFactory factory;
|
||||
@Autowired
|
||||
private GameManageAccessTicketBizService gameManageAccessTicketBizService;
|
||||
|
||||
|
||||
@JmsListener(destination = "user_first_login_msg_queue",containerFactory = "userFirstLoginMsgContainer")
|
||||
public void onMessage(UserFirstLoginMsgVO msg) {
|
||||
log.info("用户首登消息队列, msg: {} ", JSON.toJSONString(msg));
|
||||
try {
|
||||
handleDayFirstLogin(msg);
|
||||
handleWeekFirstLogin(msg);
|
||||
} catch (Exception e) {
|
||||
log.error("用户首登消息队列消息失败", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
void handleDayFirstLogin(UserFirstLoginMsgVO msg) {
|
||||
if (msg.getIsDayFirstLogin()) {
|
||||
log.info("处理用户每日首登 uid {}", msg.getUid());
|
||||
ITicketAccessStategy stategy = factory.getInstance(GameManageAccessTicketEnum.DAY_LOGIN.getValue());
|
||||
stategy.doSend(msg.getUid());
|
||||
gameManageAccessTicketBizService.setTicketAccessInfoToCache(stategy.getAccessType().getValue(), msg.getUid());
|
||||
}
|
||||
}
|
||||
|
||||
@Async
|
||||
void handleWeekFirstLogin(UserFirstLoginMsgVO msg) {
|
||||
if (msg.getIsWeekFirstLogin()) {
|
||||
log.info("处理用户每周首登 uid {}", msg.getUid());
|
||||
ITicketAccessStategy stategy = factory.getInstance(GameManageAccessTicketEnum.WEEK_LOGIN.getValue());
|
||||
stategy.doSend(msg.getUid());
|
||||
gameManageAccessTicketBizService.setTicketAccessInfoToCache(stategy.getAccessType().getValue(), msg.getUid());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -1,48 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.util.StringUtils;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.accompany.business.message.VoiceLikeMessage;
|
||||
import com.accompany.business.service.voice.VoiceService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author chucheng
|
||||
* @date 2019-06-05
|
||||
* @description 声音瓶子 喜欢/不喜欢消息监听
|
||||
*/
|
||||
@Component
|
||||
public class VoiceLikeMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(VoiceLikeMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private VoiceService voiceService;
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
|
||||
@JmsListener(destination = "voice-like-queue",containerFactory = "jmsContainer3")
|
||||
public void onMessage(VoiceLikeMessage message) {
|
||||
try {
|
||||
logger.info("onMessage VoiceLikeMessage: {}", JSON.toJSONString(message));
|
||||
// 判断该消息是否已经消费过
|
||||
String messStatus = jedisService.hget(RedisKey.voice_like_status.getKey(), message.getMessId());
|
||||
if (StringUtils.isBlank(messStatus)) {
|
||||
logger.error("handleVoiceLikeMessage status error.message = {}", JSON.toJSONString(message));
|
||||
return;
|
||||
}
|
||||
voiceService.handleVoiceLikeMessage(message);
|
||||
} catch (Exception e) {
|
||||
logger.error("onMessage VoiceLikeMessage error, message={}", JSON.toJSONString(message), e);
|
||||
} catch(Throwable t){
|
||||
logger.error("queue throwable", t.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
package com.accompany.business.mq;
|
||||
|
||||
import com.accompany.business.message.YidunIMAntiMessage;
|
||||
import com.accompany.business.service.netease.YidunAntiHandleService;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jms.annotation.JmsListener;
|
||||
import org.springframework.jms.annotation.JmsListeners;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 易盾文本反垃圾消息处理
|
||||
*/
|
||||
@Component
|
||||
public class YidunIMTextAntiMessageListener {
|
||||
private static final Logger logger = LoggerFactory.getLogger(YidunIMTextAntiMessageListener.class);
|
||||
|
||||
@Autowired
|
||||
private YidunAntiHandleService yidunAntiHandleService;
|
||||
@Autowired
|
||||
private JedisService jedisService;
|
||||
|
||||
@JmsListeners(value = {
|
||||
@JmsListener(destination = "yindun-text-anti-queue",containerFactory = "yidunIMAntiContainer")
|
||||
})
|
||||
public void onMessage(YidunIMAntiMessage message) {
|
||||
logger.info("handle yidun im text anti message {}", JSON.toJSONString(message));
|
||||
try {
|
||||
yidunAntiHandleService.handlIMTextAnti(message.getChatMsg());
|
||||
} catch (Exception e) {
|
||||
logger.error("Failed to resolved the message. msg: {}", JSON.toJSONString(message), e);
|
||||
}
|
||||
|
||||
// 删除消息标识
|
||||
jedisService.hdel(RedisKey.mq_yindun_im_text_anti_status.getKey(), message.getMessId());
|
||||
}
|
||||
}
|
@@ -1,8 +1,6 @@
|
||||
package servicetest;
|
||||
|
||||
import com.accompany.business.service.home.HomeService;
|
||||
import com.accompany.business.service.room.RoomSearchService;
|
||||
import com.accompany.business.service.room.SingleBroadcastPopularityService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.roomtab.TopRoomTabHomeVo;
|
||||
import com.accompany.common.device.DeviceInfo;
|
||||
@@ -11,15 +9,8 @@ import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.account.AccountService;
|
||||
import com.accompany.core.service.channel.ChannelContentPartitionService;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.vo.UserFirstLoginMsgVO;
|
||||
import com.accompany.core.vo.user.SearchVo;
|
||||
import com.google.gson.Gson;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
@@ -28,10 +19,6 @@ import java.util.Set;
|
||||
|
||||
public class ChannelContentServiceTest extends CommonTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(ChannelContentServiceTest.class);
|
||||
|
||||
@Autowired
|
||||
private RoomSearchService roomSearchService;
|
||||
@Autowired
|
||||
private HomeService homeService;
|
||||
@Autowired
|
||||
@@ -42,14 +29,10 @@ public class ChannelContentServiceTest extends CommonTest {
|
||||
private JedisService jedisService;
|
||||
@Autowired
|
||||
private AccountService accountService;
|
||||
@Autowired
|
||||
private SingleBroadcastPopularityService singleBroadcastPopularityService;
|
||||
|
||||
private Gson gson = new Gson();
|
||||
|
||||
|
||||
@Test
|
||||
public void testTopRoomHome() throws IOException {
|
||||
public void testTopRoomHome() {
|
||||
List<TopRoomTabHomeVo> list = homeService.getTopRoomHome(1);
|
||||
//list = homeService.filterByChannelContent(1351105l, new DeviceInfo(), list, homeService::filterTopRoomTabByChannel);
|
||||
System.out.println("运行结束.....");
|
||||
@@ -94,11 +77,6 @@ public class ChannelContentServiceTest extends CommonTest {
|
||||
System.out.println("运行结束.....");
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "adPlatformLoginMsgJmsTemplate")
|
||||
private JmsTemplate adPlatformLoginMsgJmsTemplate;
|
||||
|
||||
@Test
|
||||
public void testAccountChannelByUid() {
|
||||
//Account account= accountService.getAccountChannelByUid(934999l);
|
||||
|
@@ -1,81 +0,0 @@
|
||||
/*
|
||||
* 文 件 名: ClanServiceTest
|
||||
* 版 权:
|
||||
* 描 述: <描述>
|
||||
* 创建人: H1
|
||||
* 创建时间: 2020/11/18
|
||||
* 修改人:
|
||||
* 修改内容:
|
||||
* 修改时间:
|
||||
*/
|
||||
package servicetest;
|
||||
|
||||
import com.accompany.business.message.GiftMessage;
|
||||
import com.accompany.business.model.clan.ClanAccountAssociate;
|
||||
import com.accompany.business.model.clan.ClanAssociateTransferRecord;
|
||||
import com.accompany.business.service.clan.ClanAccountAssociateService;
|
||||
import com.accompany.business.service.clan.ClanAssociateTransferRecordService;
|
||||
import com.accompany.business.service.clan.ClanService;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.vo.clan.ClanVO;
|
||||
import com.accompany.common.utils.StringUtils;
|
||||
import com.accompany.core.enumeration.BillObjTypeEnum;
|
||||
import com.accompany.core.vo.UserFirstLoginMsgVO;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
|
||||
/**
|
||||
* <br>类描述:
|
||||
* <br>功能详细描述:
|
||||
*
|
||||
* @author H1
|
||||
* @date [2020/11/18]
|
||||
*/
|
||||
//@RunWith(SpringJUnit4ClassRunner.class)
|
||||
//@SpringBootTest(classes = BusinessApplication.class)
|
||||
public class ClanServiceTest extends CommonTest{
|
||||
|
||||
@Autowired
|
||||
private ClanService clanService;
|
||||
|
||||
@Autowired
|
||||
private BillRecordService billRecordService;
|
||||
|
||||
@Autowired
|
||||
private ClanAccountAssociateService clanAccountAssociateService;
|
||||
|
||||
@Autowired
|
||||
private UserPurseService userPurseService;
|
||||
|
||||
@Autowired
|
||||
private ClanAssociateTransferRecordService clanAssociateTransferRecordService;
|
||||
|
||||
@Test
|
||||
public void getUserClanInfoTest() {
|
||||
long userId = 936999L;
|
||||
// long userId = 936477L;
|
||||
// long userId = 934999L;
|
||||
ClanVO info = clanService.getUserClanInfo(userId);
|
||||
System.out.println(JSON.toJSONString(info));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
@Qualifier( value = "adPlatformLoginMsgJmsTemplate")
|
||||
private JmsTemplate adPlatformLoginMsgJmsTemplate;
|
||||
@Test
|
||||
public void test() {
|
||||
UserFirstLoginMsgVO msg = new UserFirstLoginMsgVO();
|
||||
msg.setUid(1003848L);
|
||||
msg.setChannel("official");
|
||||
adPlatformLoginMsgJmsTemplate.convertAndSend("ad_platform_user_login_msg_queue", msg);
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -42,16 +42,6 @@
|
||||
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-spring</artifactId>
|
||||
<version>5.14.5</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.jms</groupId>
|
||||
<artifactId>javax.jms-api</artifactId>
|
||||
<version>2.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.googlecode.libphonenumber</groupId>
|
||||
<artifactId>libphonenumber</artifactId>
|
||||
|
@@ -8,7 +8,6 @@ import com.accompany.core.service.account.LoginRecordService;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.vo.UserFirstLoginMsgVO;
|
||||
import com.accompany.oauth2.mq.RocketMQService;
|
||||
import com.accompany.oauth2.service.account.AccountManageService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.accompany.oauth2.model.AccountDetails;
|
||||
@@ -17,8 +16,6 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.oauth2.common.OAuth2AccessToken;
|
||||
|
@@ -1,171 +0,0 @@
|
||||
package com.accompany.oauth2.config;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.ActiveMQPrefetchPolicy;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
import org.apache.activemq.pool.PooledConnectionFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jms.annotation.EnableJms;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.Queue;
|
||||
import javax.jms.Topic;
|
||||
import java.util.Arrays;
|
||||
|
||||
|
||||
@Component
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "activemq")
|
||||
@EnableJms
|
||||
public class JmsConfig {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(JmsConfig.class);
|
||||
|
||||
private String brokerUrl;
|
||||
|
||||
private String user;
|
||||
|
||||
private String password;
|
||||
|
||||
private int maxConnections;
|
||||
|
||||
private int idleTimeout;
|
||||
|
||||
public final static String MY_QUEUE = "spring-queue";
|
||||
// 用户首登消息队列
|
||||
public final static String USER_FIRST_LOGIN_MSG_QUEUE = "user_first_login_msg_queue";
|
||||
|
||||
/**
|
||||
* 定义点对点队列
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Queue myQueue() {
|
||||
return new ActiveMQQueue(MY_QUEUE);
|
||||
}
|
||||
|
||||
@Primary
|
||||
@Bean("myConnectionFactory")
|
||||
public ConnectionFactory connectionFactory() {
|
||||
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user,password,brokerUrl);
|
||||
logger.info("user: " + user + " pass:" + password + " broker:" + brokerUrl);
|
||||
factory.setTrustAllPackages(true);
|
||||
|
||||
|
||||
factory.setTrustedPackages(Arrays.asList("java.lang","javax.security","java.util","org.apache.activemq","com.accompany.business.message"));
|
||||
ActiveMQPrefetchPolicy prefetchPolicy = factory.getPrefetchPolicy();
|
||||
prefetchPolicy.setQueuePrefetch(100);
|
||||
factory.setPrefetchPolicy(prefetchPolicy);
|
||||
|
||||
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(factory);
|
||||
pooledConnectionFactory.setMaxConnections(maxConnections);
|
||||
pooledConnectionFactory.setIdleTimeout(idleTimeout);
|
||||
|
||||
return pooledConnectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置队列生产者的JmsTemplate
|
||||
* @param activeMQConnectionFactory
|
||||
* @return
|
||||
*/
|
||||
@Bean("jmsTemplate")
|
||||
public JmsTemplate jmsTemplate(@Qualifier("myConnectionFactory") ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setExplicitQosEnabled(true);
|
||||
template.setDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
template.setDefaultDestination(myQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 用户首登通知队列
|
||||
*/
|
||||
@Bean
|
||||
public Queue userFirstLoginMsgQueue() { return new ActiveMQQueue(USER_FIRST_LOGIN_MSG_QUEUE); }
|
||||
|
||||
@Bean("userFirstLoginMsgJmsTemplate")
|
||||
public JmsTemplate userFirstLoginMsgJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(userFirstLoginMsgQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
@Bean("userFirstLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory userFirstLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("adPlatformUserLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory adPlatformUserLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
public String getBrokerUrl() {
|
||||
return brokerUrl;
|
||||
}
|
||||
|
||||
public void setBrokerUrl(String brokerUrl) {
|
||||
this.brokerUrl = brokerUrl;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(String user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getMaxConnections() {
|
||||
return maxConnections;
|
||||
}
|
||||
|
||||
public void setMaxConnections(int maxConnections) {
|
||||
this.maxConnections = maxConnections;
|
||||
}
|
||||
|
||||
public int getIdleTimeout() {
|
||||
return idleTimeout;
|
||||
}
|
||||
|
||||
public void setIdleTimeout(int idleTimeout) {
|
||||
this.idleTimeout = idleTimeout;
|
||||
}
|
||||
}
|
@@ -1,344 +0,0 @@
|
||||
package com.accompany.scheduler.config;
|
||||
|
||||
import org.apache.activemq.ActiveMQConnectionFactory;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
import org.apache.activemq.pool.PooledConnectionFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
|
||||
import org.springframework.jms.core.JmsTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.DeliveryMode;
|
||||
import javax.jms.Queue;
|
||||
import javax.jms.Topic;
|
||||
|
||||
/**
|
||||
* @Author yubin
|
||||
* @Description //TODO
|
||||
* @Date 2019-04-10 16:29
|
||||
*/
|
||||
|
||||
@Component
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "activemq")
|
||||
public class JmsConfig {
|
||||
|
||||
private String brokerUrl;
|
||||
|
||||
private String user;
|
||||
|
||||
private String password;
|
||||
|
||||
private int maxConnections;
|
||||
|
||||
private int idleTimeout;
|
||||
|
||||
public final static String MY_QUEUE = "spring-queue";
|
||||
public final static String GIFT_QUEUE = "gift-queue";
|
||||
public final static String OPENBOX_QUEUE = "openbox-queue";
|
||||
|
||||
//用户退出清除已点歌曲的延迟队列
|
||||
public final static String CLEAN_MUSIC_QUEUE = "clean-music-queue";
|
||||
//活动礼包队列
|
||||
public final static String ACTIVITY_PACK_QUEUE = "activity-pack-queue";
|
||||
|
||||
public final static String PAY_FINISH_QUEUE = "pay-finish-queue";
|
||||
|
||||
public final static String LINEARLY_POOL_DEFAULT_QUEUE = "linearly-pool-draw-queue";
|
||||
|
||||
/**
|
||||
* 定义点对点队列
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Queue myQueue() {
|
||||
return new ActiveMQQueue(MY_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue giftQueue() {
|
||||
return new ActiveMQQueue(GIFT_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue openBoxQueue() {
|
||||
return new ActiveMQQueue(OPENBOX_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public Queue cleanMusicQueue() {
|
||||
return new ActiveMQQueue(CLEAN_MUSIC_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue activityPackQueue() {
|
||||
return new ActiveMQQueue(ACTIVITY_PACK_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue payFinishQueue() {
|
||||
return new ActiveMQQueue(PAY_FINISH_QUEUE);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public Queue linearlyPoolDefaultQueue() {
|
||||
return new ActiveMQQueue(LINEARLY_POOL_DEFAULT_QUEUE);
|
||||
}
|
||||
|
||||
|
||||
@Primary
|
||||
@Bean("myConnectionFactory")
|
||||
public ConnectionFactory connectionFactory() {
|
||||
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(user,password,brokerUrl);
|
||||
factory.setTrustAllPackages(true);
|
||||
|
||||
PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(factory);
|
||||
pooledConnectionFactory.setMaxConnections(maxConnections);
|
||||
pooledConnectionFactory.setIdleTimeout(idleTimeout);
|
||||
|
||||
return pooledConnectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置队列生产者的JmsTemplate
|
||||
* @param activeMQConnectionFactory
|
||||
* @return
|
||||
*/
|
||||
@Bean("jmsTemplate")
|
||||
public JmsTemplate jmsTemplate(@Qualifier("myConnectionFactory") ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setExplicitQosEnabled(true);
|
||||
template.setDeliveryMode(DeliveryMode.PERSISTENT);
|
||||
template.setDefaultDestination(myQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("giftJmsTemplate")
|
||||
public JmsTemplate giftJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(giftQueue());
|
||||
template.setSessionTransacted(true);
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("openBoxJmsTemplate")
|
||||
public JmsTemplate openBoxJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(openBoxQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("cleanMusicJmsTemplate")
|
||||
public JmsTemplate cleanMusicJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(cleanMusicQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("activityPackJmsTemplate")
|
||||
public JmsTemplate activityPackJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(activityPackQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("payFinishJmsTemplate")
|
||||
public JmsTemplate payFinishJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(payFinishQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
@Bean("linearlyPoolJmsTemplate")
|
||||
public JmsTemplate linearlyPoolJmsTemplate(@Qualifier("myConnectionFactory")ConnectionFactory activeMQConnectionFactory) {
|
||||
JmsTemplate template = new JmsTemplate(activeMQConnectionFactory);
|
||||
template.setDefaultDestination(linearlyPoolDefaultQueue());
|
||||
return template;
|
||||
}
|
||||
|
||||
|
||||
@Bean("jmsContainer")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer2")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory2() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
|
||||
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("jmsContainer3")
|
||||
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory3() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("giftMagicJmsContainer")
|
||||
public DefaultJmsListenerContainerFactory giftMagicJmsContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Bean("boxPrizeContainer")
|
||||
public DefaultJmsListenerContainerFactory boxPrizeContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("cleanMusicContainer")
|
||||
public DefaultJmsListenerContainerFactory cleanMusicContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("activityPackContainer")
|
||||
public DefaultJmsListenerContainerFactory activityPackContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("signDrawGoldContainer")
|
||||
public DefaultJmsListenerContainerFactory signDrawGoldContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("signContainer")
|
||||
public DefaultJmsListenerContainerFactory signContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("radishGiftContainer")
|
||||
public DefaultJmsListenerContainerFactory radishGiftContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
@Bean("payFinishContainer")
|
||||
public DefaultJmsListenerContainerFactory payFinishContainer() {
|
||||
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
|
||||
@Bean("adPlatformUserLoginMsgContainer")
|
||||
public DefaultJmsListenerContainerFactory adPlatformUserLoginMsgContainer() {
|
||||
DefaultJmsListenerContainerFactory factory
|
||||
= new DefaultJmsListenerContainerFactory();
|
||||
factory.setConnectionFactory(connectionFactory());
|
||||
factory.setSessionTransacted(true);
|
||||
factory.setSessionAcknowledgeMode(4);
|
||||
factory.setConcurrency("4-8");
|
||||
return factory;
|
||||
}
|
||||
|
||||
public String getBrokerUrl() {
|
||||
return brokerUrl;
|
||||
}
|
||||
|
||||
public void setBrokerUrl(String brokerUrl) {
|
||||
this.brokerUrl = brokerUrl;
|
||||
}
|
||||
|
||||
public String getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(String user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getMaxConnections() {
|
||||
return maxConnections;
|
||||
}
|
||||
|
||||
public void setMaxConnections(int maxConnections) {
|
||||
this.maxConnections = maxConnections;
|
||||
}
|
||||
|
||||
public int getIdleTimeout() {
|
||||
return idleTimeout;
|
||||
}
|
||||
|
||||
public void setIdleTimeout(int idleTimeout) {
|
||||
this.idleTimeout = idleTimeout;
|
||||
}
|
||||
}
|
12
pom.xml
12
pom.xml
@@ -886,18 +886,6 @@
|
||||
<version>${mybatisplus.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-jms</artifactId>
|
||||
<version>5.1.3.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-client</artifactId>
|
||||
<version>5.14.5</version>
|
||||
</dependency>
|
||||
|
||||
<!--<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-mongodb</artifactId>
|
||||
|
@@ -22,17 +22,6 @@
|
||||
<artifactId>accompany-core</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-activemq</artifactId>-->
|
||||
<!-- <scope>test</scope>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>javax.jms</groupId>
|
||||
<artifactId>javax.jms-api</artifactId>
|
||||
<version>2.0.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
Reference in New Issue
Block a user