package com.thhy.screen.config; import com.thhy.general.common.enums.TopicConstant; import com.thhy.general.config.mq.MqConfig; import com.thhy.screen.modules.biz.bigscreen.controller.ExecProListener; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.ConfigurableEnvironment; @Configuration public class AddAnno implements ApplicationRunner { @Autowired private ConfigurableEnvironment environment; private Logger logger = LoggerFactory.getLogger(AddAnno.class); @Autowired private MqConfig mqConfig; @Autowired private RocketMQTemplate rocketMQTemplate; @Value("${server.port}") private String serverPort; @Override public void run(ApplicationArguments args) throws Exception { String addr = NetUtils.getIp(); DefaultMQPushConsumer defaultMQPushConsumer = new DefaultMQPushConsumer(); defaultMQPushConsumer.setNamesrvAddr(mqConfig.getNameServer()); defaultMQPushConsumer.setConsumerGroup(TopicConstant.PROLISTENEXC_GROUP); defaultMQPushConsumer.subscribe(TopicConstant.PROLISTENEXC,addr+"-"+serverPort); defaultMQPushConsumer.registerMessageListener(new ExecProListener()); defaultMQPushConsumer.start(); logger.info("生产监控消息监听注册成功,标识:"+addr+"-"+serverPort); } }