[ 
https://issues.apache.org/jira/browse/CAMEL-11249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrea Cosentino updated CAMEL-11249:
-------------------------------------
    Fix Version/s:     (was: 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: 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)

Reply via email to