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 2019/08/06 10:46:00 UTC
[jira] [Assigned] (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 reassigned CAMEL-11249:
-----------------------------------
Assignee: (was: Nicola Ferraro)
> 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
(v7.6.14#76016)