Package org.apache.camel.component.feed
Class FeedEndpoint
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.DefaultEndpoint
-
- org.apache.camel.support.ScheduledPollEndpoint
-
- org.apache.camel.support.DefaultPollingEndpoint
-
- org.apache.camel.component.feed.FeedEndpoint
-
- 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:
AtomEndpoint
public abstract class FeedEndpoint extends org.apache.camel.support.DefaultPollingEndpoint
A base class for feed (atom, RSS) endpoints.
-
-
Field Summary
Fields Modifier and Type Field Description protected String
feedUri
protected boolean
splitEntries
-
Constructor Summary
Constructors Constructor Description FeedEndpoint()
FeedEndpoint(String endpointUri, FeedComponent component, String feedUri)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description org.apache.camel.Consumer
createConsumer(org.apache.camel.Processor processor)
protected String
createEndpointUri()
protected abstract FeedPollingConsumer
createEntryPollingConsumer(FeedEndpoint feedEndpoint, org.apache.camel.Processor processor, boolean throttleEntries)
abstract org.apache.camel.Exchange
createExchange(Object feed)
Creates an Exchange with the entries as the in body.abstract org.apache.camel.Exchange
createExchange(Object feed, Object entry)
Creates an Exchange with the given entry as the in body.protected org.apache.camel.Exchange
createExchangeWithFeedHeader(Object feed, String header)
protected abstract FeedPollingConsumer
createPollingConsumer(FeedEndpoint feedEndpoint, org.apache.camel.Processor processor)
org.apache.camel.Producer
createProducer()
String
getEndpointKey()
String
getFeedUri()
String
getPassword()
String
getUsername()
boolean
isFeedHeader()
boolean
isLenientProperties()
boolean
isSortEntries()
boolean
isSplitEntries()
boolean
isThrottleEntries()
void
setFeedHeader(boolean feedHeader)
Sets whether to add the feed object as a headervoid
setFeedUri(String feedUri)
The URI to the feed to poll.void
setPassword(String password)
Sets the password to be used for basic authentication when polling from a HTTP feedvoid
setSortEntries(boolean sortEntries)
Sets whether to sort entries by published date.void
setSplitEntries(boolean splitEntries)
Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single messagevoid
setThrottleEntries(boolean throttleEntries)
Sets whether all entries identified in a single feed poll should be delivered immediately.void
setUsername(String username)
Sets the username to be used for basic authentication when polling from a HTTP feed-
Methods inherited from class org.apache.camel.support.ScheduledPollEndpoint
configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, doStart, doStop, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDefaultDelay, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay
-
Methods inherited from class org.apache.camel.support.DefaultEndpoint
configureExchange, configurePollingConsumer, createAsyncProducer, createExchange, createExchange, createPollingConsumer, doInit, equals, getCamelContext, getComponent, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, 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
-
-
-
-
Field Detail
-
feedUri
@UriPath(description="The URI to the feed to poll.") @Metadata(required=true) protected String feedUri
-
splitEntries
@UriParam(defaultValue="true", description="Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message") protected boolean splitEntries
-
-
Constructor Detail
-
FeedEndpoint
public FeedEndpoint()
-
FeedEndpoint
public FeedEndpoint(String endpointUri, FeedComponent component, String feedUri)
-
-
Method Detail
-
createConsumer
public org.apache.camel.Consumer createConsumer(org.apache.camel.Processor processor) throws Exception
- Specified by:
createConsumer
in interfaceorg.apache.camel.Endpoint
- Overrides:
createConsumer
in classorg.apache.camel.support.DefaultPollingEndpoint
- Throws:
Exception
-
createPollingConsumer
protected abstract FeedPollingConsumer createPollingConsumer(FeedEndpoint feedEndpoint, org.apache.camel.Processor processor) throws Exception
- Throws:
Exception
-
createEntryPollingConsumer
protected abstract FeedPollingConsumer createEntryPollingConsumer(FeedEndpoint feedEndpoint, org.apache.camel.Processor processor, boolean throttleEntries) throws Exception
- Throws:
Exception
-
createExchangeWithFeedHeader
protected org.apache.camel.Exchange createExchangeWithFeedHeader(Object feed, String header)
-
createExchange
public abstract org.apache.camel.Exchange createExchange(Object feed)
Creates an Exchange with the entries as the in body.- Parameters:
feed
- the atom feed- Returns:
- the created exchange
-
createExchange
public abstract org.apache.camel.Exchange createExchange(Object feed, Object entry)
Creates an Exchange with the given entry as the in body.- Parameters:
feed
- the feedentry
- the entry as the in body- Returns:
- the created exchange
-
createEndpointUri
protected String createEndpointUri()
- Overrides:
createEndpointUri
in classorg.apache.camel.support.DefaultEndpoint
-
getEndpointKey
public String getEndpointKey()
- Specified by:
getEndpointKey
in interfaceorg.apache.camel.Endpoint
- Overrides:
getEndpointKey
in classorg.apache.camel.support.DefaultEndpoint
-
getFeedUri
public String getFeedUri()
-
setFeedUri
public void setFeedUri(String feedUri)
The URI to the feed to poll.
-
isSplitEntries
public boolean isSplitEntries()
-
setSplitEntries
public void setSplitEntries(boolean splitEntries)
Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message
-
setFeedHeader
public void setFeedHeader(boolean feedHeader)
Sets whether to add the feed object as a header
-
isFeedHeader
public boolean isFeedHeader()
-
setSortEntries
public void setSortEntries(boolean sortEntries)
Sets whether to sort entries by published date. Only works when splitEntries = true.
-
isSortEntries
public boolean isSortEntries()
-
isLenientProperties
public boolean isLenientProperties()
- Specified by:
isLenientProperties
in interfaceorg.apache.camel.Endpoint
- Overrides:
isLenientProperties
in classorg.apache.camel.support.DefaultEndpoint
-
setThrottleEntries
public void setThrottleEntries(boolean throttleEntries)
Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.
-
isThrottleEntries
public boolean isThrottleEntries()
-
getUsername
public String getUsername()
-
setUsername
public void setUsername(String username)
Sets the username to be used for basic authentication when polling from a HTTP feed
-
getPassword
public String getPassword()
-
setPassword
public void setPassword(String password)
Sets the password to be used for basic authentication when polling from a HTTP feed
-
-