Мы работаем над POC, чтобы использовать интеграцию Spring и Mab Rabbit. У нас есть два модуля производителя модулей, а потребительский модуль работает в разных JVM. Модуль «Продюсер» прослушивает папку (входную папку), как только появятся новые файлы, создает сообщение, затем нажимает на очередь (incoming.q.in), а также перемещается в папку процесса.файл входящего канала-адаптера, не создающего сообщений
В модуле производителя у нас есть код ниже. Когда я запустил около 100 файлов в входящей папке, обработано и перемещено в обрабатываемую папку около 90 файлов, но 10 файлов не переместились в папку процесса.
Для неудачных случаев эти сообщения в лог-файл
....
[07/30/13 07: 34: 23: 023 EDT] [taskExecutor-3] DEBUG org.springframework.integration.file. FileReadingMessageSource Добавлен в очередь: [test.xml] [07/30/13 07: 34: 23: 023 EDT] [taskExecutor-3] DEBUG org.springframework.integration.endpoint.SourcePollingChannelAdapter Получено сообщение Сообщение во время опроса, false '
....
для успешного случая
....
[07/30/13 07: 34: 32: 032 EDT] [taskExecutor-1] ОТЛАДКА org.springframework.integration.file.FileReadingMessageSource Добавлено в очередь: [test_0.xml] [07/30/13 07: 34: 32: 032 EDT] [taskExecutor-1] INFO org.springframework.integration.file.FileReadingMessageSource Созданное сообщение: [[Payload =/apps/incoming/test_0.xml] [Headers = {timestamp = 1375184072466 , ID = d8d4cea4-A25D-4869-b287-e76cfb76f554}]]
....
Вот код
<file:inbound-channel-adapter id="inboundAdapter" channel="inboundChannel" directory="file:${incoming_folder}" prevent-duplicates="true" filename-pattern="*.*" auto-startup="true" >
<int:poller id="fileInboudPoller" fixed-rate="3" receive-timeout="3" time-unit="SECONDS" max-messages-per-poll="1" task-executor="taskExecutor"/>
<file:nio-locker />
</file:inbound-channel-adapter>
Спасибо Гэри. Файлы генерируются другой системой. Мы попытаемся использовать временный подход к имени файла и сообщим вам о результатах. – Mohan
Он работал идеально. – Mohan