[
https://issues.apache.org/jira/browse/CAMEL-7161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-7161.
--------------------------------
Resolution: Fixed
> camel-dozer - Can cause dead-lock in init when using spring
> -----------------------------------------------------------
>
> Key: CAMEL-7161
> URL: https://issues.apache.org/jira/browse/CAMEL-7161
> Project: Camel
> Issue Type: Bug
> Affects Versions: 2.12.2
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Fix For: 2.12.3, 2.13.0
>
>
> When using spring with dozer, and we call init in the ctr, then spring can
> cause a dead lock when it does its getBean stuff.
> {code}
> java.lang.Thread.State: BLOCKED (on object monitor)
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:182)
> - waiting to lock <0x00000007d7c4ca38> (a
> java.util.concurrent.ConcurrentHashMap)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:468)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:356)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:334)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:434)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:428)
> at
> org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1182)
> at
> org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:228)
> at
> org.apache.camel.spring.spi.ApplicationContextRegistry.findByTypeWithName(ApplicationContextRegistry.java:85)
> at
> org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.findByTypeWithName(PropertyPlaceholderDelegateRegistry.java:70)
> at
> org.apache.camel.converter.dozer.DozerTypeConverterLoader.lookupDozerBeanMapperConfigurations(DozerTypeConverterLoader.java:228)
> at
> org.apache.camel.converter.dozer.DozerTypeConverterLoader.init(DozerTypeConverterLoader.java:155)
> {code}
> We should defer init to a bit later, and turn the loader into a service so
> init is done like the others with start|stop methods.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)