使用类:
@Component
public class TaskReceiver {
@Autowired
TaskHandlerMapping mapper;
@RabbitHandler
@RabbitListener(queues = {
MqTaskConstant.QUEUE_WS_CAMUNDA_EVENT_TASK} )
public void sendNotice(Message message, Channel channel) throws IOException {
if (message.getBody() == null) {
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
return;
}
String str = new String(message.getBody());
try {
JsonNode taskMessage = CNPCJacksonUtil.decode(str, JsonNode.class);
String eventName = taskMessage.get("eventName"

本文探讨了在项目中使用策略模式处理MQ消息消费时遇到的对象初始化为空的问题。策略接口和其具体实现(策略A、策略B)被用于不同情况的数据入库。遇到的静态代码块初始化策略为空的坑以及构造器、@Autowired和@PostConstruct注解的初始化顺序被详细阐述,并提出使用@PostConstruct解决该问题。
最低0.47元/天 解锁文章
888





