Stefan created CAMEL-10562:
------------------------------
Summary: UnsupportedOperationException in
DefaultCamelContext#safelyStartRouteServices
Key: CAMEL-10562
URL: https://issues.apache.org/jira/browse/CAMEL-10562
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.18.0, 2.18.1
Environment: Oracle JDK 1.8.0_(<20)
Reporter: Stefan
Priority: Critical
DefaultCamelContext#safelyStartRouteServices the following code is called:
{code}
Collections.sort(startupListeners, new OrderedComparator());
{code}
{{startupListeners}} is a {{CopyOnWriteArrayList}}.
In the specification of Collections.sort it is stated, that an
UnsupportedOperationException is thrown if the collections listiterator doesn't
support the set-operation.
Sadly, the documentation of CopyOnWriteArrayList#listIterator states, that the
listiterator doesn't support this operation.
As expected in this szenario, the UnsupportedOperationException is thrown
during startup of the camel context if an Oracle JDK 1.8.0 with patchlevel
lower than 20 is used.
In 1.8.0_20 the operation Collections#sort(List,Comparator) is rewritten to
delegate to List#sort(Comparator) so it doesn't matter anymore if the lists
listIterator supports the set-operation.
The issue can trivially been fixed by replacing the line by
{code}
startupListeners.sort(new OrderedComparator());
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)