diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml
index cd0e462c73..2cf945e9b6 100644
--- a/epmet-admin/epmet-admin-server/pom.xml
+++ b/epmet-admin/epmet-admin-server/pom.xml
@@ -136,6 +136,7 @@
false
+ true
192.168.1.140:9876;192.168.1.141:9876
epmet_message
@@ -172,6 +173,7 @@
false
+ false
192.168.1.140:9876;192.168.1.141:9876
epmet_message
@@ -205,6 +207,7 @@
true
+ true
192.168.10.161:9876
epmet_message
@@ -238,6 +241,7 @@
true
+ true
192.168.11.187:9876;192.168.11.184:9876
epmet_message
diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
index 1399fe6a13..8c07d1279d 100644
--- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
+++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/RocketMQConsumerRegister.java
@@ -2,6 +2,8 @@ package com.epmet.mq.listener;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
+import com.epmet.commons.rocketmq.register.MQAbstractRegister;
+import com.epmet.commons.rocketmq.register.MQConsumerProperties;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.mq.listener.listener.AuthOperationLogListener;
import com.epmet.mq.listener.listener.PointOperationLogListener;
@@ -16,55 +18,15 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
-public class RocketMQConsumerRegister {
- @Value("${spring.profiles.active}")
- private String env;
- @Value("${rocketmq.name-server}")
- private String nameServer;
+public class RocketMQConsumerRegister extends MQAbstractRegister {
- /**
- * @return
- * @Description 注册监听器
- * @author wxz
- * @date 2021.03.03 16:09
- */
- @PostConstruct
- public void registerAllListeners() {
- try {
- if (!EnvEnum.LOCAL.getCode().equals(env)) {
- register(nameServer, ConsomerGroupConstants.AUTH_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.AUTH, "*", new AuthOperationLogListener());
- register(nameServer, ConsomerGroupConstants.PROJECT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectOperationLogListener());
- register(nameServer, ConsomerGroupConstants.POINT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.POINT, "*", new PointOperationLogListener());
- }
- } catch (MQClientException e) {
- e.printStackTrace();
- }
- }
-
- public void register(String nameServer, String group, MessageModel messageModel, String topic, String subException, MessageListenerConcurrently listener) throws MQClientException {
- // 实例化消费者
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group);
-
- // 设置NameServer的地址
- consumer.setNamesrvAddr(nameServer);
- consumer.setMessageModel(messageModel);
- consumer.setInstanceName(buildInstanceName());
- // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
- consumer.subscribe(topic, subException);
- // 注册回调实现类来处理从broker拉取回来的消息
- consumer.registerMessageListener(listener);
- // 启动消费者实例
- consumer.start();
- }
-
- private String buildInstanceName() {
- String instanceName = "";
- for (int i = 0; i < 4; i++) {
- int t = (int) (Math.random() * 10);
- instanceName = instanceName.concat(t + "");
- }
+ @Override
+ public void registerAllListeners(String env, MQConsumerProperties consumerProperties) {
+ // 客户初始化监听器注册
+ register(consumerProperties, ConsomerGroupConstants.AUTH_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.AUTH, "*", new AuthOperationLogListener());
+ register(consumerProperties, ConsomerGroupConstants.PROJECT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectOperationLogListener());
+ register(consumerProperties, ConsomerGroupConstants.POINT_OPERATION_LOG_GROUP, MessageModel.CLUSTERING, TopicConstants.POINT, "*", new PointOperationLogListener());
- return instanceName;
+ // ...其他监听器类似
}
-
-}
+}
\ No newline at end of file
diff --git a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml
index 0d9082cec3..74c6bc2567 100644
--- a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml
+++ b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml
@@ -136,4 +136,5 @@ shutdown:
waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警
rocketmq:
+ enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@
\ No newline at end of file
diff --git a/epmet-commons/epmet-commons-rocketmq/pom.xml b/epmet-commons/epmet-commons-rocketmq/pom.xml
index 346f055ccc..75b7a9d1a5 100644
--- a/epmet-commons/epmet-commons-rocketmq/pom.xml
+++ b/epmet-commons/epmet-commons-rocketmq/pom.xml
@@ -26,5 +26,10 @@
org.projectlombok
lombok
+
+ com.epmet
+ epmet-commons-tools
+ 2.0.0
+
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java
deleted file mode 100644
index 71a8fea41c..0000000000
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.epmet.commons.rocketmq.register;
-
-import lombok.Data;
-import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
-
-import java.io.Serializable;
-
-/**
- * desc:mq 消费配置类
- *
- * @author: LiuJanJun
- * @date: 2021/4/30 2:39 下午
- * @version: 1.0
- */
-@Data
-public class ConsumerConfigProperties implements Serializable {
-
- private static final long serialVersionUID = 2069676324708473773L;
- /**
- * 消费者组
- */
- private String consumerGroup;
- /**
- * 主题
- */
- private String topic;
- /**
- * 标签
- */
- private String tag = "*";
- /**
- * 最小消费的线程数
- */
- private int consumeThreadMin = 2;
- /**
- * 最大消费的线程数
- */
- private int consumeThreadMax = 4;
- /**
- * 消费监听器
- */
- private MessageListenerConcurrently consumerListener;
-}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQAbstractRegister.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQAbstractRegister.java
new file mode 100644
index 0000000000..b1ca887c59
--- /dev/null
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQAbstractRegister.java
@@ -0,0 +1,77 @@
+package com.epmet.commons.rocketmq.register;
+
+import com.epmet.commons.tools.exception.ExceptionUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
+import org.apache.rocketmq.client.consumer.listener.MessageListener;
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
+
+/**
+ * @author wxz
+ * @Description 父类抽象注册器
+ * @date 2021.07.14 15:38:21
+ */
+@Slf4j
+public abstract class MQAbstractRegister {
+
+ /**
+ * @Description 注册所有监听器,由子类实现,做具体监听器的注册
+ * @return
+ * @author wxz
+ * @date 2021.07.14 15:48
+ */
+ public abstract void registerAllListeners(String env, MQConsumerProperties consumerProperties);
+
+ /**
+ * @Description 真正执行注册的方法,供子类直接调用,子类也可以覆盖该方法
+ * @return
+ * @author wxz
+ * @date 2021.07.14 15:56
+ */
+ public void register(MQConsumerProperties consumerProperties, String group, MessageModel messageModel, String topic, String subExpression, MessageListener listener) {
+ try {
+ String nameServer = consumerProperties.getNameServer();
+ Integer consumeThreadMin = consumerProperties.getConsumeThreadMin();
+ Integer consumeThreadMax = consumerProperties.getConsumeThreadMax();
+ String instanceName = buildInstanceName();
+ // 实例化消费者
+ DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group);
+
+ // 设置NameServer的地址
+ consumer.setNamesrvAddr(nameServer);
+ consumer.setMessageModel(messageModel);
+ consumer.setInstanceName(instanceName);
+ // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
+ consumer.subscribe(topic, subExpression);
+ // 注册回调实现类来处理从broker拉取回来的消息
+ consumer.registerMessageListener(listener);
+ if (consumeThreadMin != null) {
+ consumer.setConsumeThreadMin(consumeThreadMin);
+ }
+ if (consumeThreadMax != null) {
+ consumer.setConsumeThreadMax(consumeThreadMax);
+ }
+ // 启动消费者实例
+ consumer.start();
+ log.info(String.format("监听器注册完成,消费者组:%s,Topic:%s,Tag:%s,实例名称:%s", group, topic, subExpression, instanceName));
+ } catch (Exception e) {
+ log.error(String.format("监听器注册失败,消费者组:%s,Topic:%s,Tag:%s。详细信息:%s", group, topic, subExpression, ExceptionUtils.getErrorStackTrace(e)));
+ }
+ }
+
+ /**
+ * @Description 构造实例名称
+ * @return
+ * @author wxz
+ * @date 2021.07.14 15:56
+ */
+ private String buildInstanceName() {
+ String instanceName = "";
+ for (int i = 0; i < 4; i++) {
+ int t = (int) (Math.random() * 10);
+ instanceName = instanceName.concat(t + "");
+ }
+ return instanceName;
+ }
+}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerProperties.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerProperties.java
new file mode 100644
index 0000000000..76af70e0e2
--- /dev/null
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerProperties.java
@@ -0,0 +1,29 @@
+package com.epmet.commons.rocketmq.register;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * @Description 注册属性
+ * @author wxz
+ * @date 2021.07.14 15:33:16
+*/
+@Data
+@ConfigurationProperties(prefix = "rocketmq")
+public class MQConsumerProperties {
+
+ /**
+ * nameServer
+ */
+ private String nameServer;
+
+ /**
+ * 最小消费线程数
+ */
+ private Integer consumeThreadMin;
+ /**
+ * 最大消费线程数
+ */
+ private Integer consumeThreadMax;
+
+}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java
deleted file mode 100644
index 3387b55931..0000000000
--- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.epmet.commons.rocketmq.register;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
-import org.apache.rocketmq.client.exception.MQClientException;
-import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
-import org.springframework.beans.factory.annotation.Value;
-
-import javax.annotation.PostConstruct;
-
-/**
- * desc:注册mq监听器
- *
- * @author liujianjun
- */
-@Slf4j
-public abstract class MQConsumerRegister {
- @Value("${spring.profiles.active}")
- private String env;
- @Value("${rocketmq.name-server}")
- private String namesrvAddr;
-
- public abstract ConsumerConfigProperties getConsumerProperty();
-
-
- /**
- * @return
- * @Description 注册监听器
- * @author wxz
- * @date 2021.03.03 16:09
- */
- @PostConstruct
- public void registerMQListener() {
- ConsumerConfigProperties consumerProperty = getConsumerProperty();
- log.info("registerAllListeners consumers:{} success", consumerProperty);
- //本地环境不注册
- //if (!"local".equals(env)) {
- try {
- // 实例化消费者
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerProperty.getConsumerGroup());
-
- // 设置NameServer的地址
- consumer.setNamesrvAddr(namesrvAddr);
- consumer.setMessageModel(MessageModel.CLUSTERING);
- consumer.setInstanceName(buildInstanceName());
- // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
- consumer.subscribe(consumer.getConsumerGroup(), consumerProperty.getTag());
- // 注册回调实现类来处理从broker拉取回来的消息
- consumer.registerMessageListener(consumerProperty.getConsumerListener());
- consumer.setConsumeThreadMin(consumerProperty.getConsumeThreadMin());
- consumer.setConsumeThreadMax(consumerProperty.getConsumeThreadMax());
- // 启动消费者实例
- consumer.start();
- } catch (MQClientException e) {
- log.info("registerMQListener exception", e);
- }
-
- //}
-
- }
-
- /**
- * desc: 因为docker-compose部署有问题 所有自己命名
- *
- * @param
- * @return java.lang.String
- * @author LiuJanJun
- * @date 2021/4/30 5:00 下午
- */
- private String buildInstanceName() {
- String instanceName = "";
- for (int i = 0; i < 4; i++) {
- int t = (int) (Math.random() * 10);
- instanceName = instanceName.concat(t + "");
- }
-
- return instanceName;
- }
-}
diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQRegisterConfiguration.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQRegisterConfiguration.java
new file mode 100644
index 0000000000..77e3d178f7
--- /dev/null
+++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQRegisterConfiguration.java
@@ -0,0 +1,35 @@
+package com.epmet.commons.rocketmq.register;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @author wxz
+ * @Description MQ注册配置类
+ * @date 2021.07.14 15:36:24
+ */
+@Configuration
+@ConditionalOnProperty(prefix = "rocketmq", name = "enable", havingValue = "true", matchIfMissing = false)
+@EnableConfigurationProperties(MQConsumerProperties.class)
+@Slf4j
+public class MQRegisterConfiguration {
+
+ @Value("${spring.profiles.active}")
+ private String env;
+ @Autowired
+ private MQConsumerProperties consumerProperties;
+ @Autowired
+ private MQAbstractRegister mqRegister;
+
+ @PostConstruct
+ public void register() {
+ mqRegister.registerAllListeners(env, consumerProperties);
+ log.info("监听器注册动作执行完毕");
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml
index 7078d85f28..060a44c451 100644
--- a/epmet-module/data-statistical/data-statistical-server/pom.xml
+++ b/epmet-module/data-statistical/data-statistical-server/pom.xml
@@ -256,6 +256,7 @@
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ true
192.168.1.140:9876;192.168.1.141:9876
@@ -375,6 +376,7 @@
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ local
192.168.1.140:9876;192.168.1.141:9876
@@ -493,6 +495,7 @@
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ true
192.168.10.161:9876
@@ -609,6 +612,7 @@
SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1
+ true
192.168.11.187:9876;192.168.11.184:9876
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
index c383ae1b41..33ee4218e3 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
@@ -2,6 +2,8 @@ package com.epmet.mq;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
+import com.epmet.commons.rocketmq.register.MQAbstractRegister;
+import com.epmet.commons.rocketmq.register.MQConsumerProperties;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.EnvEnum;
import lombok.extern.slf4j.Slf4j;
@@ -14,57 +16,13 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
-@Slf4j
@Component
-public class RocketMQConsumerRegister {
- @Value("${spring.profiles.active}")
- private String env;
- @Value("${rocketmq.name-server}")
- private String nameServer;
+public class RocketMQConsumerRegister extends MQAbstractRegister {
- /**
- * @return
- * @Description 注册监听器
- * @author wxz
- * @date 2021.03.03 16:09
- */
- @PostConstruct
- public void registerAllListeners() {
- try {
- if (!EnvEnum.LOCAL.getCode().equals(env)) {
- register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectChangedCustomListener());
- }
- } catch (MQClientException e) {
- log.error("registerAllListeners exception", e);
- }
+ @Override
+ public void registerAllListeners(String env, MQConsumerProperties consumerProperties) {
+ // 客户初始化监听器注册
+ register(consumerProperties, ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectChangedCustomListener());
+ // ...其他监听器类似
}
-
- public void register(String group, MessageModel messageModel, String topic, String subException, MessageListenerConcurrently listener) throws MQClientException {
- // 实例化消费者
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group);
-
- // 设置NameServer的地址
- consumer.setNamesrvAddr(nameServer);
- consumer.setMessageModel(messageModel);
- consumer.setInstanceName(buildInstanceName());
- // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
- consumer.subscribe(topic, subException);
- // 注册回调实现类来处理从broker拉取回来的消息
- consumer.registerMessageListener(listener);
- //一次批量拉去10条消息
- consumer.setConsumeMessageBatchMaxSize(NumConstant.TEN);
- // 启动消费者实例
- consumer.start();
- }
-
- private String buildInstanceName() {
- String instanceName = "";
- for (int i = 0; i < 4; i++) {
- int t = (int) (Math.random() * 10);
- instanceName = instanceName.concat(t + "");
- }
-
- return instanceName;
- }
-
-}
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
index c0479d72a3..7723414608 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml
@@ -207,4 +207,5 @@ shutdown:
waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警
rocketmq:
+ enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@
diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml
index 22bf17bb8e..ff1aa71829 100644
--- a/epmet-module/gov-issue/gov-issue-server/pom.xml
+++ b/epmet-module/gov-issue/gov-issue-server/pom.xml
@@ -175,6 +175,7 @@
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ true
192.168.1.140:9876;192.168.1.141:9876
@@ -215,6 +216,7 @@
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ false
192.168.1.140:9876;192.168.1.141:9876
@@ -254,6 +256,7 @@
https://oapi.dingtalk.com/robot/send?access_token=e894e5690f9d6a527722974c71548ff6c0fe29bd956589a09e21b16442a35ed4
SECfcc020bdc83bb17a2c00f39977b1fbc409ef4188c7beaea11c5caa90eeaf87fd
+ true
192.168.10.161:9876
@@ -294,6 +297,7 @@
+ true
192.168.11.187:9876;192.168.11.184:9876
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
index 1674e82553..ff16d20238 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
@@ -2,6 +2,8 @@ package com.epmet.mq;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
+import com.epmet.commons.rocketmq.register.MQAbstractRegister;
+import com.epmet.commons.rocketmq.register.MQConsumerProperties;
import com.epmet.mq.listener.IssueProjectCategoryTagInitListener;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.MessageListener;
@@ -13,50 +15,13 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
-public class RocketMQConsumerRegister {
+public class RocketMQConsumerRegister extends MQAbstractRegister {
- @Value("${rocketmq.name-server}")
- private String nameServer;
+ @Override
+ public void registerAllListeners(String env, MQConsumerProperties consumerProperties) {
+ // 客户初始化监听器注册
+ register(consumerProperties, ConsomerGroupConstants.ISSUE_PROJECT_CATEGORY_TAG, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new IssueProjectCategoryTagInitListener());
- /**
- * @return
- * @Description 注册监听器
- * @author wxz
- * @date 2021.03.03 16:09
- */
- @PostConstruct
- public void registerAllListeners() {
- try {
- register(nameServer, ConsomerGroupConstants.ISSUE_PROJECT_CATEGORY_TAG, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new IssueProjectCategoryTagInitListener());
- } catch (MQClientException e) {
- e.printStackTrace();
- }
+ // ...其他监听器类似
}
-
- public void register(String nameServer, String group, MessageModel messageModel, String topic, String subException, MessageListener listener) throws MQClientException {
- // 实例化消费者
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group);
-
- // 设置NameServer的地址
- consumer.setNamesrvAddr(nameServer);
- consumer.setMessageModel(messageModel);
- consumer.setInstanceName(buildInstanceName());
- // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
- consumer.subscribe(topic, subException);
- // 注册回调实现类来处理从broker拉取回来的消息
- consumer.registerMessageListener(listener);
- // 启动消费者实例
- consumer.start();
- }
-
- private String buildInstanceName() {
- String instanceName = "";
- for (int i = 0; i < 4; i++) {
- int t = (int) (Math.random() * 10);
- instanceName = instanceName.concat(t + "");
- }
-
- return instanceName;
- }
-
-}
+}
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml
index 9e787eb546..09823befef 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml
@@ -129,4 +129,5 @@ shutdown:
waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警
rocketmq:
+ enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@
diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml
index 3c63b58119..c6dba17041 100644
--- a/epmet-module/gov-org/gov-org-server/pom.xml
+++ b/epmet-module/gov-org/gov-org-server/pom.xml
@@ -170,6 +170,7 @@
+ true
192.168.1.140:9876;192.168.1.141:9876
epmet_message
@@ -212,6 +213,7 @@
+ false
192.168.1.140:9876;192.168.1.141:9876
epmet_message
@@ -255,6 +257,7 @@
+ true
192.168.10.161:9876
epmet_message
@@ -295,6 +298,7 @@
+ true
192.168.11.187:9876;192.168.11.184:9876
epmet_message
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
index bfe0f9f00f..ea2474714b 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
@@ -2,65 +2,36 @@ package com.epmet.mq;
import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants;
import com.epmet.commons.rocketmq.constants.TopicConstants;
+import com.epmet.commons.rocketmq.register.MQAbstractRegister;
+import com.epmet.commons.rocketmq.register.MQConsumerProperties;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.mq.listener.InitCustomerOrgRolesListener;
-import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
-import org.apache.rocketmq.client.consumer.listener.MessageListener;
-import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
-
+/**
+ * @Description 如果rocketmq.enable=true,这里必须实现,且 实例化
+ * @author wxz
+ * @date 2021.07.14 17:13:41
+*/
@Component
-public class RocketMQConsumerRegister {
- @Value("${spring.profiles.active}")
- private String env;
- @Value("${rocketmq.name-server}")
- private String nameServer;
-
- /**
- * @return
- * @Description 注册监听器
- * @author wxz
- * @date 2021.03.03 16:09
- */
- @PostConstruct
- public void registerAllListeners() {
- try {
- if (!EnvEnum.LOCAL.getCode().equals(env)) {
- register(nameServer, ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new InitCustomerOrgRolesListener());
- }
- } catch (MQClientException e) {
- e.printStackTrace();
- }
- }
-
- public void register(String nameServer, String group, MessageModel messageModel, String topic, String subException, MessageListener listener) throws MQClientException {
- // 实例化消费者
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group);
-
- // 设置NameServer的地址
- consumer.setNamesrvAddr(nameServer);
- consumer.setMessageModel(messageModel);
- consumer.setInstanceName(buildInstanceName());
- // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息
- consumer.subscribe(topic, subException);
- // 注册回调实现类来处理从broker拉取回来的消息
- consumer.registerMessageListener(listener);
- // 启动消费者实例
- consumer.start();
+public class RocketMQConsumerRegister extends MQAbstractRegister {
+
+ @Override
+ public void registerAllListeners(String env, MQConsumerProperties consumerProperties) {
+ //判断逻辑,放到了了Pom.xml中,local不开启即可
+ //if (!EnvEnum.LOCAL.getCode().equals(env)) {
+ //...
+ //}
+
+ // 客户初始化监听器注册
+ register(consumerProperties,
+ ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP,
+ MessageModel.CLUSTERING,
+ TopicConstants.INIT_CUSTOMER,
+ "*",
+ new InitCustomerOrgRolesListener());
+
+ // ...其他监听器类似
}
-
- private String buildInstanceName() {
- String instanceName = "";
- for (int i = 0; i < 4; i++) {
- int t = (int) (Math.random() * 10);
- instanceName = instanceName.concat(t + "");
- }
-
- return instanceName;
- }
-
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java
index 010e2044a3..7224ea757a 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
* @return
* @date 2021.03.03 16:10
*/
-//@Component
public class InitCustomerOrgRolesListener implements MessageListenerConcurrently {
private Logger logger = LoggerFactory.getLogger(getClass());
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml
index 8baed16dd6..324ed0a5ca 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml
@@ -145,4 +145,8 @@ shutdown:
waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警
rocketmq:
+ # 是否开启mq
+ enable: @rocketmq.enable@
name-server: @rocketmq.nameserver@
+# consume-thread-min: 2
+# consume-thread-max: 2
diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java
index ca84aee3b0..c7f174086d 100644
--- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java
@@ -37,5 +37,7 @@ public class LatestListFormDTO implements Serializable {
*/
private Integer pageSize = 3;
+ private Integer num = 0;
+
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
index 953104da7b..d721ccad51 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
@@ -1014,7 +1014,8 @@ public class ProjectServiceImpl extends BaseServiceImpl getClosedProjectList(LatestListFormDTO formDTO) {
-
+ int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
+ formDTO.setNum(pageIndex);
return baseDao.selectClosedProjectList(formDTO);
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
index 11eeea95b4..a75b3514af 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
+++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
@@ -167,7 +167,8 @@
AND p.customer_id = #{customerId}
AND p.`status` = 'closed'
AND pro.operation = 'close'
- ORDER BY p.created_time DESC
+ ORDER BY pro.created_time DESC
+ LIMIT #{num}, #{pageSize}