Seems to be working brilliantly except one thing:
the input adapter gets concurrent tasks running
Code:
<int-amqp:inbound-channel-adapter
queue-names="doc" channel="input.channel" connection-factory="rabbitConnFactory"
concurrent-consumers="20" task-executor="taskExecutor" tx-size="1"/>
And the chains produce what they are supposed to
Code:
<si:chain id="downloader.chain" input-channel="input.channel"
output-channel="downloader.output.channel">
<si:transformer>
<bean class="com.example.converter.message.RabbitMessageTransformer" />
</si:transformer>
<si:header-enricher>
<si:header name="file_id" expression="payload['file_id']" />
<si:header name="file_org_download_url" expression="payload['file_org_download_url']" />
<si:header name="file_conv_upload_url" expression="payload['file_conv_upload_url']" />
</si:header-enricher>
<si:service-activator ref="file.download.service" />
</si:chain>
<si:chain id="batch.doc.chain" input-channel="downloader.output.channel"
output-channel="job.responses.channel">
<si:transformer expression="headers['file_id']"></si:transformer>
<si:transformer>
<bean
class="com.example.converter.message.PropertiesToJobLaunchRequestTransformer">
<property name="job" ref="simpleJob"></property>
</bean>
</si:transformer>
<int:service-activator ref="simple.document.service" />
</si:chain>
But at the end,
Code:
<int:channel id="job.responses.channel">
<int:queue />
<si:interceptors>
<si:wire-tap channel="input.logging.channel" />
</si:interceptors>
</int:channel>
When I look in RabbitMq's panel, there are several unacknowledged messages, and it does not want to process any more. How do I acknowledge the messages after the process?