Browse Source

新增:

job扫描滞留/阻塞消息的逻辑
dev
wxz 4 years ago
parent
commit
19f0ad54bf
  1. 5
      epmet-module/epmet-job/epmet-job-server/pom.xml
  2. 23
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SystemMessageScannerService.java
  3. 22
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SystemMessageScannerServiceImpl.java
  4. 25
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BlockedMQSystemMessageScanner.java
  5. 25
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/PenddingMQSystemMessageScanner.java
  6. 21
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java

5
epmet-module/epmet-job/epmet-job-server/pom.xml

@ -38,6 +38,11 @@
<artifactId>epmet-third-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-message-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>

23
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SystemMessageScannerService.java

@ -0,0 +1,23 @@
package com.epmet.service;
public interface SystemMessageScannerService {
/**
* @description 扫描未成功发送到MQ的消息
*
* @param
* @return
* @author wxz
* @date 2021.10.16 23:24:05
*/
void scanPenddingSystemMQMessage();
/**
* @description 扫描发送成功但是未正常处理的MQ的消息
*
* @param
* @return
* @author wxz
* @date 2021.10.16 23:24:27
*/
void scanBlockedSystemMQMessage();
}

22
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SystemMessageScannerServiceImpl.java

@ -0,0 +1,22 @@
package com.epmet.service;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class SystemMessageScannerServiceImpl implements SystemMessageScannerService {
@Autowired
private EpmetMessageOpenFeignClient messageOpenFeignClient;
@Override
public void scanPenddingSystemMQMessage() {
messageOpenFeignClient.penddingMqMsgScan();
}
@Override
public void scanBlockedSystemMQMessage() {
messageOpenFeignClient.blockedMqMsgScan();
}
}

25
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/BlockedMQSystemMessageScanner.java

@ -0,0 +1,25 @@
package com.epmet.task;
import com.epmet.service.SystemMessageScannerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component("blockedMQSystemMessageScanner")
@Slf4j
public class BlockedMQSystemMessageScanner implements ITask {
@Autowired
private SystemMessageScannerService systemMessageScannerService;
@Override
public void run(String params) {
try {
//log.info("【blockedMQSystemMessageScanner】开始执行scanBlockedSystemMQMessage任务");
systemMessageScannerService.scanBlockedSystemMQMessage();
log.info("【blockedMQSystemMessageScanner】执行scanBlockedSystemMQMessage任务完成");
} catch (Exception e) {
log.error("【blockedMQSystemMessageScanner】执行scanBlockedSystemMQMessage任务失败");
}
}
}

25
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/PenddingMQSystemMessageScanner.java

@ -0,0 +1,25 @@
package com.epmet.task;
import com.epmet.service.SystemMessageScannerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component("penddingMQSystemMessageScanner")
@Slf4j
public class PenddingMQSystemMessageScanner implements ITask {
@Autowired
private SystemMessageScannerService systemMessageScannerService;
@Override
public void run(String params) {
try {
//log.info("【blockedMQSystemMessageScanner】开始执行scanBlockedSystemMQMessage任务");
systemMessageScannerService.scanPenddingSystemMQMessage();
log.info("【blockedMQSystemMessageScanner】执行scanPenddingSystemMQMessage任务完成");
} catch (Exception e) {
log.error("【blockedMQSystemMessageScanner】执行scanPenddingSystemMQMessage任务失败");
}
}
}

21
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java

@ -109,13 +109,24 @@ public interface EpmetMessageOpenFeignClient {
Result sendSystemMsgByMQ(@RequestBody SystemMsgFormDTO form);
/**
* @description 应答mq消息
* @description 检查MQ阻塞消息(MQ收到消息但是往监听者发送消息或者监听者处理逻辑问题导致无法消费消息)
*
* @param form
* @param
* @return
* @author wxz
* @date 2021.10.16 22:07:38
*/
@PostMapping("/message/system/blocked-mq-msg-scan")
Result blockedMqMsgScan();
/**
* @description 检查MQ滞留消息(往MQ发送消息失败MQ未收到消息)
*
* @param
* @return
* @author wxz
* @date 2021.10.14 16:07:17
* @date 2021.10.16 22:08:32
*/
@PostMapping("/message/system/ack-mq-msg")
Result ackSystemMsgByMQ(@RequestBody SystemMsgFormDTO form);
@PostMapping("/message/system/pendding-mq-msg-scan")
Result penddingMqMsgScan();
}

Loading…
Cancel
Save