REQ-2516-调整分批次发送mq消息代码
This commit is contained in:
parent
a67dd3ddfc
commit
eee3f4f882
@ -268,12 +268,16 @@ public class RocketMqMessagePushEventListener extends AbstractBpmnEventListener<
|
||||
throw new NullPointerException("event不能为空");
|
||||
}
|
||||
List<BpmnTaskDelegateAssigner> assigners = event.getAssigners();
|
||||
if (CollectionUtils.isEmpty(assigners) || assigners.size() <= MQ_ASSIGNER_BATCH_SIZE) {
|
||||
return Collections.singletonList(build(templateId, type, event, collectionVariable(event)));
|
||||
}
|
||||
List<MessagePushDTO> slice = new ArrayList<>();
|
||||
Map<String, Object> objectMap = collectionVariable(event);
|
||||
int startIndex = 0;
|
||||
do {
|
||||
List<BpmnTaskDelegateAssigner> batchAssigners = assigners.subList(startIndex, Integer.min(startIndex + MQ_ASSIGNER_BATCH_SIZE, assigners.size()));
|
||||
MessagePushEventImpl messagePushEvent = BeanConverter.convert(event, MessagePushEventImpl.class);
|
||||
MessagePushEventImpl messagePushEvent = new MessagePushEventImpl(event.getType());
|
||||
BeanConverter.convert(event, messagePushEvent);
|
||||
messagePushEvent.setAssigner(batchAssigners);
|
||||
MessagePushDTO dto = build(templateId, type, messagePushEvent, objectMap);
|
||||
slice.add(dto);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user