无关风月
2024-09-10 caa2b51bb4133f5a2e59eac242e744fb57f864a0
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/listener/PingMessageListener.java
@@ -11,6 +11,7 @@
import com.ruoyi.integration.rocket.model.PingMessage;
import com.ruoyi.integration.rocket.util.EnhanceMessageHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.MessageModel;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.beans.BeanUtils;
@@ -20,19 +21,16 @@
@Slf4j
@Component
@RocketMQMessageListener(
        consumerGroup = "enhance_consumer_group",
        topic = "rocket_enhance",
        selectorExpression = "*",
        messageModel = MessageModel.CLUSTERING,
        consumerGroup = "charge_ping",
        topic = "charge_ping",
        selectorExpression = "ping",
        consumeThreadMax = 5 //默认是64个线程并发消息,配置 consumeThreadMax 参数指定并发消费线程数,避免太大导致资源不够
)
public class PingMessageListener extends EnhanceMessageHandler<PingMessage> implements RocketMQListener<PingMessage> {
    @Autowired
    private PingService pingService;
    @Autowired
    private MessageUtil messageUtil;
    @Autowired
    private IotMessageProduce iotMessageProduce;
    @Override
    protected void handleMessage(PingMessage message) throws Exception {
        // 此时这里才是最终的业务处理,代码只需要处理资源类关闭异常,其他的可以交给父类重试
@@ -42,12 +40,6 @@
        BeanUtils.copyProperties(message,ping);
        pingService.create(ping);
        // 业务处理
        Pong pong = new Pong();
        pong.setCharging_pile_code(message.getCharging_pile_code());
        pong.setCharging_gun_code(message.getCharging_gun_code());
        pong.setCharging_gun_status(0);
        String result = iotMessageProduce.sendMessage(pong.getCharging_pile_code(), ServiceIdMenu.PONG.getKey(), messageUtil.pong(pong));
        log.info("充电桩心跳包-返回结果:{}",result);
    }
    @Override