[
https://issues.apache.org/jira/browse/CAMEL-8570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jakob Thun updated CAMEL-8570:
------------------------------
Description:
I get a NullPointerException when using log-level INFO or finer in a
spring-boot application with CXF.
The exception is thrown from DefaultCamelContext.java:2449, where it tries to
log how many routes have been started.
I have made an example project to reproduce it, it's available here:
https://github.com/jakobthun/spring-boot-camel-cxf-logging-bug
I have tried with camel version: 2.15.0 & 2.15-SNAPSHOT. Both have the same
behaviour.
+Andrew Block started som analysis:+
It is running into issues in this code block which is executed at logging level
>= INFO
if (log.isInfoEnabled()) {
// count how many routes are actually started
int started = 0;
for (Route route : getRoutes()) {
if (getRouteStatus(route.getId()).isStarted()) {
started++;
}
}
log.info("Total " + getRoutes().size() + " routes, of which " +
started + " is started.");
log.info("Apache Camel " + getVersion() + " (CamelContext: " +
getName() + ") started in " + TimeUtils.printDuration(stopWatch.taken()));
}
The exception occurs when the status for the route is pulled from the route
service. It is null and the exception is thrown. The route is initially spun up
but then refreshes when the CXF consumer is initialized.
Swapping it to test with a direct consumer does not result in a similar
situation and startup succeeds at all logging level.
It appears the route is not being registered with the route service
was:
I get a NullPointerException when using log-level INFO or finer in a
spring-boot application with CXF.
I have made an example project to reproduce it, it's available here:
https://github.com/jakobthun/spring-boot-camel-cxf-logging-bug
I have tried with camel version: 2.15.0 & 2.15-SNAPSHOT. Both have the same
behaviour.
+Andrew Block started som analysis:+
It is running into issues in this code block which is executed at logging level
>= INFO
if (log.isInfoEnabled()) {
// count how many routes are actually started
int started = 0;
for (Route route : getRoutes()) {
if (getRouteStatus(route.getId()).isStarted()) {
started++;
}
}
log.info("Total " + getRoutes().size() + " routes, of which " +
started + " is started.");
log.info("Apache Camel " + getVersion() + " (CamelContext: " +
getName() + ") started in " + TimeUtils.printDuration(stopWatch.taken()));
}
The exception occurs when the status for the route is pulled from the route
service. It is null and the exception is thrown. The route is initially spun up
but then refreshes when the CXF consumer is initialized.
Swapping it to test with a direct consumer does not result in a similar
situation and startup succeeds at all logging level.
It appears the route is not being registered with the route service
> NullPointerException when using CXF-component in a spring-boot application
> with loglevel >= INFO
> ------------------------------------------------------------------------------------------------
>
> Key: CAMEL-8570
> URL: https://issues.apache.org/jira/browse/CAMEL-8570
> Project: Camel
> Issue Type: Bug
> Components: camel-core, camel-cxf, camel-spring-boot
> Affects Versions: 2.15.0, 2.15.1
> Reporter: Jakob Thun
>
> I get a NullPointerException when using log-level INFO or finer in a
> spring-boot application with CXF.
> The exception is thrown from DefaultCamelContext.java:2449, where it tries to
> log how many routes have been started.
> I have made an example project to reproduce it, it's available here:
> https://github.com/jakobthun/spring-boot-camel-cxf-logging-bug
> I have tried with camel version: 2.15.0 & 2.15-SNAPSHOT. Both have the same
> behaviour.
> +Andrew Block started som analysis:+
> It is running into issues in this code block which is executed at logging
> level >= INFO
> if (log.isInfoEnabled()) {
> // count how many routes are actually started
> int started = 0;
> for (Route route : getRoutes()) {
> if (getRouteStatus(route.getId()).isStarted()) {
> started++;
> }
> }
> log.info("Total " + getRoutes().size() + " routes, of which " +
> started + " is started.");
> log.info("Apache Camel " + getVersion() + " (CamelContext: " +
> getName() + ") started in " + TimeUtils.printDuration(stopWatch.taken()));
> }
> The exception occurs when the status for the route is pulled from the route
> service. It is null and the exception is thrown. The route is initially spun
> up but then refreshes when the CXF consumer is initialized.
> Swapping it to test with a direct consumer does not result in a similar
> situation and startup succeeds at all logging level.
> It appears the route is not being registered with the route service
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)