diff --git a/pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/Record.java b/pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/Record.java index b99c4dc0e746b..3c3d7e8d78efe 100644 --- a/pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/Record.java +++ b/pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/Record.java @@ -18,6 +18,8 @@ */ package org.apache.pulsar.functions.api; +import org.apache.pulsar.client.api.Message; + import java.util.Collections; import java.util.Map; import java.util.Optional; @@ -104,4 +106,8 @@ default void fail() { default Optional getDestinationTopic() { return Optional.empty(); } + + default Optional> getMessage() { + return Optional.empty(); + } } diff --git a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarRecord.java b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarRecord.java index c03ed9fa834a9..3af9a4101ad8a 100644 --- a/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarRecord.java +++ b/pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/source/PulsarRecord.java @@ -106,4 +106,9 @@ public void ack() { public void fail() { this.failFunction.run(); } + + @Override + public Optional> getMessage() { + return Optional.of(message); + } }