[
https://issues.apache.org/jira/browse/CAMEL-16821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17388026#comment-17388026
]
Claus Ibsen commented on CAMEL-16821:
-------------------------------------
Yes its those darn/stupid findbugs rules or whatever that complain about
catching Throwable.
> BeanProcessor with Process bean does not handle Throwable
> ---------------------------------------------------------
>
> Key: CAMEL-16821
> URL: https://issues.apache.org/jira/browse/CAMEL-16821
> Project: Camel
> Issue Type: Bug
> Components: camel-bean
> Affects Versions: 3.11.0
> Reporter: Samuel Padou
> Priority: Major
>
> Invoking a Processor bean with BeanProcessor does not handle a non Exception
> Throwable thrown by the Processor, for example if the Processor throw an
> AssertionError. The throwable will be caught and logged by theĀ
> DefaultReactiveExecutor above, but because it is ignored and prevented the
> execution of callbacks the route is stuck.
> With the following route:
> {code:java}
> @Component
> public static class Route extends RouteBuilder {
> @Override
> public void configure() throws Exception {
> from("direct:test")
> .bean(Service.class);
> }
> }
> @Component
> public static class Service implements Processor {
> @Override
> public void process(Exchange exchange) throws Exception {
> throw new AssertionError("test");
> }
> }
> @Component
> public static class Runner implements CommandLineRunner {
> @Autowired
> private CamelContext camelContext;
> @Autowired
> private ProducerTemplate producerTemplate;
> @Override
> public void run(String... args) throws Exception {
> var exchange = new DefaultExchange(camelContext)
> producerTemplate.send("direct:test", exchange);
> }
> }
> {code}
> The code will block indefinitely on the producerTemplate.send(...)
> This is not an issue when a method is invoked directly because the
> AssertionError is wrapped in an InvocationTargetException, it only occurs
> when a Processor is used.
> It look like a regression from this commit
> [https://github.com/apache/camel/commit/ab217659e3c9013322a5e7793db5dff904dc4c67]
> that changed the catch Throwable in catch Exception when the processor is
> invoked in AbstractBeanProcessor.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)