2014-11-27 3 views
1

У меня есть проект, где, например, у меня есть простой маршрут, где файлы берутся из каталога и отправляются в очередь ActiveMQ, но как только я запускаю приложение, некоторые файлы передаются, а затем приложение останавливается до завершения для передачи всех файлов. При проверке исходной папки появляется файл с расширением .camelLock и больше ничего не продолжается. Кто-нибудь знает решение этой проблемы?Верблюд файл camelLock блокирует исполнение

Маршрут выглядит следующим образом:

<route trace="true"> 
    <from uri="file:src/testData"/> 
    <to uri="jms:queue:input"/> 
</route> 
+0

Создает ли каталог .camel? Если да, то что в нем? Предположительно, вы знаете, что любые файлы, начинающиеся с точки, не будут потребляться? –

+0

@Sebastian. Я также сталкиваюсь с такой же проблемой. Вы перенесли эту проблему? –

ответ

0

Если какое-либо исключение возникает при обработке файла, файл не будет перемещен в .camel или обработан folder.So, пожалуйста, добавьте раздел исключений и посмотреть, что происходит в маршрут.

0

В этом случае поток ввода файла может быть закрыт неправильно, поэтому файл заблокирован (.camelLock). Закройте файл InputStream правильно или перекрестите код со стороны входа Camel и попробуйте заменить его другим подходящим альтернативным решением.

Альтернативное решение:

В случае, если вы не можете найти открытые потоки в вашем коде, а затем применить ниже параметров Apache верблюжьего маршрут до. Производительность будет лучше.

readLockCheckInterval=1&amp;readLockTimeout=3 

В моем случае производительность намного лучше в окнах.

Смежные вопросы