[ 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)