Commit 3a38ed8d6a7ee0bbed745cc67f01b3de5c3fc9b4

Authored by Volodymyr Babak
Committed by Andrew Shvayka
1 parent 5d30243e

Fix for copy msg for 2 or more relations

... ... @@ -56,6 +56,7 @@ import java.util.HashMap;
56 56 import java.util.List;
57 57 import java.util.Map;
58 58 import java.util.Set;
  59 +import java.util.UUID;
59 60 import java.util.stream.Collectors;
60 61
61 62 /**
... ... @@ -291,7 +292,7 @@ public class RuleChainActorMessageProcessor extends ComponentMsgProcessor<RuleCh
291 292 putToQueue(tpi, msg.copyWithRuleNodeId(entityId, new RuleNodeId(target.getId())), callbackWrapper);
292 293 break;
293 294 case RULE_CHAIN:
294   - putToQueue(tpi, msg.copyWithRuleChainId(new RuleChainId(target.getId())), callbackWrapper);
  295 + putToQueue(tpi, msg.copyWithRuleChainId(new RuleChainId(target.getId()), UUID.randomUUID()), callbackWrapper);
295 296 break;
296 297 }
297 298 }
... ...
... ... @@ -195,11 +195,15 @@ public final class TbMsg implements Serializable {
195 195 }
196 196
197 197 public TbMsg copyWithRuleChainId(RuleChainId ruleChainId) {
198   - return new TbMsg(this.queueName, this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, this.ruleNodeExecCounter.get(), callback);
  198 + return copyWithRuleChainId(ruleChainId, this.id);
  199 + }
  200 +
  201 + public TbMsg copyWithRuleChainId(RuleChainId ruleChainId, UUID msgId) {
  202 + return new TbMsg(this.queueName, msgId, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, this.ruleNodeExecCounter.get(), callback);
199 203 }
200 204
201 205 public TbMsg copyWithRuleNodeId(RuleChainId ruleChainId, RuleNodeId ruleNodeId) {
202   - return new TbMsg(this.queueName, this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.ruleNodeExecCounter.get(), callback);
  206 + return new TbMsg(this.queueName, UUID.randomUUID(), this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, this.ruleNodeExecCounter.get(), callback);
203 207 }
204 208
205 209 public TbMsgCallback getCallback() {
... ...