|
|
@ -2,7 +2,6 @@ package com.bnyer.common.rocketmq.persist; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; |
|
|
import com.bnyer.common.rocketmq.constant.RocketMqRepeatConstant; |
|
|
import com.bnyer.common.rocketmq.domain.BaseMessage; |
|
|
|
|
|
import com.bnyer.common.rocketmq.domain.RepeatElement; |
|
|
import com.bnyer.common.rocketmq.domain.RepeatElement; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.springframework.data.redis.connection.RedisStringCommands; |
|
|
import org.springframework.data.redis.connection.RedisStringCommands; |
|
|
@ -29,7 +28,7 @@ public class RedisPersist implements IPersist { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public <T extends BaseMessage> boolean setConsumingIfNX(RepeatElement repeatElement, long processingExpireMilliSeconds) { |
|
|
public boolean setConsumingIfNX(RepeatElement repeatElement, long processingExpireMilliSeconds) { |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
//setnx, 成功就可以消费
|
|
|
//setnx, 成功就可以消费
|
|
|
Boolean execute = redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> redisConnection.set(repeatKey.getBytes(), |
|
|
Boolean execute = redisTemplate.execute((RedisCallback<Boolean>) redisConnection -> redisConnection.set(repeatKey.getBytes(), |
|
|
@ -41,25 +40,25 @@ public class RedisPersist implements IPersist { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public <T extends BaseMessage> void delete(RepeatElement repeatElement) { |
|
|
public void delete(RepeatElement repeatElement) { |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
redisTemplate.delete(repeatKey); |
|
|
redisTemplate.delete(repeatKey); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public <T extends BaseMessage> void markConsumed(RepeatElement repeatElement, long recordReserveMinutes) { |
|
|
public void markConsumed(RepeatElement repeatElement, long recordReserveMinutes) { |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
redisTemplate.opsForValue().set(repeatKey, RocketMqRepeatConstant.CONSUME_STATUS_SUCCESS, recordReserveMinutes, TimeUnit.MINUTES); |
|
|
redisTemplate.opsForValue().set(repeatKey, RocketMqRepeatConstant.CONSUME_STATUS_SUCCESS, recordReserveMinutes, TimeUnit.MINUTES); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public <T extends BaseMessage> String get(RepeatElement repeatElement) { |
|
|
public String get(RepeatElement repeatElement) { |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
String repeatKey = buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
return redisTemplate.opsForValue().get(repeatKey); |
|
|
return redisTemplate.opsForValue().get(repeatKey); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public <T extends BaseMessage> String toPrintInfo(RepeatElement repeatElement) { |
|
|
public String toPrintInfo(RepeatElement repeatElement) { |
|
|
return buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
return buildRepeatMessageRedisKey(repeatElement.getApplicationName(), repeatElement.getTopic(), repeatElement.getTag(), repeatElement.getMessageKey()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|