This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.18.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 23acc0cd1a01b01cbef49cd918b0c86bda749092 Author: vpaturet <46598384+vpatu...@users.noreply.github.com> AuthorDate: Tue Sep 13 19:47:26 2022 +0200 CAMEL-18503: Configure max ack extension period in PubSub subscriber (#8363) --- .../component/google/pubsub/GooglePubsubComponent.java | 2 ++ .../camel/component/google/pubsub/GooglePubsubEndpoint.java | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java index f2051b1ad6a..143881567ad 100644 --- a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java +++ b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java @@ -55,6 +55,7 @@ import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.StringHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.threeten.bp.Duration; /** * Represents the component that manages {@link GooglePubsubEndpoint}. @@ -187,6 +188,7 @@ public class GooglePubsubComponent extends DefaultComponent { builder.setChannelProvider(channelProvider); } builder.setCredentialsProvider(getCredentialsProvider(googlePubsubEndpoint)); + builder.setMaxAckExtensionPeriod(Duration.ofSeconds(googlePubsubEndpoint.getMaxAckExtensionPeriod())); return builder.build(); } diff --git a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java index bbf39aeef53..e4298e3edcf 100644 --- a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java +++ b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java @@ -86,6 +86,11 @@ public class GooglePubsubEndpoint extends DefaultEndpoint { description = "AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly") private GooglePubsubConstants.AckMode ackMode = GooglePubsubConstants.AckMode.AUTO; + @UriParam(label = "consumer", name = "maxAckExtensionPeriod", + description = "Set the maximum period a message ack deadline will be extended. Value in seconds", + defaultValue = "3600") + private int maxAckExtensionPeriod = 3600; + @UriParam(defaultValue = "false", description = "Should message ordering be enabled", label = "producer,advanced") @@ -225,6 +230,14 @@ public class GooglePubsubEndpoint extends DefaultEndpoint { this.ackMode = ackMode; } + public int getMaxAckExtensionPeriod() { + return maxAckExtensionPeriod; + } + + public void setMaxAckExtensionPeriod(int maxAckExtensionPeriod) { + this.maxAckExtensionPeriod = maxAckExtensionPeriod; + } + public GooglePubsubSerializer getSerializer() { return serializer; }