Package org.apache.camel.support
Class DefaultEndpoint
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.DefaultEndpoint
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,org.apache.camel.Endpoint
,org.apache.camel.IsSingleton
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.HasId
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
- Direct Known Subclasses:
ScheduledPollEndpoint
public abstract class DefaultEndpoint extends org.apache.camel.support.service.ServiceSupport implements org.apache.camel.Endpoint, org.apache.camel.spi.HasId, org.apache.camel.CamelContextAware
DefaultEndpoint
.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DefaultEndpoint()
Constructs a partially-initialized DefaultEndpoint instance.protected
DefaultEndpoint(String endpointUri, org.apache.camel.Component component)
Constructs a fully-initialized DefaultEndpoint instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
configureConsumer(org.apache.camel.Consumer consumer)
void
configureExchange(org.apache.camel.Exchange exchange)
protected void
configurePollingConsumer(org.apache.camel.PollingConsumer consumer)
void
configureProperties(Map<String,Object> options)
org.apache.camel.AsyncProducer
createAsyncProducer()
protected String
createEndpointUri()
A factory method to lazily create the endpointUri if none is specifiedorg.apache.camel.Exchange
createExchange()
org.apache.camel.Exchange
createExchange(org.apache.camel.ExchangePattern pattern)
org.apache.camel.PollingConsumer
createPollingConsumer()
protected void
doInit()
protected void
doStart()
protected void
doStop()
boolean
equals(Object object)
org.apache.camel.CamelContext
getCamelContext()
org.apache.camel.Component
getComponent()
Returns the component that created this endpoint, or null if none set.String
getEndpointKey()
String
getEndpointUri()
org.apache.camel.spi.ExceptionHandler
getExceptionHandler()
org.apache.camel.ExchangePattern
getExchangePattern()
String
getId()
Returns a unique String ID which can be used for aliasing without having to use the whole URI which is not uniquelong
getPollingConsumerBlockTimeout()
int
getPollingConsumerQueueSize()
int
hashCode()
boolean
isAutowiredEnabled()
boolean
isBridgeErrorHandler()
boolean
isLazyStartProducer()
boolean
isLenientProperties()
boolean
isPollingConsumerBlockWhenFull()
boolean
isPollingConsumerCopy()
boolean
isSingleton()
An endpoint should favour to be singleton by default, only in some rare special cases can an endpoint be non-singleton.void
setAutowiredEnabled(boolean autowiredEnabled)
Whether autowiring is enabled.void
setBridgeErrorHandler(boolean bridgeErrorHandler)
Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler.void
setCamelContext(org.apache.camel.CamelContext camelContext)
void
setComponent(org.apache.camel.Component component)
protected void
setEndpointUri(String endpointUri)
Sets the URI that created this endpoint.void
setEndpointUriIfNotSpecified(String value)
Sets the endpointUri if it has not been specified yet via some kind of dependency injection mechanism.void
setExceptionHandler(org.apache.camel.spi.ExceptionHandler exceptionHandler)
To let the consumer use a custom ExceptionHandler.void
setExchangePattern(org.apache.camel.ExchangePattern exchangePattern)
Sets the default exchange pattern when creating an exchange.void
setLazyStartProducer(boolean lazyStartProducer)
Whether the producer should be started lazy (on the first message).void
setPollingConsumerBlockTimeout(long pollingConsumerBlockTimeout)
Sets the timeout in millis to use when adding to the internal queue off whenEventDrivenPollingConsumer
is being used.void
setPollingConsumerBlockWhenFull(boolean pollingConsumerBlockWhenFull)
Set whether to block when adding to the internal queue off whenEventDrivenPollingConsumer
is being used.void
setPollingConsumerCopy(boolean pollingConsumerCopy)
Sets whether to copy the exchange when adding to the internal queue off whenEventDrivenPollingConsumer
is being used.void
setPollingConsumerQueueSize(int pollingConsumerQueueSize)
Sets thePollingConsumer
queue size, whenEventDrivenPollingConsumer
is being used.void
setProperties(Object bean, Map<String,Object> parameters)
Sets the bean properties on the given bean.String
toString()
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.camel.Endpoint
createConsumer, createProducer, getEndpointBaseUri, isSingletonProducer
-
-
-
-
Constructor Detail
-
DefaultEndpoint
protected DefaultEndpoint(String endpointUri, org.apache.camel.Component component)
Constructs a fully-initialized DefaultEndpoint instance. This is the preferred method of constructing an object from Java code (as opposed to Spring beans, etc.).- Parameters:
endpointUri
- the full URI used to create this endpointcomponent
- the component that created this endpoint
-
DefaultEndpoint
protected DefaultEndpoint()
Constructs a partially-initialized DefaultEndpoint instance. Useful when creating endpoints manually (e.g., as beans in Spring). Please note that the endpoint URI must be set through properties (or overridingcreateEndpointUri()
if one uses this constructor. Note: It is preferred to create endpoints using the associated component.
-
-
Method Detail
-
getId
public String getId()
Returns a unique String ID which can be used for aliasing without having to use the whole URI which is not unique- Specified by:
getId
in interfaceorg.apache.camel.spi.HasId
-
getEndpointUri
public String getEndpointUri()
- Specified by:
getEndpointUri
in interfaceorg.apache.camel.Endpoint
-
getEndpointKey
public String getEndpointKey()
- Specified by:
getEndpointKey
in interfaceorg.apache.camel.Endpoint
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()
- Specified by:
getCamelContext
in interfaceorg.apache.camel.CamelContextAware
- Specified by:
getCamelContext
in interfaceorg.apache.camel.Endpoint
-
createAsyncProducer
public org.apache.camel.AsyncProducer createAsyncProducer() throws Exception
- Specified by:
createAsyncProducer
in interfaceorg.apache.camel.Endpoint
- Throws:
Exception
-
getComponent
public org.apache.camel.Component getComponent()
Returns the component that created this endpoint, or null if none set.
-
setComponent
public void setComponent(org.apache.camel.Component component)
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext)
- Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
- Specified by:
setCamelContext
in interfaceorg.apache.camel.Endpoint
-
createPollingConsumer
public org.apache.camel.PollingConsumer createPollingConsumer() throws Exception
- Specified by:
createPollingConsumer
in interfaceorg.apache.camel.Endpoint
- Throws:
Exception
-
createExchange
public org.apache.camel.Exchange createExchange()
- Specified by:
createExchange
in interfaceorg.apache.camel.Endpoint
-
createExchange
public org.apache.camel.Exchange createExchange(org.apache.camel.ExchangePattern pattern)
- Specified by:
createExchange
in interfaceorg.apache.camel.Endpoint
-
configureExchange
public void configureExchange(org.apache.camel.Exchange exchange)
- Specified by:
configureExchange
in interfaceorg.apache.camel.Endpoint
-
getExchangePattern
public org.apache.camel.ExchangePattern getExchangePattern()
- Specified by:
getExchangePattern
in interfaceorg.apache.camel.Endpoint
-
setExchangePattern
public void setExchangePattern(org.apache.camel.ExchangePattern exchangePattern)
Sets the default exchange pattern when creating an exchange.
-
isAutowiredEnabled
public boolean isAutowiredEnabled()
-
setAutowiredEnabled
public void setAutowiredEnabled(boolean autowiredEnabled)
Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. Important: If a component has the same option defined on both component and endpoint level, then disabling autowiring on endpoint level would not affect that the component will still be autowired, and therefore the endpoint will be configured with option from the component level. In other words turning off autowiring would then require to turn it off on the component level.
-
isLazyStartProducer
public boolean isLazyStartProducer()
-
setLazyStartProducer
public void setLazyStartProducer(boolean lazyStartProducer)
Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.
-
isBridgeErrorHandler
public boolean isBridgeErrorHandler()
-
setBridgeErrorHandler
public void setBridgeErrorHandler(boolean bridgeErrorHandler)
Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN/ERROR level and ignored.
-
getExceptionHandler
public org.apache.camel.spi.ExceptionHandler getExceptionHandler()
-
setExceptionHandler
public void setExceptionHandler(org.apache.camel.spi.ExceptionHandler exceptionHandler)
To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
-
getPollingConsumerQueueSize
public int getPollingConsumerQueueSize()
-
setPollingConsumerQueueSize
public void setPollingConsumerQueueSize(int pollingConsumerQueueSize)
Sets thePollingConsumer
queue size, whenEventDrivenPollingConsumer
is being used. Notice some Camel components may have their own implementation ofPollingConsumer
and therefore not using the defaultEventDrivenPollingConsumer
implementation. The default value is 1000
-
isPollingConsumerBlockWhenFull
public boolean isPollingConsumerBlockWhenFull()
-
setPollingConsumerBlockWhenFull
public void setPollingConsumerBlockWhenFull(boolean pollingConsumerBlockWhenFull)
Set whether to block when adding to the internal queue off whenEventDrivenPollingConsumer
is being used. Notice some Camel components may have their own implementation ofPollingConsumer
and therefore not using the defaultEventDrivenPollingConsumer
implementation. Setting this option to false, will result in anIllegalStateException
being thrown when trying to add to the queue, and it is full. The default value is true which will block the producer queue until the queue has space.
-
getPollingConsumerBlockTimeout
public long getPollingConsumerBlockTimeout()
-
setPollingConsumerBlockTimeout
public void setPollingConsumerBlockTimeout(long pollingConsumerBlockTimeout)
Sets the timeout in millis to use when adding to the internal queue off whenEventDrivenPollingConsumer
is being used.- See Also:
setPollingConsumerBlockWhenFull(boolean)
-
isPollingConsumerCopy
public boolean isPollingConsumerCopy()
-
setPollingConsumerCopy
public void setPollingConsumerCopy(boolean pollingConsumerCopy)
Sets whether to copy the exchange when adding to the internal queue off whenEventDrivenPollingConsumer
is being used. Important: When copy is enabled then the unit of work is handed over from the current exchange to the copied exchange instance. And therefore its the responsible of thePollingConsumer
to done the unit of work on the received exchanges. When the polled exchange is no longer needed then MUST callUnitOfWork.done(Exchange)
. Default is false to not copy.
-
configureProperties
public void configureProperties(Map<String,Object> options)
- Specified by:
configureProperties
in interfaceorg.apache.camel.Endpoint
-
setProperties
public void setProperties(Object bean, Map<String,Object> parameters)
Sets the bean properties on the given bean. This is the same logical implementation asDefaultComponent.setProperties(Object, java.util.Map)
- Parameters:
bean
- the beanparameters
- properties to set
-
createEndpointUri
protected String createEndpointUri()
A factory method to lazily create the endpointUri if none is specified
-
setEndpointUriIfNotSpecified
public void setEndpointUriIfNotSpecified(String value)
Sets the endpointUri if it has not been specified yet via some kind of dependency injection mechanism. This allows dependency injection frameworks such as Spring to set the default endpoint URI in cases where it has not been explicitly configured using the name/context in which an Endpoint is created.
-
setEndpointUri
protected void setEndpointUri(String endpointUri)
Sets the URI that created this endpoint.
-
isSingleton
public boolean isSingleton()
An endpoint should favour to be singleton by default, only in some rare special cases can an endpoint be non-singleton. This implementation is singleton and this method returns true.- Specified by:
isSingleton
in interfaceorg.apache.camel.IsSingleton
-
isLenientProperties
public boolean isLenientProperties()
- Specified by:
isLenientProperties
in interfaceorg.apache.camel.Endpoint
-
configureConsumer
protected void configureConsumer(org.apache.camel.Consumer consumer) throws Exception
- Throws:
Exception
-
configurePollingConsumer
protected void configurePollingConsumer(org.apache.camel.PollingConsumer consumer) throws Exception
- Throws:
Exception
-
doInit
protected void doInit() throws Exception
- Overrides:
doInit
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStart
protected void doStart() throws Exception
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
-