[
https://issues.apache.org/jira/browse/CAMEL-11249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-11249:
--------------------------------
Fix Version/s: (was: 2.22.0)
2.23.0
> camel-core - Extend split() capabilities with pluggable splitters
> -----------------------------------------------------------------
>
> Key: CAMEL-11249
> URL: https://issues.apache.org/jira/browse/CAMEL-11249
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Nicola Ferraro
> Assignee: Nicola Ferraro
> Priority: Major
> Fix For: 2.23.0, 3.0.0
>
>
> Currently a "split().body()" processor will work with a limited set of value
> types.
> This is an excerpt from ObjectHelper.createIterator(value):
> {code}
> * Creates an iterator over the value if the value is a collection, an
> * Object[], a String with values separated by comma,
> * or a primitive type array; otherwise to simplify the caller's code,
> * we just create a singleton collection iterator over a single value
> * <p/>
> * Will default use comma for String separating String values.
> * This method does <b>not</b> allow empty values
> {code}
> New libraries (reactive-streams, grpc, but also java 8 collections) make
> heavy use of streams, not only standard java collections.
> In order to support a wide range of streams types, we can make the split
> algorithm pluggable, e.g. by providing custom conversions from a specific
> type to a "CamelStreamingObject" (tbd).
> This way we can convert any kind of streaming object (e.g. Publisher) into
> its content by putting a ".split().body()".
> In Camel 2.19.0, users should include a "UnwrapStreamProcessor" in their
> routes to do this conversion.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)