You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2016/01/31 11:17:39 UTC

[jira] [Commented] (CAMEL-9431) TypeConverter autoconfiguration leads to invalid shutdown sequence

    [ https://issues.apache.org/jira/browse/CAMEL-9431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15125275#comment-15125275 ] 

Claus Ibsen commented on CAMEL-9431:
------------------------------------

Can you try with Camel 2.16.2

> TypeConverter autoconfiguration leads to invalid shutdown sequence
> ------------------------------------------------------------------
>
>                 Key: CAMEL-9431
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9431
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-spring-boot
>    Affects Versions: 2.16.1
>            Reporter: Laurent Chiarello
>            Priority: Minor
>             Fix For: 2.16.3, 2.17.0
>
>         Attachments: CamelSpringBootShutdownTest.java
>
>
> When using autoconfiguration provided by the {{camel-spring-boot}} artifact,  a {{TypeConverter}} bean is automatically registered into the Spring context: 
> {code:title=TypeConversionConfiguration.java}
> @Bean
> TypeConverter typeConverter(CamelContext camelContext) {
>     return camelContext.getTypeConverter();
> }
> {code}
> The returned bean is an instance of {{DefaultTypeConverter}}, which in turn implements {{ServiceSupport}} and its method {{public void shutdown()}}. This method is infered as a _destroy-method_ by Spring, and called during the shutdown of the ApplicationContext. 
> As a consequence, the TypeConverter will be destroyed before the CamelContext, effectively preventing any type conversion support for the inflight messages that have still to be processed during the graceful shutdown period of Camel. 
> AFAIK the simple fix would be to disable the destroy-method inference using {{@Bean(destroyMethod="")}}. This will let Camel have a chance to perform a clean shutdown in the right sequence. 
> As a workaround, it is possible to entirely disable the registration of the type converter in Spring using the property
> {{camel.springboot.type-conversion = false}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)