Otavio Rodolfo Piske created CAMEL-17121:
--------------------------------------------

             Summary: Investigate and consolidate do-wait-retry logic in 
components
                 Key: CAMEL-17121
                 URL: https://issues.apache.org/jira/browse/CAMEL-17121
             Project: Camel
          Issue Type: Task
    Affects Versions: 3.13.0
            Reporter: Otavio Rodolfo Piske
             Fix For: 3.x


In many components we have pieces of code that resemble the following:
 * do some (usually remote) work
 * test the result
 ** if failed
 *** wait (usually w/ Thread.sleep)
 *** repeat
 * Break loop if successful

 

We may have some potential for consolidating this logic in one of the core 
modules to reduce the code size and increase reuse.

 

Some likely candidates as of 3.13.0-SNAPSHOT are:

org.apache.camel.component.mllp.internal.TcpServerBindThread#doAccept
org.apache.camel.component.file.remote.strategy.FtpChangedExclusiveReadLockStrategy#acquireExclusiveReadLock
org.apache.camel.component.file.remote.SftpOperations#connect
org.apache.camel.component.file.remote.FtpOperations#doConnect
org.apache.camel.component.file.GenericFilePollingConsumer#doReceive
org.apache.camel.component.jms.reply.ReplyManagerSupport#waitForProvisionCorrelationToBeUpdated
org.apache.camel.component.couchdb.CouchDbChangesetTracker#waitForStability
org.apache.camel.component.mock.MockEndpoint#expectedFileExists(java.lang.String,
 java.lang.String)
org.apache.camel.component.mongodb.MongoAbstractConsumerThread#run
org.apache.camel.component.mongodb.gridfs.GridFsConsumer#run
org.apache.camel.component.optaplanner.OptaPlannerProducer#processWithXmlFile
org.apache.camel.component.rabbitmq.RabbitConsumer#handleShutdownSignal
org.apache.camel.component.rabbitmq.RabbitMQConsumer.StartConsumerCallable#call
org.apache.camel.component.rabbitmq.reply.ReplyManagerSupport#waitForProvisionCorrelationToBeUpdated
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper#performClientRestart
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper#subscribe
org.apache.camel.component.smpp.SmppConsumer#reconnect
org.apache.camel.component.soroushbot.utils.ExponentialBackOffStrategy
org.apache.camel.component.soroushbot.utils.FixedBackOffStrategy
org.apache.camel.component.soroushbot.utils.LinearBackOffStrategy
org.apache.camel.component.splunk.support.SplunkDataReader#savedSearch
org.apache.camel.component.splunk.support.SplunkDataReader#runQuery
org.apache.camel.component.ssh.SshHelper#getPrompt
org.apache.camel.component.stream.StreamConsumer#readFromStream
org.apache.camel.component.stream.StreamConsumer#doPromptMessage
org.apache.camel.support.cache.DefaultProducerCache#acquireProducer
org.apache.camel.test.junit4.TestSupport#deleteDirectory(java.io.File)
org.apache.camel.test.junit5.TestSupport#deleteDirectory(java.io.File)
org.apache.camel.util.FileUtil#delete
org.apache.camel.util.FileUtil#renameFile
org.apache.camel.util.FileUtil#deleteFile
org.apache.camel.component.websocket.WebsocketProducer#sendToAll
org.apache.camel.component.zookeeper.ZooKeeperConsumer.OperationsExecutor#run
org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterView.CamelLeaderElectionListener#takeLeadership



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to