[
https://issues.apache.org/jira/browse/CAMEL-10616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15762544#comment-15762544
]
Minh Tran commented on CAMEL-10616:
-----------------------------------
You need a unit test that runs the route in its own thread so that your unit
test will end and camel will shutdown the context. The following exhibits the
problem. You can set a breakpoint in
org.apache.camel.processor.exceptionpolicy.DefaultExceptionPolicyStrategy.findMatchedExceptionPolicy()
(this was what I was debugging) and wait for longer than 10sec.
{noformat}
@RunWith(CamelSpringBootRunner.class)
@SpringBootTest
public class MyTest {
@Configuration
@EnableAutoConfiguration
public static class Config extends SpringRouteBuilder {
@Override
public void configure() throws Exception {
from("activemq:queue:a").onException(RuntimeException.class).handled(true).end()
.throwException(RuntimeException.class, "something
bad happened");
}
@Bean
public ShutdownStrategy shutdownStrategy() {
DefaultShutdownStrategy strat = new
DefaultShutdownStrategy();
// this is ignored
strat.setTimeout(60000);
return strat;
}
}
@Produce(uri = "activemq:queue:a")
private ProducerTemplate producer;
@Test
public void testHello() throws InterruptedException {
producer.sendBody("hello");
}
}
{noformat}
If we can just override the shutdown timeout in unit tests, this wouldn't be an
issue. Looks like it might be fixed in 2.18.2 according to linked issue
CAMEL-10619?
> shutdown timeout override not working in unit tests
> ---------------------------------------------------
>
> Key: CAMEL-10616
> URL: https://issues.apache.org/jira/browse/CAMEL-10616
> Project: Camel
> Issue Type: Bug
> Components: camel-spring-boot
> Affects Versions: 2.18.1
> Reporter: Minh Tran
> Priority: Minor
>
> In my main application, I can override the timeout by declaring my own
> ShutdownStrategy bean and setting the timeout property. However this seems to
> be ignored during unit tests and always uses 10s timeouts.
> The bean is certainly being picked up because I see the following logging
> {noformat}
> org.apache.camel.spring.boot.CamelAutoConfiguration - Using custom
> ShutdownStrategy: org.apache.camel.impl.DefaultShutdownStrategy@5b8b9b2d
> {noformat}
> This is preventing me from doing any debugging during unit tests as it will
> always end the jvm before I can inspect anything.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)