Как поймать исключение запуска компонента компонента Apache Camel ComponentJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как поймать исключение запуска компонента компонента Apache Camel Component

Сообщение Anonymous »

Я буду использовать компонент PostgreSQL Debezium в качестве примера здесь, но эти вопросы относится к любому компоненту верблюда. Я знаю, как обрабатывать ошибки, связанные с сообщением, после того, как маршрут был создан, но как я могу завоевать исключения из компонента производителя, которые происходят во время процесса инициализации маршрута? Например: < /p>
from("debezium-postgres:dbz-test-1?databaseDbname=foo... full uri omitted")
.log("Event received from Debezium : ${body}");
< /code>
Если база данных "foo" не существует, разъем Debezium вызовет исключение, но маршрут все равно будет запущен. Я хочу поймать это исключение, когда оно происходит, и остановить маршрут. Я пытался использовать Onexception с BridgeerrorHandler в конечной точке Debezium, но, как и ожидалось, это не работает, потому что исключение не связано с обменом. Я также пытался поймать его с помощью политики маршрута, но это тоже не работает. Я попробовал: < /p>
public class DebeziumStartupExceptionRoutePolicy extends RoutePolicySupport {

private final CamelContext camelContext;

public DebeziumStartupExceptionRoutePolicy(CamelContext camelContext) {
this.camelContext = camelContext;
}

@Override
public void onInit(Route route) {
this.setExceptionHandler(new DebeziumStartupErrorExceptionHandler());
super.onInit(route);
}

@Override
public void onStart(Route route) {
super.onStart(route);
}

private void handleException(Route route, Exception e) {
log.error("Exception caught during route startup: {}", e.getMessage(), e);
}
}
< /code>
Тем не менее, debeziumstartuperrorexceptionHandler не вызывается, когда исключение по ошибке Postgres будет выбрано. Кроме того, когда я установил точку останова в методе OnStart (), я могу получить объект маршрута после того, как произошло исключение, но я не вижу указания исключения на объекте. В частности, поле RouteError является нулевым, и я не вижу никаких других очевидных признаков. Как правильный способ справиться с этим сценарием?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/794 ... -exception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Org.apache.camel.ResolveEndpointFailedException: не удалось разрешить конечную точку из-за: org.apache.camel.Header отсу
    Anonymous » » в форуме JAVA
    0 Ответы
    232 Просмотры
    Последнее сообщение Anonymous
  • Blazor WASM Component Component заставляет сервер сбой
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Apache Camel: как лучше всего повторно использовать маршруты Camel из других маршрутов?
    Anonymous » » в форуме JAVA
    0 Ответы
    103 Просмотры
    Последнее сообщение Anonymous
  • Apache Camel - Получение ошибки в среде выполнения при запуске команды MVN Camel Run
    Anonymous » » в форуме JAVA
    0 Ответы
    89 Просмотры
    Последнее сообщение Anonymous
  • Apache Camel - Получение ошибки в среде выполнения при запуске команды MVN Camel Run
    Anonymous » » в форуме JAVA
    0 Ответы
    69 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»