记得上下班打卡 | git大法好,push需谨慎

Commit a30ba6c6 authored by anjiabin's avatar anjiabin

修改redis消费队列方式

parent 52a77436
......@@ -37,6 +37,7 @@ public abstract class AbstractRedisReceiver implements StreamListener<String, Ma
log.info("body " + message.getValue());
boolean result = this.consumerSqlDaoHandler(message.getValue().get("message"));
if(result){
// 消费成功确认,消息删除和消息确认是一个事务
log.info("consumer success delete message messageId:{} ",message.getId());
try {
......@@ -49,6 +50,7 @@ public abstract class AbstractRedisReceiver implements StreamListener<String, Ma
log.error("delete redis queue message error messageId:{} errMsg:{}",message.getId(),e.getMessage());
}
}
}
private boolean consumerSqlDaoHandler(String msg) {
try {
......@@ -59,8 +61,6 @@ public abstract class AbstractRedisReceiver implements StreamListener<String, Ma
log.debug("CONSUMER SQL result of execution:{}", rstBatchSqls);
if (rstBatchSqls) {
return true;
}else{
sendMySqlRedis(msg);
}
} catch (Exception e) {
e.printStackTrace();
......
......@@ -27,10 +27,11 @@ public class RedisRefundReceiver implements StreamListener<String, MapRecord<Str
@Override
public void onMessage(MapRecord<String, String, String> message) {
log.info("接受到来自redis REFUND 的消息");
System.out.println("message id " + message.getId());
System.out.println("stream " + message.getStream());
System.out.println("body " + message.getValue());
consumerSqlDaoHandler(message.getValue().get("message"));
log.info("message id " + message.getId());
log.info("stream " + message.getStream());
log.info("body " + message.getValue());
boolean result = this.consumerSqlDaoHandler(message.getValue().get("message"));
if(result){
log.error("consumer success delete message messageId:{} ",message.getId());
try {
// stringRedisTemplate.multi();
......@@ -42,8 +43,9 @@ public class RedisRefundReceiver implements StreamListener<String, MapRecord<Str
log.error("delete redis queue message error messageId:{} errMsg:{}",message.getId(),e.getMessage());
}
}
}
private void consumerSqlDaoHandler(String msg) {
private boolean consumerSqlDaoHandler(String msg) {
try {
SqlMapping.SqlMessage sqlMessage = JsonUtils.fromJson(msg, SqlMapping.SqlMessage.class);
log.debug("CONSUMER SQL ==> Preparing:{}", JsonUtils.toJson(sqlMessage.getSqls()));
......@@ -51,13 +53,13 @@ public class RedisRefundReceiver implements StreamListener<String, MapRecord<Str
Boolean rstBatchSqls = baseDao.batchSqls(sqlMessage.getSqls(), sqlMessage.getArgs());
log.debug("CONSUMER SQL result of execution:{}", rstBatchSqls);
if (rstBatchSqls) {
//应答
} else {
sendMySqlRedis(msg);
return true;
}
} catch (Exception e) {
e.printStackTrace();
log.error("CONSUMER SQL Exception error:{}", e);
}
return false;
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment