FAQ
Ошибки и решения при создании маршрутов в Apache Camel:
Ошибка: AmbiguousMethodCallException
Пример кода, вызывающего ошибку:
<setProperty name="t1"> <simple>${exchangeProperty[t0].replace("es","")}</simple> </setProperty>Описание ошибки:
org.apache.camel.component.bean.AmbiguousMethodCallException: Ambiguous method invocations possible: [public java.lang.String java.lang.String.replace(java.lang.CharSequence,java.lang.CharSequence), public java.lang.String java.lang.String.replace(char,char)] on the exchange: Exchange[ID-valery-TravelMate-P215-53-1731680655831-7-1]Ошибка возникает, когда Camel не может однозначно выбрать подходящий метод для выполнения и выполняет сверку типа параметра с body:
methodInfo.getBodyParameterType().isInstance(body)где, methodInfo.getBodyParameterType() - java.lang.CharSequence
Поэтому в данном случае ошибка проявляется, если body != String.
Непредвиденные ошибки и их решение
Ошибка: Восстановление консистентности кластера
Описание проблемы
В некоторых случаях при сбое кластера может возникнуть ситуация, когда один и тот же bundle имеет разные версии и находится одновременно в статусе cluster и в статусе local.
Шаги по восстановлению консистентности
- 
Определить проблемный bundle 
 Выполните команду, чтобы найти ID проблемного bundle:karaf@root()> list
- 
Удалить некорректный bundle 
 Используйте команду uninstall, указав ID bundle (например, 583):karaf@root()> uninstall 583
- 
Запустить синхронизацию кластера 
 Для выравнивания версии bundle на всех узлах кластера выполните:karaf@root()> cluster:sync -bФлаг -b означает синхронизацию bundle в рамках всего кластера. 
Ошибка: Сервис (bundle) переходит в статус Starting/Resolved при обработке больших объемов данных, содержащихся в ответе REST-сервиса
При формировании больших объемов данных в REST-сервисе может возникать ошибка, когда сервис (bundle) переходит в статус Starting/Resolved. Это связано с тем, что процесс обработки больших ответов не оптимизирован, что может привести к проблемам с производительностью и превышением ограничений на размер ответа.
Решение
Для формирования ответов с большими объемами данных в REST-сервисах рекомендуется использовать сохраненные FTL-шаблоны, а не вписывать текст непосредственно в маршрут.
Ошибка: Коннекторы переходят в статус GracePeriod после перезагрузки системы
Если профиль остановлен (имеет статус Resolved), а коннекторы находятся в статусе Active, то после перезагрузки системы они автоматически переходят в статус GracePeriod. Это ожидаемое поведение системы.