Когда начинается маршрут Camel, статус маршрута меняется.Однако бывает, что маршрут запускается правильно, но при запуске / во время выполнения появляются предупреждения / ошибки журнала (например, неверный пароль при запуске компонента FTP).
Эти события регистрируются в файле консоли / журнала.Я хочу получить эти события программно (за пределами Camel DSL).Например, getEvents (routeID, typeEvent, xNumberOfEvents) {}.
Эти события кэшируются кем-то Camel?Могу ли я получить события чем-то вроде ManagedRouteMBean?Или я должен написать свой собственный механизм кэширования, используя средство оповещения о событиях (аналогично примеру RiderEventNotifier) или какой-то другой обработчик ошибок?
Например, в журнал записывается следующее сообщение:
2018-10-11 22:15:24.719 WARN 3820 --- [ XNIO-2 task-12]
o.a.c.component.file.remote.FtpConsumer : Error auto creating directory:
due File operation failed: 530 This server does not allow plain FTP. You have
to use FTP over TLS.
. Code: 530. This exception is ignored.
org.apache.camel.component.file.GenericFileOperationFailedException: File
operation failed: 530 This server does not allow plain FTP. You have to use
FTP over TLS.
. Code: 530
Проблема с вышесказанным в том, что маршрут запускается нормально.Так что
ManagedRouteMBean route = context.getManagedRoute(id, ManagedRouteMBean.class);
RouteError lastError = route.getLastError();
не возвращает ошибок.
Также кажется, что это не ошибки в обмене, поэтому обработчик ошибок или уведомители о событиях не перехватывают эти сообщения.
Я хотел бы перехватывать (и кэшировать) такие сообщения с помощью routeid.