You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2022/09/02 09:35:00 UTC

[jira] [Resolved] (CAMEL-11249) camel-core - Extend split() capabilities with pluggable splitters

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

Claus Ibsen resolved CAMEL-11249.
---------------------------------
    Resolution: Won't Fix

> 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
>            Priority: Major
>             Fix For: Future
>
>
> 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
(v8.20.10#820010)