public interface CamelReactiveStreamsService
extends org.apache.camel.Service, org.apache.camel.spi.HasId
Modifier and Type | Method and Description |
---|---|
ReactiveStreamsCamelSubscriber |
attachCamelConsumer(String name,
ReactiveStreamsConsumer consumer)
Used by Camel to associate the subscriber of the stream with the given name to a specific Camel consumer.
|
void |
attachCamelProducer(String name,
ReactiveStreamsProducer producer)
Used by Camel to associate the publisher of the stream with the given name to a specific Camel producer.
|
void |
detachCamelConsumer(String name)
Used by Camel to detach the existing consumer from the given stream.
|
void |
detachCamelProducer(String name)
Used by Camel to detach the existing producer from the given stream.
|
org.reactivestreams.Publisher<org.apache.camel.Exchange> |
from(String uri)
Creates a new stream from the endpoint URI (used as Camel Consumer) and returns
the associated
Publisher . |
<T> org.reactivestreams.Publisher<T> |
from(String uri,
Class<T> type)
Creates a new stream of the given type from the endpoint URI (used as Camel Consumer) and returns
the associated
Publisher . |
org.reactivestreams.Publisher<org.apache.camel.Exchange> |
fromStream(String name)
Returns the publisher associated to the given stream name.
|
<T> org.reactivestreams.Publisher<T> |
fromStream(String name,
Class<T> type)
Returns the publisher associated to the given stream name.
|
<T> void |
process(String uri,
Class<T> type,
Function<? super org.reactivestreams.Publisher<T>,?> processor)
Adds a processing step at the specified endpoint uri (usually a "direct:name") that delegates
to the given reactive processor.
|
void |
process(String uri,
Function<? super org.reactivestreams.Publisher<org.apache.camel.Exchange>,?> processor)
Adds a processing step at the specified endpoint uri (usually a "direct:name") that delegates
to the given reactive processor.
|
void |
sendCamelExchange(String name,
org.apache.camel.Exchange exchange)
Used by Camel to send the exchange to all active subscriptions on the given stream.
|
org.reactivestreams.Subscriber<org.apache.camel.Exchange> |
streamSubscriber(String name)
Returns the subscriber associated to the given stream name.
|
<T> org.reactivestreams.Subscriber<T> |
streamSubscriber(String name,
Class<T> type)
Returns the subscriber associated to the given stream name.
|
org.reactivestreams.Subscriber<org.apache.camel.Exchange> |
subscriber(String uri)
Creates a new route that pushes data to the endpoint URI and returns
the associated
Subscriber . |
<T> org.reactivestreams.Subscriber<T> |
subscriber(String uri,
Class<T> type)
Creates a new route that pushes data to the endpoint URI and returns
the associated
Subscriber . |
Function<Object,org.reactivestreams.Publisher<org.apache.camel.Exchange>> |
to(String uri)
Creates a new route that uses the endpoint URI as producer, and returns a
function that pushes the data into the route and returns the
Publisher that holds the resulting exchange or the error. |
<T> Function<Object,org.reactivestreams.Publisher<T>> |
to(String uri,
Class<T> type)
Creates a new route that uses the endpoint URI as producer, and returns a
function that pushes the data into the route and returns the
Publisher that holds the exchange output or an error. |
org.reactivestreams.Publisher<org.apache.camel.Exchange> |
to(String uri,
Object data)
Creates a new route that uses the endpoint URI as producer, pushes the given data to the route
and returns a
Publisher that will eventually return the resulting exchange or an error. |
<T> org.reactivestreams.Publisher<T> |
to(String uri,
Object data,
Class<T> type)
Creates a new route that uses the endpoint URI as producer, pushes the given data to the route
and returns a
Publisher that will eventually return the exchange output or an error. |
Function<?,? extends org.reactivestreams.Publisher<org.apache.camel.Exchange>> |
toStream(String name)
Returns a function that pushes data into the specified Camel stream and
returns a Publisher (mono) holding the resulting exchange or an error.
|
<T> Function<Object,org.reactivestreams.Publisher<T>> |
toStream(String name,
Class<T> type)
Returns a function that pushes data into the specified Camel stream and
returns a Publisher (mono) holding the exchange output or an error.
|
org.reactivestreams.Publisher<org.apache.camel.Exchange> |
toStream(String name,
Object data)
Pushes the given data into the specified Camel stream and returns a Publisher (mono) holding
the resulting exchange or an error.
|
<T> org.reactivestreams.Publisher<T> |
toStream(String name,
Object data,
Class<T> type)
Pushes the given data into the specified Camel stream and returns a Publisher (mono) holding
the exchange output or an error.
|
org.reactivestreams.Publisher<org.apache.camel.Exchange> fromStream(String name)
name
- the stream name<T> org.reactivestreams.Publisher<T> fromStream(String name, Class<T> type)
T
- the type of items emitted by the publishername
- the stream nametype
- the type of the emitted itemsorg.reactivestreams.Subscriber<org.apache.camel.Exchange> streamSubscriber(String name)
name
- the stream name<T> org.reactivestreams.Subscriber<T> streamSubscriber(String name, Class<T> type)
T
- the type of items accepted by the subscribername
- the stream nametype
- the publisher converts automatically exchanges to the given type.org.reactivestreams.Publisher<org.apache.camel.Exchange> toStream(String name, Object data)
name
- the stream namedata
- the data to pushFunction<?,? extends org.reactivestreams.Publisher<org.apache.camel.Exchange>> toStream(String name)
toStream(String, Object)
.name
- the stream name<T> org.reactivestreams.Publisher<T> toStream(String name, Object data, Class<T> type)
T
- the generic type of the resulting Publishername
- the stream namedata
- the data to pushtype
- the type to which the output should be converted<T> Function<Object,org.reactivestreams.Publisher<T>> toStream(String name, Class<T> type)
toStream(String, Object, Class)
.T
- the generic type of the resulting Publishername
- the stream nametype
- the type to which the output should be convertedorg.reactivestreams.Publisher<org.apache.camel.Exchange> from(String uri)
Publisher
.
If a stream has already been created, the existing Publisher
is returned.uri
- the consumer uri<T> org.reactivestreams.Publisher<T> from(String uri, Class<T> type)
Publisher
.
If a stream has already been created, the existing Publisher
is returned.T
- the type to which Camel should convert exchanges touri
- the consumer uritype
- the type of items emitted by the publisherorg.reactivestreams.Subscriber<org.apache.camel.Exchange> subscriber(String uri)
Subscriber
.
This method always create a new stream.uri
- the target uri<T> org.reactivestreams.Subscriber<T> subscriber(String uri, Class<T> type)
Subscriber
.
This method always create a new stream.T
- the type from which Camel should convert data to exchangesuri
- the target uritype
- the type of items that the subscriber can receiveorg.reactivestreams.Publisher<org.apache.camel.Exchange> to(String uri, Object data)
Publisher
that will eventually return the resulting exchange or an error.uri
- the producer uridata
- the data to pushFunction<Object,org.reactivestreams.Publisher<org.apache.camel.Exchange>> to(String uri)
Publisher
that holds the resulting exchange or the error.
This is a curryied version of to(String, Object)
.uri
- the producer uri<T> org.reactivestreams.Publisher<T> to(String uri, Object data, Class<T> type)
Publisher
that will eventually return the exchange output or an error.T
- the generic type of the resulting Publisheruri
- the producer uridata
- the data to pushtype
- the type to which the output should be converted<T> Function<Object,org.reactivestreams.Publisher<T>> to(String uri, Class<T> type)
Publisher
that holds the exchange output or an error.
This is a curryied version of to(String, Object, Class)
.T
- the generic type of the resulting Publisheruri
- the producer uritype
- the type to which the output should be convertedvoid process(String uri, Function<? super org.reactivestreams.Publisher<org.apache.camel.Exchange>,?> processor)
Publisher
of exchanges and returns an object.
If the output of the processor is a Publisher
, it will be unwrapped before
delivering the result to the source route.uri
- the uri where the processor should be attachedprocessor
- the reactive processor<T> void process(String uri, Class<T> type, Function<? super org.reactivestreams.Publisher<T>,?> processor)
Publisher
of items of the given type and returns an object.
If the output of the processor is a Publisher
, it will be unwrapped before
delivering the result to the source route.T
- the generic type of the Publisher that should be processeduri
- the uri where the processor should be attachedtype
- the type to which the body of the exchange should be convertedprocessor
- the reactive processorvoid attachCamelProducer(String name, ReactiveStreamsProducer producer)
name
- the stream nameproducer
- the producer of the routeIllegalStateException
- if another producer is already associated with the given stream namevoid detachCamelProducer(String name)
name
- the stream namevoid sendCamelExchange(String name, org.apache.camel.Exchange exchange)
name
- the stream nameexchange
- the exchange to be forwarded to the external subscribersReactiveStreamsCamelSubscriber attachCamelConsumer(String name, ReactiveStreamsConsumer consumer)
name
- the stream nameconsumer
- the consumer of the routeIllegalStateException
- if another consumer is already associated with the given stream namevoid detachCamelConsumer(String name)
name
- the stream nameApache Camel