Hi I have the following route definition:
from("salesforce:data/ChangeEvents?replayId=" + replayId).process(this::processDataChange); This subscribes to Salesforce Change Data Capture events and works fine. The problem is that if replayId (which is stored on a DB) is old (older than 24 hours) then Salesforce will not recognize that replayId as valid, since it's outside the retention window they provide, and the route will throw an exception when it attempts to start the subscription, which is done asynchronously: org.apache.camel.component.salesforce.api.SalesforceException: Error subscribing to data/ChangeEvents: 400::The replayId {13277} you provided was invalid. Please provide a valid ID, -2 to replay all events, or -1 to replay only new events. In that scenario I would like to react to that error and set the replayId to -2 and process new events accordingly, but I don't know how to be able to catch that Exception, since the error handling mechanisms I know of (onException, etc) work only for incoming messages. Thanks, Andrés