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;
     }

Reply via email to