Как определить исключение, которое будет брошено через ref в Apache Camel - PullRequest
15 голосов
/ 30 апреля 2011

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

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

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

Ответы [ 2 ]

18 голосов
/ 30 апреля 2011

Ссылка является просто ссылкой на, так что вы можете сделать

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

<camelContext ...>
  ...
</camelContext>
8 голосов
/ 19 мая 2016

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

<route>
     <throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/>
</route>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...