Class FileTailingMessageProducerSupport
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.file.tail.FileTailingMessageProducerSupport
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,SmartInitializingSingleton
,ApplicationContextAware
,ApplicationEventPublisherAware
,Lifecycle
,Phased
,SmartLifecycle
,ComponentSourceAware
,ExpressionCapable
,MessageProducer
,IntegrationPattern
,NamedComponent
,IntegrationInboundManagement
,IntegrationManagement
,ManageableLifecycle
,ManageableSmartLifecycle
,TrackableComponent
- Direct Known Subclasses:
ApacheCommonsFileTailingMessageProducer
,OSDelegatingFileTailingMessageProducer
public abstract class FileTailingMessageProducerSupport
extends MessageProducerSupport
implements ApplicationEventPublisherAware
Base class for file tailing inbound adapters.
- Since:
- 3.0
- Author:
- Gary Russell, Artem Bilan, Ali Shahbour, Vladimir Plizga
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
The default delay between tail attempts in milliseconds.Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint
lifecycleCondition, lifecycleLock
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStart()
Take no action by default.protected void
doStop()
Take no action by default.Subclasses may implement this method to provide component type information.protected File
getFile()
protected long
protected TaskExecutor
protected void
protected void
void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) void
The name of the file you wish to tail.void
setIdleEventInterval
(long idleEventInterval) How often to emitFileTailingMessageProducerSupport.FileTailingIdleEvent
s in milliseconds.void
setTailAttemptsDelay
(long tailAttemptsDelay) The delay in milliseconds between attempts to tail a non-existent file, or between attempts to execute a process if it fails for any reason.void
setTaskExecutor
(TaskExecutor taskExecutor) A task executor; default is aSimpleAsyncTaskExecutor
.Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
afterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, isObserved, onInit, registerObservationRegistry, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setObservationConvention, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisher
Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint
destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
destroy, getManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, registerMetricsCaptor, setLoggingEnabled, setManagedName, setManagedType
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Field Details
-
DEFAULT_TAIL_ATTEMPTS_DELAY
public static final long DEFAULT_TAIL_ATTEMPTS_DELAYThe default delay between tail attempts in milliseconds.- See Also:
-
-
Constructor Details
-
FileTailingMessageProducerSupport
public FileTailingMessageProducerSupport()
-
-
Method Details
-
setApplicationEventPublisher
- Specified by:
setApplicationEventPublisher
in interfaceApplicationEventPublisherAware
-
setFile
The name of the file you wish to tail.- Parameters:
file
- The absolute path of the file.
-
getFile
-
setTaskExecutor
A task executor; default is aSimpleAsyncTaskExecutor
.- Parameters:
taskExecutor
- The task executor.
-
setTailAttemptsDelay
public void setTailAttemptsDelay(long tailAttemptsDelay) The delay in milliseconds between attempts to tail a non-existent file, or between attempts to execute a process if it fails for any reason.- Parameters:
tailAttemptsDelay
- the delay.
-
setIdleEventInterval
public void setIdleEventInterval(long idleEventInterval) How often to emitFileTailingMessageProducerSupport.FileTailingIdleEvent
s in milliseconds.- Parameters:
idleEventInterval
- the interval.- Since:
- 5.0
-
getMissingFileDelay
protected long getMissingFileDelay() -
getTaskExecutor
-
getComponentType
Description copied from class:IntegrationObjectSupport
Subclasses may implement this method to provide component type information.- Specified by:
getComponentType
in interfaceNamedComponent
- Overrides:
getComponentType
in classIntegrationObjectSupport
-
send
-
publish
-
doStart
protected void doStart()Description copied from class:MessageProducerSupport
Take no action by default. Subclasses may override this if they need lifecycle-managed behavior. Protected by 'lifecycleLock'.- Overrides:
doStart
in classMessageProducerSupport
-
doStop
protected void doStop()Description copied from class:MessageProducerSupport
Take no action by default. Subclasses may override this if they need lifecycle-managed behavior.- Overrides:
doStop
in classMessageProducerSupport
-