问题:Springboot整合RocketMQ后动态tag设置失效!(最新版本已经解决此问题)
依赖:
<!-- rocketMQ -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
写法:
@Slf4j
@Component
@RocketMQMessageListener(nameServer = "${rocketmq.payment.nameServer}", topic = "${rocketmq.payment.refund.topic}",consumerGroup = "${rocketmq.payment.refund.groupName}"
,consumeMode = ConsumeMode.ORDERLY, selectorExpression = "${rocketmq.payment.refund.tag}")
public class RunfundUpdateListener implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
log.info("into#class:{}, mesasage:{}", "RunfundUpdateListener", message);
}
排查:RocketMQMessageListener生效的类为:ListenerContainerConfiguration
@Configuration
public class ListenerContainerConfiguration implements ApplicationContextAware, SmartInitializingSingleton {
private final static Logger log = LoggerFactory.getLogger(ListenerContainerConfiguration.class);
private ConfigurableApplicationContext applicationContext;
private AtomicLong counter = new AtomicLong(0);
private StandardEnvironment environment;
private RocketMQProperties rocketMQProperties;
private ObjectMapper objectMapper;
public ListenerContainerConfiguration(ObjectMapper rocketMQMessageObjectMapper,
StandardEnvironment environment,
RocketMQProperties rocketMQPr