This is an automated email from the ASF dual-hosted git repository.

fjtiradosarti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git


The following commit(s) were added to refs/heads/main by this push:
     new b59c762b8 [apache/incubator-kie-issues#1457] Allow grouping of events 
(#2093)
b59c762b8 is described below

commit b59c762b8d565c73ce0a72db364cff538a302f31
Author: Francisco Javier Tirado Sarti 
<[email protected]>
AuthorDate: Fri Oct 4 17:44:41 2024 +0200

    [apache/incubator-kie-issues#1457] Allow grouping of events (#2093)
    
    * Add unit tests
    
    * [Fix apache/incubator-kie-issues#1457] Grouping of events 2nd approach
    
    * Add integration tests
    
    * [Fix apache/incubator-kie-issues#1457] Grouping of event serialization
    
    * [Fix apache/incubator-kie-issues#1457] DataAudit serialization
    
    * Update 
data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
    
    Co-authored-by: Gonzalo Muñoz <[email protected]>
    Update 
data-index/data-index-service/data-index-service-postgresql/src/test/java/org/kie/kogito/index/service/messaging/PostgreSqlMessagingKafkaConsumerIT.java
    
    Co-authored-by: Gonzalo Muñoz <[email protected]>
    Update 
data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
    
    Co-authored-by: Gonzalo Muñoz <[email protected]>
    Update 
data-index/data-index-service/data-index-service-postgresql/src/test/java/org/kie/kogito/index/service/messaging/PostgreSqlMessagingKafkaConsumerIT.java
    
    Co-authored-by: Gonzalo Muñoz <[email protected]>
    Fix to run collections tests for all
    
    * [Fix apache/incubator-kie-issues#1457] Converter deserialization
    
    * [Fix apache/incubator-kie-issues#1457] Converter deserialization right
    
    ---------
    
    Co-authored-by: gmunozfe <[email protected]>
---
 .../JsonProcessInstanceDataEventDeserializer.java  |   3 +
 .../JsonUserTaskInstanceDataEventDeserializer.java |   3 +
 .../app/audit/api/DataAuditStoreProxyService.java  |  34 ++--
 .../JsonProcessInstanceDataEventDeserializer.java  |   3 +
 .../JsonUserTaskInstanceDataEventDeserializer.java |   5 +-
 .../kie/kogito/index/service/IndexingService.java  |  21 +++
 .../messaging/KogitoIndexEventConverter.java       |  34 +++-
 .../messaging/AbstractMessagingConsumerIT.java     |  65 ++++++++
 .../messaging/AbstractMessagingHttpConsumerIT.java |  27 ++++
 .../AbstractMessagingKafkaConsumerIT.java          |  34 ++++
 .../BlockingMessagingEventConsumerTest.java        | 171 +++++++++++++++++++++
 .../resources/process_definition_11_event.json     | 162 +++++++++++++++++++
 .../src/test/resources/application.properties      |  12 ++
 13 files changed, 557 insertions(+), 17 deletions(-)

diff --git 
a/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonProcessInstanceDataEventDeserializer.java
 
b/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonProcessInstanceDataEventDeserializer.java
index a5801a763..de164e6ff 100644
--- 
a/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonProcessInstanceDataEventDeserializer.java
+++ 
b/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonProcessInstanceDataEventDeserializer.java
@@ -20,6 +20,7 @@ package org.kie.kogito.app.audit.json;
 
 import java.io.IOException;
 
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceErrorDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceNodeDataEvent;
@@ -57,6 +58,8 @@ public class JsonProcessInstanceDataEventDeserializer extends 
StdDeserializer<Pr
         String type = node.get("type").asText();
 
         switch (type) {
+            case MultipleProcessInstanceDataEvent.TYPE:
+                return jp.getCodec().treeToValue(node, 
MultipleProcessInstanceDataEvent.class);
             case "ProcessInstanceErrorDataEvent":
                 return (ProcessInstanceDataEvent<?>) 
jp.getCodec().treeToValue(node, ProcessInstanceErrorDataEvent.class);
             case "ProcessInstanceNodeDataEvent":
diff --git 
a/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonUserTaskInstanceDataEventDeserializer.java
 
b/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonUserTaskInstanceDataEventDeserializer.java
index e9d57f86c..32e53e4f9 100644
--- 
a/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonUserTaskInstanceDataEventDeserializer.java
+++ 
b/data-audit/data-audit-common-service/src/main/java/org/kie/kogito/app/audit/json/JsonUserTaskInstanceDataEventDeserializer.java
@@ -20,6 +20,7 @@ package org.kie.kogito.app.audit.json;
 
 import java.io.IOException;
 
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAttachmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceCommentDataEvent;
@@ -58,6 +59,8 @@ public class JsonUserTaskInstanceDataEventDeserializer 
extends StdDeserializer<U
         String type = node.get("type").asText();
 
         switch (type) {
+            case MultipleUserTaskInstanceDataEvent.TYPE:
+                return jp.getCodec().treeToValue(node, 
MultipleUserTaskInstanceDataEvent.class);
             case "UserTaskInstanceAssignmentDataEvent":
                 return (UserTaskInstanceDataEvent<?>) 
jp.getCodec().treeToValue(node, UserTaskInstanceAssignmentDataEvent.class);
             case "UserTaskInstanceAttachmentDataEvent":
diff --git 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/api/DataAuditStoreProxyService.java
 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/api/DataAuditStoreProxyService.java
index 8d844d0a0..a945d8410 100644
--- 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/api/DataAuditStoreProxyService.java
+++ 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/api/DataAuditStoreProxyService.java
@@ -23,12 +23,14 @@ import java.util.ServiceLoader;
 
 import org.kie.kogito.app.audit.spi.DataAuditStore;
 import org.kie.kogito.event.job.JobInstanceDataEvent;
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceErrorDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceNodeDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceSLADataEvent;
 import org.kie.kogito.event.process.ProcessInstanceStateDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceVariableDataEvent;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAttachmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceCommentDataEvent;
@@ -52,23 +54,29 @@ public class DataAuditStoreProxyService {
     }
 
     public void storeProcessInstanceDataEvent(DataAuditContext context, 
ProcessInstanceDataEvent<?> event) {
-
-        typeCheckOf(ProcessInstanceErrorDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
-        typeCheckOf(ProcessInstanceNodeDataEvent.class).ifType(context, event, 
auditStoreService::storeProcessInstanceDataEvent);
-        typeCheckOf(ProcessInstanceSLADataEvent.class).ifType(context, event, 
auditStoreService::storeProcessInstanceDataEvent);
-        typeCheckOf(ProcessInstanceStateDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
-        typeCheckOf(ProcessInstanceVariableDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
+        if (event instanceof MultipleProcessInstanceDataEvent) {
+            ((MultipleProcessInstanceDataEvent) event).getData().forEach(e -> 
storeProcessInstanceDataEvent(context, e));
+        } else {
+            typeCheckOf(ProcessInstanceErrorDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
+            typeCheckOf(ProcessInstanceNodeDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
+            typeCheckOf(ProcessInstanceSLADataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
+            typeCheckOf(ProcessInstanceStateDataEvent.class).ifType(context, 
event, auditStoreService::storeProcessInstanceDataEvent);
+            
typeCheckOf(ProcessInstanceVariableDataEvent.class).ifType(context, event, 
auditStoreService::storeProcessInstanceDataEvent);
+        }
 
     }
 
     public void storeUserTaskInstanceDataEvent(DataAuditContext context, 
UserTaskInstanceDataEvent<?> event) {
-
-        typeCheckOf(UserTaskInstanceAssignmentDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
-        typeCheckOf(UserTaskInstanceAttachmentDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
-        typeCheckOf(UserTaskInstanceCommentDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
-        typeCheckOf(UserTaskInstanceDeadlineDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
-        typeCheckOf(UserTaskInstanceStateDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
-        typeCheckOf(UserTaskInstanceVariableDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
+        if (event instanceof MultipleUserTaskInstanceDataEvent) {
+            ((MultipleUserTaskInstanceDataEvent) event).getData().forEach(e -> 
storeUserTaskInstanceDataEvent(context, e));
+        } else {
+            
typeCheckOf(UserTaskInstanceAssignmentDataEvent.class).ifType(context, event, 
auditStoreService::storeUserTaskInstanceDataEvent);
+            
typeCheckOf(UserTaskInstanceAttachmentDataEvent.class).ifType(context, event, 
auditStoreService::storeUserTaskInstanceDataEvent);
+            
typeCheckOf(UserTaskInstanceCommentDataEvent.class).ifType(context, event, 
auditStoreService::storeUserTaskInstanceDataEvent);
+            
typeCheckOf(UserTaskInstanceDeadlineDataEvent.class).ifType(context, event, 
auditStoreService::storeUserTaskInstanceDataEvent);
+            typeCheckOf(UserTaskInstanceStateDataEvent.class).ifType(context, 
event, auditStoreService::storeUserTaskInstanceDataEvent);
+            
typeCheckOf(UserTaskInstanceVariableDataEvent.class).ifType(context, event, 
auditStoreService::storeUserTaskInstanceDataEvent);
+        }
 
     }
 
diff --git 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonProcessInstanceDataEventDeserializer.java
 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonProcessInstanceDataEventDeserializer.java
index e60b3e468..261bcc408 100644
--- 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonProcessInstanceDataEventDeserializer.java
+++ 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonProcessInstanceDataEventDeserializer.java
@@ -20,6 +20,7 @@ package org.kie.kogito.index.json;
 
 import java.io.IOException;
 
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceErrorDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceNodeDataEvent;
@@ -57,6 +58,8 @@ public class JsonProcessInstanceDataEventDeserializer extends 
StdDeserializer<Pr
         String type = node.get("type").asText();
 
         switch (type) {
+            case MultipleProcessInstanceDataEvent.TYPE:
+                return jp.getCodec().treeToValue(node, 
MultipleProcessInstanceDataEvent.class);
             case "ProcessInstanceErrorDataEvent":
                 return (ProcessInstanceDataEvent<?>) 
jp.getCodec().treeToValue(node, ProcessInstanceErrorDataEvent.class);
             case "ProcessInstanceNodeDataEvent":
diff --git 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonUserTaskInstanceDataEventDeserializer.java
 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonUserTaskInstanceDataEventDeserializer.java
index 7aa0437f5..3a515a5e8 100644
--- 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonUserTaskInstanceDataEventDeserializer.java
+++ 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/json/JsonUserTaskInstanceDataEventDeserializer.java
@@ -20,6 +20,7 @@ package org.kie.kogito.index.json;
 
 import java.io.IOException;
 
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAttachmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceCommentDataEvent;
@@ -58,6 +59,8 @@ public class JsonUserTaskInstanceDataEventDeserializer 
extends StdDeserializer<U
         String type = node.get("type").asText();
 
         switch (type) {
+            case MultipleUserTaskInstanceDataEvent.TYPE:
+                return jp.getCodec().treeToValue(node, 
MultipleUserTaskInstanceDataEvent.class);
             case "UserTaskInstanceAssignmentDataEvent":
                 return (UserTaskInstanceDataEvent<?>) 
jp.getCodec().treeToValue(node, UserTaskInstanceAssignmentDataEvent.class);
             case "UserTaskInstanceAttachmentDataEvent":
@@ -76,4 +79,4 @@ public class JsonUserTaskInstanceDataEventDeserializer 
extends StdDeserializer<U
 
         }
     }
-}
\ No newline at end of file
+}
diff --git 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/service/IndexingService.java
 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/service/IndexingService.java
index 2802fe8f9..f3cd153d5 100644
--- 
a/data-index/data-index-common/src/main/java/org/kie/kogito/index/service/IndexingService.java
+++ 
b/data-index/data-index-common/src/main/java/org/kie/kogito/index/service/IndexingService.java
@@ -26,6 +26,7 @@ import java.util.Map;
 import java.util.Optional;
 
 import org.eclipse.microprofile.faulttolerance.Retry;
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessDefinitionDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceErrorDataEvent;
@@ -33,6 +34,7 @@ import 
org.kie.kogito.event.process.ProcessInstanceNodeDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceSLADataEvent;
 import org.kie.kogito.event.process.ProcessInstanceStateDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceVariableDataEvent;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAttachmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceCommentDataEvent;
@@ -76,6 +78,15 @@ public class IndexingService {
     @Retry(maxRetries = 3, delay = 300, jitter = 100, retryOn = 
ConcurrentModificationException.class)
     public void indexProcessInstanceEvent(ProcessInstanceDataEvent<?> event) {
         ProcessInstanceStorage storage = manager.getProcessInstanceStorage();
+        if (event instanceof MultipleProcessInstanceDataEvent) {
+            for (ProcessInstanceDataEvent<?> item : 
((MultipleProcessInstanceDataEvent) event).getData())
+                indexProccessInstanceEvent(storage, item);
+        } else {
+            indexProccessInstanceEvent(storage, event);
+        }
+    }
+
+    private void indexProccessInstanceEvent(ProcessInstanceStorage storage, 
ProcessInstanceDataEvent<?> event) {
         if (event instanceof ProcessInstanceErrorDataEvent) {
             storage.indexError((ProcessInstanceErrorDataEvent) event);
         } else if (event instanceof ProcessInstanceNodeDataEvent) {
@@ -100,6 +111,16 @@ public class IndexingService {
     @Retry(maxRetries = 3, delay = 300, jitter = 100, retryOn = 
ConcurrentModificationException.class)
     public <T> void indexUserTaskInstanceEvent(UserTaskInstanceDataEvent<T> 
event) {
         UserTaskInstanceStorage storage = manager.getUserTaskInstanceStorage();
+        if (event instanceof MultipleUserTaskInstanceDataEvent) {
+            for (UserTaskInstanceDataEvent<?> item : 
((MultipleUserTaskInstanceDataEvent) event).getData()) {
+                indexUserTaskInstanceEvent(storage, item);
+            }
+        } else {
+            indexUserTaskInstanceEvent(storage, event);
+        }
+    }
+
+    private void indexUserTaskInstanceEvent(UserTaskInstanceStorage storage, 
UserTaskInstanceDataEvent<?> event) {
         if (event instanceof UserTaskInstanceAssignmentDataEvent) {
             storage.indexAssignment((UserTaskInstanceAssignmentDataEvent) 
event);
         } else if (event instanceof UserTaskInstanceAttachmentDataEvent) {
diff --git 
a/data-index/data-index-service/data-index-service-common/src/main/java/org/kie/kogito/index/service/messaging/KogitoIndexEventConverter.java
 
b/data-index/data-index-service/data-index-service-common/src/main/java/org/kie/kogito/index/service/messaging/KogitoIndexEventConverter.java
index 430ecee79..cef45271e 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/main/java/org/kie/kogito/index/service/messaging/KogitoIndexEventConverter.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/main/java/org/kie/kogito/index/service/messaging/KogitoIndexEventConverter.java
@@ -20,11 +20,13 @@ package org.kie.kogito.index.service.messaging;
 
 import java.io.IOException;
 import java.lang.reflect.Type;
+import java.util.Collection;
 import java.util.function.Supplier;
 
 import org.eclipse.microprofile.reactive.messaging.Message;
 import org.kie.kogito.event.AbstractDataEvent;
 import org.kie.kogito.event.DataEvent;
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessDefinitionDataEvent;
 import org.kie.kogito.event.process.ProcessDefinitionEventBody;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
@@ -38,6 +40,7 @@ import 
org.kie.kogito.event.process.ProcessInstanceStateDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceStateEventBody;
 import org.kie.kogito.event.process.ProcessInstanceVariableDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceVariableEventBody;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceAssignmentEventBody;
 import org.kie.kogito.event.usertask.UserTaskInstanceAttachmentDataEvent;
@@ -57,6 +60,7 @@ import org.kie.kogito.index.service.DataIndexServiceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import io.cloudevents.CloudEvent;
@@ -81,6 +85,11 @@ public class KogitoIndexEventConverter implements 
MessageConverter {
 
     ObjectMapper objectMapper;
 
+    @Override
+    public int getPriority() {
+        return CONVERTER_DEFAULT_PRIORITY - 2;
+    }
+
     @Override
     public boolean canConvert(Message<?> message, Type type) {
         return isIndexable(type) &&
@@ -139,6 +148,9 @@ public class KogitoIndexEventConverter implements 
MessageConverter {
 
     private DataEvent<?> buildProcessInstanceDataEventVariant(CloudEvent 
cloudEvent) throws IOException {
         switch (cloudEvent.getType()) {
+            case MultipleProcessInstanceDataEvent.TYPE:
+                return buildDataEvent(cloudEvent, objectMapper, 
MultipleProcessInstanceDataEvent::new, new 
TypeReference<Collection<ProcessInstanceDataEvent<?>>>() {
+                });
             case "ProcessInstanceErrorDataEvent":
                 return buildDataEvent(cloudEvent, objectMapper, 
ProcessInstanceErrorDataEvent::new, ProcessInstanceErrorEventBody.class);
             case "ProcessInstanceNodeDataEvent":
@@ -156,6 +168,9 @@ public class KogitoIndexEventConverter implements 
MessageConverter {
 
     private DataEvent<?> buildUserTaskInstanceDataEvent(CloudEvent cloudEvent) 
throws IOException {
         switch (cloudEvent.getType()) {
+            case MultipleUserTaskInstanceDataEvent.TYPE:
+                return buildDataEvent(cloudEvent, objectMapper, 
MultipleUserTaskInstanceDataEvent::new, new 
TypeReference<Collection<UserTaskInstanceDataEvent<?>>>() {
+                });
             case "UserTaskInstanceAssignmentDataEvent":
                 return buildDataEvent(cloudEvent, objectMapper, 
UserTaskInstanceAssignmentDataEvent::new, 
UserTaskInstanceAssignmentEventBody.class);
             case "UserTaskInstanceAttachmentDataEvent":
@@ -188,16 +203,29 @@ public class KogitoIndexEventConverter implements 
MessageConverter {
         return jobCloudEvent;
     }
 
+    private static <E extends AbstractDataEvent<T>, T> E 
buildDataEvent(CloudEvent cloudEvent, ObjectMapper objectMapper, Supplier<E> 
supplier, TypeReference<T> typeReference) throws IOException {
+        E dataEvent = buildEvent(cloudEvent, objectMapper, supplier);
+        if (cloudEvent.getData() != null) {
+            
dataEvent.setData(objectMapper.readValue(cloudEvent.getData().toBytes(), 
typeReference));
+        }
+        return dataEvent;
+    }
+
     private static <E extends AbstractDataEvent<T>, T> E 
buildDataEvent(CloudEvent cloudEvent, ObjectMapper objectMapper, Supplier<E> 
supplier, Class<T> clazz) throws IOException {
-        E dataEvent = supplier.get();
-        applyCloudEventAttributes(cloudEvent, dataEvent);
-        applyExtensions(cloudEvent, dataEvent);
+        E dataEvent = buildEvent(cloudEvent, objectMapper, supplier);
         if (cloudEvent.getData() != null) {
             
dataEvent.setData(objectMapper.readValue(cloudEvent.getData().toBytes(), 
clazz));
         }
         return dataEvent;
     }
 
+    private static <E extends AbstractDataEvent<?>> E buildEvent(CloudEvent 
cloudEvent, ObjectMapper objectMapper, Supplier<E> supplier) throws IOException 
{
+        E dataEvent = supplier.get();
+        applyCloudEventAttributes(cloudEvent, dataEvent);
+        applyExtensions(cloudEvent, dataEvent);
+        return dataEvent;
+    }
+
     private static void applyCloudEventAttributes(CloudEvent cloudEvent, 
AbstractDataEvent<?> dataEvent) {
         dataEvent.setSpecVersion(cloudEvent.getSpecVersion());
         dataEvent.setId(cloudEvent.getId());
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
index e98b15302..fee277a1c 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingConsumerIT.java
@@ -121,6 +121,66 @@ public abstract class AbstractMessagingConsumerIT {
                         .body("data.Jobs[0].id", is(jobId)));
     }
 
+    @Test
+    void testProcessInstanceEventCollection() throws Exception {
+        sendProcessInstanceEventCollection();
+
+        String processInstanceId1 = "processId-UUID1";
+        String processInstanceId2 = "processId-UUID2";
+
+        await()
+                .atMost(timeout)
+                .untilAsserted(() -> given().contentType(ContentType.JSON)
+                        .body("{ \"query\" : \"{ ProcessInstances { id, state 
} }\" }")
+                        .when().post("/graphql")
+                        .then().log().ifValidationFails().statusCode(200)
+                        .body("data.ProcessInstances.size()", is(2))
+                        .body("data.ProcessInstances[0].id", 
is(processInstanceId1))
+                        .body("data.ProcessInstances[0].state", is("ACTIVE"))
+                        .body("data.ProcessInstances[1].id", 
is(processInstanceId2))
+                        .body("data.ProcessInstances[1].state", is("ACTIVE")));
+
+    }
+
+    @Test
+    void testUserTaskInstanceEventCollection() throws Exception {
+        sendUserTaskInstanceEventCollection();
+
+        String taskId1 = "taskId-UUID1";
+        String taskId2 = "taskId-UUID2";
+
+        await()
+                .atMost(timeout)
+                .untilAsserted(() -> given().contentType(ContentType.JSON)
+                        .body("{ \"query\" : \"{ UserTaskInstances { id, state 
} }\" }")
+                        .when().post("/graphql")
+                        .then().log().ifValidationFails().statusCode(200)
+                        .body("data.UserTaskInstances.size()", is(2))
+                        .body("data.UserTaskInstances[0].id", is(taskId1))
+                        .body("data.UserTaskInstances[0].state", 
is("IN_PROGRESS"))
+                        .body("data.UserTaskInstances[1].id", is(taskId2))
+                        .body("data.UserTaskInstances[1].state", 
is("COMPLETED")));
+    }
+
+    @Test
+    void testProcessDefinitionEventCollection() throws Exception {
+        sendProcessDefinitionEventCollection();
+
+        String definitionId = "jsongreet";
+
+        await()
+                .atMost(timeout)
+                .untilAsserted(() -> given().contentType(ContentType.JSON)
+                        .body("{ \"query\" : \"{ ProcessDefinitions { id, 
version } }\" }")
+                        .when().post("/graphql")
+                        .then().log().ifValidationFails().statusCode(200)
+                        .body("data.ProcessDefinitions.size()", is(2))
+                        .body("data.ProcessDefinitions[0].id", 
is(definitionId))
+                        .body("data.ProcessDefinitions[0].version", is("1.0"))
+                        .body("data.ProcessDefinitions[1].id", 
is(definitionId))
+                        .body("data.ProcessDefinitions[1].version", 
is("1.1")));
+    }
+
     protected abstract void sendUserTaskInstanceEvent() throws Exception;
 
     protected abstract void sendProcessInstanceEvent() throws Exception;
@@ -129,4 +189,9 @@ public abstract class AbstractMessagingConsumerIT {
 
     protected abstract void sendJobEvent() throws Exception;
 
+    protected abstract void sendProcessInstanceEventCollection() throws 
Exception;
+
+    protected abstract void sendUserTaskInstanceEventCollection() throws 
Exception;
+
+    protected abstract void sendProcessDefinitionEventCollection() throws 
Exception;
 }
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingHttpConsumerIT.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingHttpConsumerIT.java
index 711968bc8..d9a1364fc 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingHttpConsumerIT.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingHttpConsumerIT.java
@@ -18,8 +18,14 @@
  */
 package org.kie.kogito.index.service.messaging;
 
+import java.net.URI;
+import java.util.Collection;
+import java.util.List;
+
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
 import org.kie.kogito.event.process.ProcessDefinitionDataEvent;
 import org.kie.kogito.event.process.ProcessInstanceDataEvent;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
 import org.kie.kogito.event.usertask.UserTaskInstanceDataEvent;
 import org.kie.kogito.index.event.KogitoJobCloudEvent;
 import org.kie.kogito.index.json.JsonUtils;
@@ -69,4 +75,25 @@ public abstract class AbstractMessagingHttpConsumerIT 
extends AbstractMessagingC
         connector.source(KOGITO_JOBS_EVENTS).send(event);
     }
 
+    protected void sendProcessInstanceEventCollection() throws Exception {
+        Collection<ProcessInstanceDataEvent<?>> events = List.of(
+                getProcessCloudEvent("travels", "processId-UUID1", 
ProcessInstanceState.ACTIVE, null, null, null, "user1"),
+                getProcessCloudEvent("travels", "processId-UUID2", 
ProcessInstanceState.ACTIVE, null, null, null, "user2"));
+        connector.source(KOGITO_PROCESSINSTANCES_EVENTS).send(new 
MultipleProcessInstanceDataEvent(URI.create("test"), events));
+    }
+
+    @Override
+    protected void sendUserTaskInstanceEventCollection() throws Exception {
+        Collection<UserTaskInstanceDataEvent<?>> events = List.of(
+                getUserTaskCloudEvent("taskId-UUID1", "travels", 
"processId-UUID1", null, null, "IN_PROGRESS"),
+                getUserTaskCloudEvent("taskId-UUID2", "travels", 
"processId-UUID1", null, null, "COMPLETED"));
+        connector.source(KOGITO_USERTASKINSTANCES_EVENTS).send(new 
MultipleUserTaskInstanceDataEvent(URI.create("test"), events));
+    }
+
+    @Override
+    protected void sendProcessDefinitionEventCollection() throws Exception {
+        
connector.source(KOGITO_PROCESS_DEFINITIONS_EVENTS).send(JsonUtils.getObjectMapper().readValue(readFileContent("process_definition_event.json"),
 ProcessDefinitionDataEvent.class));
+        
connector.source(KOGITO_PROCESS_DEFINITIONS_EVENTS).send(JsonUtils.getObjectMapper().readValue(readFileContent("process_definition_11_event.json"),
 ProcessDefinitionDataEvent.class));
+    }
+
 }
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingKafkaConsumerIT.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingKafkaConsumerIT.java
index d398caf2e..c8091f1ee 100644
--- 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingKafkaConsumerIT.java
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/AbstractMessagingKafkaConsumerIT.java
@@ -18,9 +18,19 @@
  */
 package org.kie.kogito.index.service.messaging;
 
+import java.net.URI;
+import java.util.Collection;
+import java.util.List;
+
 import org.eclipse.microprofile.config.inject.ConfigProperty;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
+import org.kie.kogito.event.process.ProcessInstanceDataEvent;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
+import org.kie.kogito.event.usertask.UserTaskInstanceDataEvent;
+import org.kie.kogito.index.model.ProcessInstanceState;
+import org.kie.kogito.jackson.utils.ObjectMapperFactory;
 import org.kie.kogito.test.quarkus.kafka.KafkaTestClient;
 import org.kie.kogito.testcontainers.quarkus.KafkaQuarkusTestResource;
 
@@ -28,6 +38,8 @@ import static 
org.kie.kogito.index.service.messaging.ReactiveMessagingEventConsu
 import static 
org.kie.kogito.index.service.messaging.ReactiveMessagingEventConsumer.KOGITO_PROCESSINSTANCES_EVENTS;
 import static 
org.kie.kogito.index.service.messaging.ReactiveMessagingEventConsumer.KOGITO_PROCESS_DEFINITIONS_EVENTS;
 import static 
org.kie.kogito.index.service.messaging.ReactiveMessagingEventConsumer.KOGITO_USERTASKINSTANCES_EVENTS;
+import static org.kie.kogito.index.test.TestUtils.getProcessCloudEvent;
+import static org.kie.kogito.index.test.TestUtils.getUserTaskCloudEvent;
 import static org.kie.kogito.index.test.TestUtils.readFileContent;
 
 public abstract class AbstractMessagingKafkaConsumerIT extends 
AbstractMessagingConsumerIT {
@@ -67,6 +79,28 @@ public abstract class AbstractMessagingKafkaConsumerIT 
extends AbstractMessaging
         send("job_event.json", KOGITO_JOBS_EVENTS);
     }
 
+    @Override
+    protected void sendProcessInstanceEventCollection() throws Exception {
+        Collection<ProcessInstanceDataEvent<?>> events = List.of(
+                getProcessCloudEvent("travels", "processId-UUID1", 
ProcessInstanceState.ACTIVE, null, null, null, "user1"),
+                getProcessCloudEvent("travels", "processId-UUID2", 
ProcessInstanceState.ACTIVE, null, null, null, "user2"));
+        kafkaClient.produce(ObjectMapperFactory.get().writeValueAsString(new 
MultipleProcessInstanceDataEvent(URI.create("test"), events)), 
KOGITO_PROCESSINSTANCES_EVENTS);
+    }
+
+    @Override
+    protected void sendUserTaskInstanceEventCollection() throws Exception {
+        Collection<UserTaskInstanceDataEvent<?>> events = List.of(
+                getUserTaskCloudEvent("taskId-UUID1", "travels", 
"processId-UUID1", null, null, "IN_PROGRESS"),
+                getUserTaskCloudEvent("taskId-UUID2", "travels", 
"processId-UUID1", null, null, "COMPLETED"));
+        kafkaClient.produce(ObjectMapperFactory.get().writeValueAsString(new 
MultipleUserTaskInstanceDataEvent(URI.create("test"), events)), 
KOGITO_USERTASKINSTANCES_EVENTS);
+    }
+
+    @Override
+    protected void sendProcessDefinitionEventCollection() throws Exception {
+        kafkaClient.produce(readFileContent("process_definition_event.json"), 
KOGITO_PROCESS_DEFINITIONS_EVENTS);
+        
kafkaClient.produce(readFileContent("process_definition_11_event.json"), 
KOGITO_PROCESS_DEFINITIONS_EVENTS);
+    }
+
     private void send(String file, String topic) throws Exception {
         String json = readFileContent(file);
         kafkaClient.produce(json, topic);
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/BlockingMessagingEventConsumerTest.java
 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/BlockingMessagingEventConsumerTest.java
new file mode 100644
index 000000000..c8ac500d9
--- /dev/null
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/java/org/kie/kogito/index/service/messaging/BlockingMessagingEventConsumerTest.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.kie.kogito.index.service.messaging;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.kie.kogito.event.DataEvent;
+import org.kie.kogito.event.process.MultipleProcessInstanceDataEvent;
+import org.kie.kogito.event.process.ProcessDefinitionDataEvent;
+import org.kie.kogito.event.process.ProcessInstanceDataEvent;
+import org.kie.kogito.event.usertask.MultipleUserTaskInstanceDataEvent;
+import org.kie.kogito.event.usertask.UserTaskInstanceDataEvent;
+import org.kie.kogito.index.event.KogitoJobCloudEvent;
+import org.kie.kogito.index.model.Job;
+import org.kie.kogito.index.service.IndexingService;
+import org.kie.kogito.index.storage.DataIndexStorageService;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import jakarta.enterprise.event.Event;
+
+import static org.mockito.Mockito.*;
+
+@ExtendWith(MockitoExtension.class)
+@Disabled
+class BlockingMessagingEventConsumerTest {
+
+    @Mock
+    DataIndexStorageService dataIndexStorageService;
+
+    @Mock
+    IndexingService indexingService;
+
+    @Mock
+    Event<DataEvent<?>> eventPublisher;
+
+    @InjectMocks
+    BlockingMessagingEventConsumer consumer;
+
+    @BeforeEach
+    void setUp() {
+        MockitoAnnotations.openMocks(this);
+    }
+
+    @Test
+    void testOnProcessInstanceEvent() {
+        // Arrange
+        ProcessInstanceDataEvent<?> event1 = 
mock(ProcessInstanceDataEvent.class);
+        ProcessInstanceDataEvent<?> event2 = 
mock(ProcessInstanceDataEvent.class);
+        Collection<ProcessInstanceDataEvent<?>> events = Arrays.asList(event1, 
event2);
+        MultipleProcessInstanceDataEvent event = new 
MultipleProcessInstanceDataEvent(URI.create("dummy"), events);
+
+        // Act
+        consumer.onProcessInstanceEvent(event);
+
+        // Assert
+        verify(indexingService, times(1)).indexProcessInstanceEvent(event);
+        verify(eventPublisher, times(1)).fire(event);
+    }
+
+    @Test
+    void testOnUserTaskInstanceEvent() {
+        // Arrange
+        UserTaskInstanceDataEvent<?> event1 = 
mock(UserTaskInstanceDataEvent.class);
+        UserTaskInstanceDataEvent<?> event2 = 
mock(UserTaskInstanceDataEvent.class);
+        Collection<UserTaskInstanceDataEvent<?>> events = 
Arrays.asList(event1, event2);
+        MultipleUserTaskInstanceDataEvent event = new 
MultipleUserTaskInstanceDataEvent(URI.create("dummy"), events);
+
+        // Act
+        consumer.onUserTaskInstanceEvent(event);
+
+        // Assert
+        verify(indexingService, times(1)).indexUserTaskInstanceEvent(event);
+        verify(eventPublisher, times(1)).fire(event);
+    }
+
+    @Test
+    void testOnJobEvent() {
+        // Arrange
+        KogitoJobCloudEvent event = mock(KogitoJobCloudEvent.class);
+        Job mockJob = mock(Job.class); // Mock the Job object
+        when(event.getData()).thenReturn(mockJob);
+
+        // Act
+        consumer.onJobEvent(event);
+
+        // Assert
+        verify(indexingService, times(1)).indexJob(mockJob); // Perform the 
verification after Uni completes
+    }
+
+    @Test
+    void testOnProcessDefinitionDataEvent() {
+        // Arrange
+        ProcessDefinitionDataEvent event1 = 
mock(ProcessDefinitionDataEvent.class);
+
+        // Act
+        consumer.onProcessDefinitionDataEvent(event1);
+
+        // Assert
+        verify(indexingService, times(1)).indexProcessDefinition(event1);
+        verify(eventPublisher, times(1)).fire(event1);
+    }
+
+    @Test
+    void testErrorHandlingInOnProcessInstanceEvent() {
+        // Arrange
+        ProcessInstanceDataEvent<?> event = 
mock(ProcessInstanceDataEvent.class);
+        Collection<ProcessInstanceDataEvent<?>> events = Arrays.asList(event);
+        doThrow(new RuntimeException("On purpose! Indexing 
failed")).when(indexingService).indexProcessInstanceEvent(event);
+
+        // Act
+        consumer.onProcessInstanceEvent(new 
MultipleProcessInstanceDataEvent(URI.create("dummy"), events));
+
+        // Assert
+        verify(eventPublisher, never()).fire(event); // Event should not be 
published if indexing fails
+    }
+
+    @Test
+    void testErrorHanlingInOnUserTaskInstanceEvent() {
+        // Arrange
+        UserTaskInstanceDataEvent<?> event = 
mock(UserTaskInstanceDataEvent.class);
+        Collection<UserTaskInstanceDataEvent<?>> events = Arrays.asList(event);
+        doThrow(new RuntimeException("On purpose! Indexing 
failed")).when(indexingService).indexUserTaskInstanceEvent(event);
+
+        // Act
+        consumer.onUserTaskInstanceEvent(new 
MultipleUserTaskInstanceDataEvent(URI.create("dummy"), events));
+
+        // Assert
+        verify(eventPublisher, never()).fire(event); // Event should not be 
published if indexing fails
+
+    }
+
+    @Test
+    void testErrorHandlingInOnProcessDefinitionDataEvent() {
+        // Arrange
+        ProcessDefinitionDataEvent event = 
mock(ProcessDefinitionDataEvent.class);
+        doThrow(new RuntimeException("On purpose! Indexing 
failed")).when(indexingService).indexProcessDefinition(event);
+
+        // Act
+        consumer.onProcessDefinitionDataEvent(event);
+
+        // Assert
+        verify(indexingService, times(1)).indexProcessDefinition(event);
+        verify(eventPublisher, never()).fire(event);
+    }
+}
diff --git 
a/data-index/data-index-service/data-index-service-common/src/test/resources/process_definition_11_event.json
 
b/data-index/data-index-service/data-index-service-common/src/test/resources/process_definition_11_event.json
new file mode 100644
index 000000000..7c10ef36a
--- /dev/null
+++ 
b/data-index/data-index-service/data-index-service-common/src/test/resources/process_definition_11_event.json
@@ -0,0 +1,162 @@
+{
+  "id": "717af02d-645a-4b27-8058-b67ff1fa8edb",
+  "source": "http://localhost:8080/jsongreet";,
+  "type": "ProcessDefinitionEvent",
+  "time": "2023-10-19T10:18:01.540311-03:00",
+  "data": {
+    "id": "jsongreet",
+    "name": "Greeting workflow",
+    "description": "JSON based greeting workflow",
+    "version": "1.1",
+    "type": "ProcessDefinitionEvent",
+    "roles": null,
+    "addons": [
+      "source-files",
+      "cloudevents"
+    ],
+    "annotations": [
+      "test2",
+      "test3",
+      "test1"
+    ],
+    "endpoint": "http://localhost:8080/jsongreet";,
+    "source": null,
+    "metadata": {
+      "Description": "JSON based greeting workflow",
+      "annotations": [
+        "test1",
+        "test2",
+        "test3"
+      ],
+      "Tags": [
+        "test1",
+        "test2",
+        "test3"
+      ]
+    },
+    "nodes": [
+      {
+        "id": "1",
+        "name": "Start",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-12",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-12",
+          "state": "ChooseOnLanguage"
+        }
+      },
+      {
+        "id": "2",
+        "name": "End",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-13",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-13",
+          "state": "GreetPerson"
+        }
+      },
+      {
+        "id": "3",
+        "name": "ChooseOnLanguage",
+        "type": "INTERNAL",
+        "uniqueId": "3",
+        "metadata": {
+          "UniqueId": "3",
+          "Variable": "workflowdata",
+          "state": "ChooseOnLanguage",
+          "Default": "3_12"
+        }
+      },
+      {
+        "id": "4",
+        "name": "GreetInEnglish",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-15",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-15",
+          "state": "GreetInEnglish"
+        }
+      },
+      {
+        "id": "5",
+        "name": "GreetInSpanish",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-16",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-16",
+          "state": "GreetInSpanish"
+        }
+      },
+      {
+        "id": "6",
+        "name": "GreetPerson",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-17",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-17",
+          "state": "GreetPerson"
+        }
+      },
+      {
+        "id": "7",
+        "name": "EmbeddedStart",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-18",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-18"
+        }
+      },
+      {
+        "id": "9",
+        "name": "greetFunction",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-19",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-19",
+          "action": "greetAction",
+          "state": "GreetPerson"
+        }
+      },
+      {
+        "id": "10",
+        "name": "Script",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-20",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-20"
+        }
+      },
+      {
+        "id": "11",
+        "name": "EmbeddedEnd",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-21",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-21"
+        }
+      },
+      {
+        "id": "12",
+        "name": "Join-GreetInEnglish",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-22",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-22",
+          "state": "GreetInEnglish"
+        }
+      },
+      {
+        "id": "13",
+        "name": "Join-GreetPerson",
+        "type": "INTERNAL",
+        "uniqueId": "_jbpm-unique-23",
+        "metadata": {
+          "UniqueId": "_jbpm-unique-23",
+          "state": "GreetPerson"
+        }
+      }
+    ]
+  },
+  "specversion": "1.0",
+  "kogitoprocid": "jsongreet"
+}
\ No newline at end of file
diff --git 
a/data-index/data-index-service/data-index-service-postgresql/src/test/resources/application.properties
 
b/data-index/data-index-service/data-index-service-postgresql/src/test/resources/application.properties
index 9c9f91f71..4911da58f 100644
--- 
a/data-index/data-index-service/data-index-service-postgresql/src/test/resources/application.properties
+++ 
b/data-index/data-index-service/data-index-service-postgresql/src/test/resources/application.properties
@@ -17,6 +17,18 @@
 # under the License.
 #
 
+quarkus.log.console.enable=true
+quarkus.log.console.level=INFO
+quarkus.log.level=DEBUG
+quarkus.log.category."org.kie.kogito".level=DEBUG
+quarkus.log.category."org.kie.kogito".min-level=DEBUG
+quarkus.log.category."io.vertx".level=DEBUG
+quarkus.log.category."io.restassured".level=DEBUG
+quarkus.log.category."graphql".level=DEBUG
+quarkus.log.category."io.smallrye".level=DEBUG
+
+
+
 #Data Index
 kogito.apps.persistence.type=postgresql
 kogito.data-index.domain-indexing=false


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to