Yury Kartsev created CAMEL-20352:
------------------------------------
Summary: camel.springboot.includeNonSingletons is not respected
anymore: prototype Route Builders are always initialized.
Key: CAMEL-20352
URL: https://issues.apache.org/jira/browse/CAMEL-20352
Project: Camel
Issue Type: Bug
Components: camel-spring-boot
Affects Versions: 4.3.0
Reporter: Yury Kartsev
Some time ago a new property was added to Apache Camel in CAMEL-10421, called
"includeNonSingletons". It was configured via
"camel.springboot.includeNonSingletons" property. Now it looks like
`org.apache.camel.main.DefaultRoutesCollector.collectRoutesFromRegistry` finds
all RouteBuilder in its `findByType(camelContext, RoutesBuilder.class);`
method, regardless of whether they're prototypes or not. In older Camel version
class `org.apache.camel.spring.boot.RoutesCollector` would run method
`onApplicationEvent` and it would not touch prototypes due to this:
"applicationContext.getBeansOfType(RoutesBuilder.class,
configurationProperties.isIncludeNonSingletons(), true).values()".
This issue causes our code to fail because we have a RouteBuilder prototype
with only constructor to set URI and routeId dynamically for each builder. But
we don't need Camel to do it automatically, because it does not know what to
pass to that constructor.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)