davsclaus commented on code in PR #22674:
URL: https://github.com/apache/camel/pull/22674#discussion_r3464716913


##########
components/camel-mongodb/src/main/java/org/apache/camel/component/mongodb/MongoDbChangeStreamsConsumer.java:
##########
@@ -20,29 +20,67 @@
 import java.util.concurrent.ExecutorService;
 
 import org.apache.camel.Processor;
+import org.apache.camel.resume.ResumeAdapter;
+import org.apache.camel.resume.ResumeAware;
+import org.apache.camel.resume.ResumeStrategy;
+import org.apache.camel.spi.StateRepository;
 import org.apache.camel.support.DefaultConsumer;
+import org.apache.camel.support.resume.ResumeStrategyHelper;
+import org.apache.camel.support.service.ServiceHelper;
+import org.apache.camel.support.service.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.bson.BsonDocument;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static java.util.Collections.singletonList;
 
 /**
  * The MongoDb Change Streams consumer.
  */
-public class MongoDbChangeStreamsConsumer extends DefaultConsumer {
+public class MongoDbChangeStreamsConsumer extends DefaultConsumer implements 
ResumeAware<ResumeStrategy> {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(MongoDbChangeStreamsConsumer.class);
+    private static final String MONGODB_RESUME_PLACEHOLDER_ACTION = 
"mongodb-resume";
 
     private final MongoDbEndpoint endpoint;
     private ExecutorService executor;
     private MongoDbChangeStreamsThread changeStreamsThread;
+    private ResumeStrategy resumeStrategy;
+    private boolean stopOffsetRepo;
+    private volatile BsonDocument startupResumeToken;

Review Comment:
   The token repository is stopped here before the change streams thread is 
stopped (line 58). If the thread is mid-commit (`commitManager.commit()` → 
`repo.setState()`), the repo may already be shut down. Consider moving this 
block after the thread and executor shutdown to ensure the last token commit 
completes before the repo is closed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to