We are using Java 8, SOAP, Apache Camel and the camel-cxf component to route messageges. Everything works fine until we encounter a unmarshalling error in the response. What happens is that the CPU gets 100% on a I/O Dispatcher thread. The thread is RUNNING and not BLOCKED.
What we do is requesting a list of adresses that we send through a splitter that aggregates the responses.
.split(body()).executorServiceRef("splitterThreadPool")
.timeout(aggregationTimeout)
.parallelProcessing(true)
.aggregationStrategy(agpAggregationStrategy
...
.toD("direct:${exchangeProperty.AgpServiceComponentId}")
.end()
If one response causes an unmarshalling error we get this problem. The dispatcher thread will take all CPU until the service is restarted. Has anyone encountered a similar problem and how did you solve it? There are other soap faults that do not create this problem.