diff --git a/kie-server-parent/kie-server-tests/kie-server-integ-tests-jbpm/src/test/java/org/kie/server/integrationtests/jbpm/SLAComplianceIntegrationTest.java b/kie-server-parent/kie-server-tests/kie-server-integ-tests-jbpm/src/test/java/org/kie/server/integrationtests/jbpm/SLAComplianceIntegrationTest.java index 95478e066b..c3460d8123 100644 --- a/kie-server-parent/kie-server-tests/kie-server-integ-tests-jbpm/src/test/java/org/kie/server/integrationtests/jbpm/SLAComplianceIntegrationTest.java +++ b/kie-server-parent/kie-server-tests/kie-server-integ-tests-jbpm/src/test/java/org/kie/server/integrationtests/jbpm/SLAComplianceIntegrationTest.java @@ -156,7 +156,7 @@ public void testSLAonUserTaskViolated() throws Exception { activeNodes = processClient.findActiveNodeInstances(CONTAINER_ID, pid, 0, 10); assertThat(activeNodes).hasSize(1); taskNode = activeNodes.get(0); - assertNodeInstance(taskNode, "Hello", SLA_VIOLATED); + assertNodeInstance(taskNode, "Hello", SLA_VIOLATED, -1); taskClient.completeAutoProgress(CONTAINER_ID, task.getId(), USER_YODA, null); tasks = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); @@ -240,11 +240,15 @@ private void assertProcessInstance(Long pid, int processState, int slaStatus, lo } } - private void assertNodeInstance(NodeInstance ni, String nodeName, int slaStatus) { + private void assertNodeInstance(NodeInstance ni, String nodeName, int slaStatus) { + assertNodeInstance(ni, nodeName, slaStatus, 30000); + } + + private void assertNodeInstance(NodeInstance ni, String nodeName, int slaStatus, long deltaTime) { assertThat(ni.getName()).isEqualTo(nodeName); assertThat(ni.getSlaCompliance()).isEqualTo(slaStatus); - if (slaStatus != SLA_NA) { - assertThat(ni.getSlaDueDate()).isCloseTo(new Date(), 30000); + if (slaStatus != SLA_NA && deltaTime > 0) { + assertThat(ni.getSlaDueDate()).isCloseTo(new Date(), deltaTime); } } diff --git a/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/AuditDataReplicationProcessEventProducer.java b/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/AuditDataReplicationProcessEventProducer.java index d63217f893..811dca70ff 100644 --- a/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/AuditDataReplicationProcessEventProducer.java +++ b/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/AuditDataReplicationProcessEventProducer.java @@ -27,6 +27,7 @@ import org.kie.api.event.process.ProcessNodeTriggeredEvent; import org.kie.api.event.process.ProcessStartedEvent; import org.kie.api.event.process.ProcessVariableChangedEvent; +import org.kie.api.event.process.ProcessDataChangedEvent; import org.kie.api.event.process.SLAViolatedEvent; import org.kie.api.runtime.manager.audit.VariableInstanceLog; import org.springframework.beans.factory.annotation.Autowired; @@ -39,7 +40,7 @@ import static org.kie.server.spring.boot.autoconfiguration.audit.replication.MessageType.PROCESS_SLA_VIOLATED; import static org.kie.server.spring.boot.autoconfiguration.audit.replication.MessageType.PROCESS_START_EVENT_TYPE; import static org.kie.server.spring.boot.autoconfiguration.audit.replication.MessageType.VAR_CHANGE_EVENT_TYPE; - +import static org.kie.server.spring.boot.autoconfiguration.audit.replication.MessageType.PROCESS_DATA_CHANGED_EVENT_TYPE; /** * AuditListener @@ -124,4 +125,11 @@ protected void nodeScheduled(ProcessAsyncNodeScheduledEvent event) { } } + @Override + public void processDataChanged(ProcessDataChangedEvent event) { + ProcessInstanceLog log = (ProcessInstanceLog) getProcessInstanceMetadata(event.getProcessInstance(), METADATA_PROCESSINTANCE_LOG); + if (log != null) { + jmsSender.sendMessage(log, PROCESS_DATA_CHANGED_EVENT_TYPE); + } + } } diff --git a/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/MessageType.java b/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/MessageType.java index c2dab5bd0d..c21e74a594 100644 --- a/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/MessageType.java +++ b/kie-spring-boot/kie-spring-boot-autoconfiguration/kie-server-spring-boot-autoconfiguration-audit-replication/src/main/java/org/kie/server/spring/boot/autoconfiguration/audit/replication/MessageType.java @@ -30,6 +30,7 @@ private MessageType() { public static final int VAR_CHANGE_EVENT_TYPE = 104; public static final int NODE_SLA_VIOLATED = 105; public static final int PROCESS_SLA_VIOLATED = 106; + public static final int PROCESS_DATA_CHANGED_EVENT_TYPE = 108; public static final int TASK_STARTED = 201; public static final int TASK_ACTIVATED = 202;