Chandra Bose Renganathan created CAMEL-11044:
------------------------------------------------
Summary: CLONE - EndpointHelper.resolveReferenceListParameter
should not return immutable lists
Key: CAMEL-11044
URL: https://issues.apache.org/jira/browse/CAMEL-11044
Project: Camel
Issue Type: Improvement
Components: camel-core
Affects Versions: 2.16.1
Reporter: Chandra Bose Renganathan
Assignee: Claus Ibsen
Priority: Minor
Fix For: 2.16.3, 2.17.0
EndpointHelper.resolveReferenceListParameter can sometimes return immutable
lists, which can cause issues when other components try to add items to those
lists.
The fact that other endpoints (like jetty-common JettyHttpComponent [enableCors
line 279]) can add other components into the lists can cause hard to track down
failures.
Sorry don't have a patch file, but the lines i would fix in EndpointHelper.java
would be:
line 350: return Collections.emptyList();
line 360: return Arrays.asList(elements.size())
These should just return ArrayLists.
I know these parameters should optionally be Lists already, and this is a
slight performance hit when starting up, but i think it's better than trying to
figure out what went wrong when it fails.
My particular scenario was a Jetty endpoint with a filtersRef (with a single
Filter - not a list) and then enableCORS=true. The filtersRef returned
Arrays.asLIst and then enableCORS tried to add an element into that list and
crashed.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)