Подтвердить что ты не робот

Как определить исключение, которое будет передано через ref в Apache Camel

Имейте в виду исключение в моем маршруте верблюда, определенном в XML. Найдено throwException выражение, доступное в Camel 2.3, которое выглядит следующим образом:

 <throwException ref="forced"></throwException>

Однако я не знаю, как определить класс исключения forced. Поскольку одно и то же исключение может быть вызвано пару раз с разными сообщениями об исключениях, было бы полезно знать, имеет ли throwException другую форму определения, поэтому класс исключения и сообщение исключения определены на месте.

4b9b3361

Ответ 1

Ссылка - это просто ссылка на a, чтобы вы могли сделать

<bean id="forced" class="java.lang.IllegalArgumentException">
   <constructor-arg index="0" value="This is forced"/>
</bean>

<camelContext ...>
  ...
</camelContext>

Ответ 2

Начиная с версии 2.16.0 есть более элегантный способ сделать это, с необязательным сообщением об исключении:

<route>
     <throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/>
</route>