package com.test.wps.projcet.receiver;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class MsgReceiver {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@RabbitHandler
@RabbitListener(bindings = @QueueBinding(
exchange = @Exchange(value = "${wkflow.exchange}",durable = "true",type = "topic"),
value = @Queue(value = "${wkflow.queueName}",durable = "true"),
key = "${wkflow.key}"
))
public void handleMessage(Map<String, String> receiverMsg) {
try{
String systemType=receiverMsg.get("systemType")==null?"":receiverMsg.get("systemType").toString();
logger.info(systemType);
String formType=receiverMsg.get("formType")==null?"":receiverMsg.get("formType").toString();
logger.info("formType");
logger.info(formType);
if(formType!=null){
logger.info("formType is not null");
}else{
logger.info("formType is null");
}
}catch (Exception e){
e.printStackTrace();
logger.error("消息接收异常",e);
}
}
}
配置:
rabbitmq:
port: 5672
host: 192.168.1.3
username: weepal
password: Weepal@123
# host: 127.0.0.1
# username: guest
# password: guest
listener:
simple:
#并发消费者初始值
concurrency: 10
#并发消费者最大值
max-concurrency: 20
#每个消费者每次监听可拉取消息数量
prefetch: 5
本文档展示了如何在Spring Boot项目中使用RabbitMQ接收并处理来自不同主题的JSON消息,涉及JSONObject解析和异常处理。
433

被折叠的 条评论
为什么被折叠?



