|
|
@ -87,21 +87,12 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently |
|
|
|
redisUtils = SpringContextUtils.getBean(RedisUtils.class); |
|
|
|
} |
|
|
|
|
|
|
|
String redisKey = RedisKeys.getProjectChangedMsgDistinceKey(msgObj.getCustomerId()); |
|
|
|
if (redisUtils.get(redisKey) == null) { |
|
|
|
// 该线程启动消费之后,其他线程再收到该客户id的消费请求,则不消费
|
|
|
|
redisUtils.set(redisKey, msg, 30); |
|
|
|
try { |
|
|
|
consumeMessage(msgObj); |
|
|
|
} catch (Exception e) { |
|
|
|
// 如果消费失败了,清楚该key,收到消息之后可以继续消费
|
|
|
|
redisUtils.delete(redisKey); |
|
|
|
throw e; |
|
|
|
} |
|
|
|
log.info("消费了项目变动消息,customer id:{}", msgObj.getCustomerId()); |
|
|
|
} else { |
|
|
|
log.info("该客户的项目变动消息刚刚消费,请等待30秒,customer id:{}", msgObj.getCustomerId()); |
|
|
|
} |
|
|
|
|
|
|
|
if (org.apache.commons.lang.StringUtils.isNotBlank(pendingMsgLabel)) { |
|
|
|
try { |
|
|
@ -136,6 +127,7 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently |
|
|
|
|
|
|
|
String dateId = DimIdGenerator.getDateDimId(new Date()); |
|
|
|
extractOriginFormDTO.setDateId(dateId); |
|
|
|
extractOriginFormDTO.setObjectId(msgObj.getProjectId()); |
|
|
|
Future<?> aBoolean = SpringContextUtils.getBean(FactOriginExtractService.class).submitProjectRelationData(extractOriginFormDTO,null); |
|
|
|
try { |
|
|
|
Object o = aBoolean.get(); |
|
|
|