Skip to content

Commit bba507b

Browse files
sjuarezBeta Bot
authored andcommitted
Cherry pick branch 'genexuslabs:AzureFunctions' into beta
1 parent abd494a commit bba507b

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

gxazureserverless/src/main/java/com/genexus/cloud/serverless/azure/handler/AzureServiceBusQueueHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void run(
2121
context.getLogger().info("GeneXus Service Bus Queue trigger handler. Function processed: " + context.getFunctionName() + " Invocation Id: " + context.getInvocationId());
2222
setupServerlessMappings(context.getFunctionName());
2323
ServiceBusBatchMessageProcessor queueBatchMessageProcessor = new ServiceBusBatchMessageProcessor();
24-
ServiceBusProcessedMessage queueMessage = queueBatchMessageProcessor.processQueueMessage(executor,messages);
24+
ServiceBusProcessedMessage queueMessage = queueBatchMessageProcessor.processQueueMessage(context, executor, messages);
2525
try {
2626
EventMessageResponse response = dispatchEvent(queueMessage.getEventMessages(),queueMessage.getRawMessage());
2727
if (response.hasFailed()) {

gxazureserverless/src/main/java/com/genexus/cloud/serverless/azure/handler/AzureServiceBusTopicHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public void run(
2121
context.getLogger().info("GeneXus Service Bus Topic trigger handler. Function processed: " + context.getFunctionName() + " Invocation Id: " + context.getInvocationId());
2222
setupServerlessMappings(context.getFunctionName());
2323
ServiceBusBatchMessageProcessor queueBatchMessageProcessor = new ServiceBusBatchMessageProcessor();
24-
ServiceBusProcessedMessage queueMessage = queueBatchMessageProcessor.processQueueMessage(executor,messages);
24+
ServiceBusProcessedMessage queueMessage = queueBatchMessageProcessor.processQueueMessage(context, executor, messages);
2525
try {
2626
EventMessageResponse response = dispatchEvent(queueMessage.getEventMessages(), queueMessage.getRawMessage());
2727
if (response.hasFailed()) {

gxazureserverless/src/main/java/com/genexus/cloud/serverless/helpers/ServiceBusBatchMessageProcessor.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,23 @@
44
import com.genexus.cloud.serverless.JSONHelper;
55
import com.genexus.cloud.serverless.model.EventMessage;
66
import com.genexus.cloud.serverless.model.EventMessages;
7+
import com.microsoft.azure.functions.ExecutionContext;
78
import com.sun.jna.platform.win32.Guid;
89

10+
import java.time.Instant;
11+
import java.util.Date;
12+
913
public class ServiceBusBatchMessageProcessor {
10-
public ServiceBusProcessedMessage processQueueMessage(GXProcedureExecutor executor, String[] messages) {
14+
public ServiceBusProcessedMessage processQueueMessage(ExecutionContext context, GXProcedureExecutor executor, String[] messages) {
1115
String rawMessage = "";
1216
EventMessages eventMessages = new EventMessages();
1317
switch (executor.getMethodSignatureIdx()) {
1418
case 0: {
1519
for(String message : messages)
1620
{
1721
EventMessage msg = new EventMessage();
18-
msg.setMessageId(Guid.GUID.newGuid().toString()); // This is a fake Id.
22+
msg.setMessageId(context.getInvocationId()); // This is a fake Id.
23+
msg.setMessageDate(Date.from(Instant.now())); //This is the time of processing not the enqueued time. Until now, this metadata is not available.
1924
msg.setMessageData(message);
2025
eventMessages.add(msg);
2126
}

0 commit comments

Comments
 (0)