|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.impl.ServiceSupport
org.apache.camel.processor.DefaultChannel
public class DefaultChannel
DefaultChannel is the default Channel
.
Channel
we can in the future implement better strategies for routing the
Exchange
in the route graph, as we have a Channel
between each and every node
in the graph.
Constructor Summary | |
---|---|
DefaultChannel()
|
Method Summary | |
---|---|
void |
addInterceptStrategies(List<InterceptStrategy> strategies)
Adds a list of InterceptStrategy to apply each Exchange before
its routed to the next Processor . |
void |
addInterceptStrategy(InterceptStrategy strategy)
Adds a InterceptStrategy to apply each Exchange before
its routed to the next Processor . |
protected boolean |
continueProcessing(Exchange exchange)
Strategy to determine if we should continue processing the Exchange . |
protected void |
doStart()
|
protected void |
doStop()
|
Processor |
getErrorHandler()
Gets the ErrorHandler this Channel uses. |
List<InterceptStrategy> |
getInterceptStrategies()
Gets the list of InterceptStrategy registered to this Channel. |
Processor |
getNextProcessor()
Gets the next Processor to route to (not wrapped) |
Processor |
getOutput()
Gets the wrapped output that at runtime should be delegated to. |
ProcessorDefinition<?> |
getProcessorDefinition()
Gets the definition of the next processor |
RouteContext |
getRouteContext()
Gets the RouteContext |
boolean |
hasInterceptorStrategy(Class<?> type)
|
boolean |
hasNext()
Are there more outputs? |
void |
initChannel(ProcessorDefinition<?> outputDefinition,
RouteContext routeContext)
Initializes the channel. |
List<Processor> |
next()
Next group of outputs |
void |
process(Exchange exchange)
Processes the message exchange |
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange. |
void |
setChildDefinition(ProcessorDefinition<?> childDefinition)
If the initialized output definition contained outputs (children) then we need to set the child so we can leverage fine grained tracing |
void |
setErrorHandler(Processor errorHandler)
Sets the ErrorHandler this Channel uses. |
void |
setNextProcessor(Processor next)
Sets the processor that the channel should route the Exchange to. |
void |
setOutput(Processor output)
Sets the wrapped output that at runtime should be delegated to. |
String |
toString()
|
Methods inherited from class org.apache.camel.impl.ServiceSupport |
---|
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public DefaultChannel()
Method Detail |
---|
public List<Processor> next()
Navigate
next
in interface Navigate<Processor>
public boolean hasNext()
Navigate
hasNext
in interface Navigate<Processor>
public void setNextProcessor(Processor next)
Channel
Exchange
to.
setNextProcessor
in interface Channel
next
- the next processorpublic Processor getOutput()
Channel
getOutput
in interface Channel
Exchange
topublic void setOutput(Processor output)
Channel
setOutput
in interface Channel
output
- the output to route the Exchange
topublic Processor getNextProcessor()
Channel
Processor
to route to (not wrapped)
getNextProcessor
in interface Channel
public boolean hasInterceptorStrategy(Class<?> type)
public void setErrorHandler(Processor errorHandler)
Channel
ErrorHandler
this Channel uses.
setErrorHandler
in interface Channel
errorHandler
- the error handlerpublic Processor getErrorHandler()
Channel
ErrorHandler
this Channel uses.
getErrorHandler
in interface Channel
public void addInterceptStrategy(InterceptStrategy strategy)
Channel
InterceptStrategy
to apply each Exchange
before
its routed to the next Processor
.
addInterceptStrategy
in interface Channel
strategy
- the intercept strategypublic void addInterceptStrategies(List<InterceptStrategy> strategies)
Channel
InterceptStrategy
to apply each Exchange
before
its routed to the next Processor
.
addInterceptStrategies
in interface Channel
strategies
- list of strategiespublic List<InterceptStrategy> getInterceptStrategies()
Channel
InterceptStrategy
registered to this Channel.
getInterceptStrategies
in interface Channel
public ProcessorDefinition<?> getProcessorDefinition()
Channel
getProcessorDefinition
in interface Channel
public void setChildDefinition(ProcessorDefinition<?> childDefinition)
Channel
setChildDefinition
in interface Channel
childDefinition
- the childpublic RouteContext getRouteContext()
Channel
RouteContext
getRouteContext
in interface Channel
protected void doStart() throws Exception
doStart
in class ServiceSupport
Exception
protected void doStop() throws Exception
doStop
in class ServiceSupport
Exception
public void initChannel(ProcessorDefinition<?> outputDefinition, RouteContext routeContext) throws Exception
Channel
initChannel
in interface Channel
outputDefinition
- the route definition the Channel
representsrouteContext
- the route context
Exception
- is thrown if some error occurredpublic void process(Exchange exchange) throws Exception
Processor
process
in interface Processor
exchange
- the message exchange
Exception
- if an internal processing error has occurred.public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessor
Processor.process(org.apache.camel.Exchange)
, but the caller supports having the exchange asynchronously processed.
If there was a failure processing then the caused Exception
would be set on the Exchange
.
process
in interface AsyncProcessor
exchange
- the message exchangecallback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
protected boolean continueProcessing(Exchange exchange)
Exchange
.
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |