When multiple producers are used to consume input from a consumer, the exchange object available to only one producer.

Solution Unverified - Updated -

Issue

  • When multiple producers are used to consume input from a file consumer, the exchange object available to only one producer.
  • Currently, we are encountering an issue where alert emails are being falsely sent out. The files have been successfully transferred to the destinations but somehow, there is a residual of it present which causes this. We are not able to pin-point the root cause of this 'bogus' email issue and need some help.
  • An example of a route from the Management Console
<route xmlns="http://camel.apache.org/schema/spring" id="Inbound">
        <from uri="smb://xyz.com;abc@lmn.com/path/to?password=G00d2G0ld&amp;localWorkDirectory=/path/to&amp;scheduler=spring&amp;scheduler.cron=0/20 * * * * ?&amp;inProgressRepository=#inProgressRepoHazel&amp;autoCreate=false&amp;delete=true&amp;include=.*.dat"/>
        <onException>
            <redeliveryPolicy maximumRedeliveries="72" redeliveryDelay="3600000" retryAttemptedLogLevel="INFO"/>
            <log message="*************File: ${headers.CamelFileName} never reached destination********************" loggingLevel="INFO"/>
            <log message="*************Continue Processing the file Probably can't reach destination********************" loggingLevel="INFO"/>
        </onException>
        <log message="Start Transfer File: ${headers.CamelFileName} , ${headers.CamelFileLength} bytes"/>
        <setHeader headerName="DESTINATION_LIST">
            <constant>sftp://lmn@abc.com/path/to?password=sts123&passiveMode=true&preferredAuthentications=password&eagerDeleteTargetFile=false&autoCreate=false&tempFileName=${headers.CamelFileName}-${headers.CamelFileLength}-${headers.CamelFileLastModified}_</constant>
        </setHeader>
        <to uri="smb://abc.com;test@xyz.abc.com/path/to?password=G00d2G0ld&amp;eagerDeleteTargetFile=false&amp;autoCreate=false&amp;tempFileName=${headers.CamelFileName}-${headers.CamelFileLength}-${headers.CamelFileLastModified}_"/>
        <recipientList parallelProcessing="true" streaming="true" timeout="4320000">
            <expressionDefinition>tokenize(header{DESTINATION_LIST}, ~~~)</expressionDefinition>
        </recipientList>
        <log message="MFT-End Transfer File: ${headers.CamelFileName} , ${headers.CamelFileLength} bytes "/>
    </route>

Environment

  • Red Hat JBoss Fuse
    • 6.1.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content