Назначение процессора Apache Camel

Новичок в Apache Camel и просто интересно... если я создаю приложение для обработки изображений, которое выполняет несколько длительных заданий по обработке изображений для очень больших файлов изображений, является ли "Процессор" Apache Camel "лучшим местом" для этого кода? Обработка может занять до 15 минут.

http://camel.apache.org/processor.html

Ура!

1 ответ

Решение

Интерфейс процессора просто обеспечивает способ вызова пользовательского кода Java из маршрута, его можно использовать для чего угодно... вы также можете использовать интеграцию Bean, чтобы просто вызывать существующий код POJO без каких-либо изменений и т. д.

Что касается вашего длительного процесса... вы должны запустить его асинхронно и настроить потребителя на получение результатов, когда они будут готовы (потребитель файла и т. д.).

Как Ben ODayговорит, что процессор - это способ, которым вы можете применить свой код для преобразования / обработки сообщения (чтение - данные). Поэтому это подходящее место для вашей задачи. Интеграция bean и процессор - это о том, как вы предоставляете свой код для Camel. На самом деле это одно и то же. Как насчет длительного времени обработки - вы должны беспокоиться, если вы производите большое количество сообщений в маршруте. Какую очередь вы используете? И какое количество сообщений вы производите? Вы должны прочитать о компоненте Seda и его опции под названием "concurrentConsumers". Вы также можете управлять параллельной обработкой, используя эту опцию.

Другие вопросы по тегам