Class OSDelegatingFileTailingMessageProducer
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.file.tail.FileTailingMessageProducerSupport
org.springframework.integration.file.tail.OSDelegatingFileTailingMessageProducer
- All Implemented Interfaces:
Runnable
,Aware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,SmartInitializingSingleton
,ApplicationContextAware
,ApplicationEventPublisherAware
,Lifecycle
,Phased
,SmartLifecycle
,ExpressionCapable
,MessageProducer
,IntegrationPattern
,NamedComponent
,IntegrationInboundManagement
,IntegrationManagement
,ManageableLifecycle
,ManageableSmartLifecycle
,TrackableComponent
,SchedulingAwareRunnable
public class OSDelegatingFileTailingMessageProducer
extends FileTailingMessageProducerSupport
implements SchedulingAwareRunnable
A file tailing message producer that delegates to the OS tail program.
This is likely the most efficient mechanism on platforms that support it.
Default options are "-F -n 0" (follow file name, no existing records).
- Since:
- 3.0
- Author:
- Gary Russell, Gavin Gray, Ali Shahbour, Artem Bilan, Trung Pham
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.file.tail.FileTailingMessageProducerSupport
FileTailingMessageProducerSupport.FileTailingEvent, FileTailingMessageProducerSupport.FileTailingIdleEvent
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides
-
Field Summary
Fields inherited from class org.springframework.integration.file.tail.FileTailingMessageProducerSupport
DEFAULT_TAIL_ATTEMPTS_DELAY
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.boolean
protected void
onInit()
Subclasses may implement this for initialization logic.void
run()
Reads lines from stdout and sends in a message to the output channel.void
setEnableStatusReader
(boolean enableStatusReader) If false, thread for capturing stderr will not be started and stderr output will be ignored.void
setOptions
(String options) Methods inherited from class org.springframework.integration.file.tail.FileTailingMessageProducerSupport
getFile, getMissingFileDelay, getTaskExecutor, publish, send, setApplicationEventPublisher, setFile, setIdleEventInterval, setTailAttemptsDelay, setTaskExecutor
Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport
afterSingletonsInstantiated, buildErrorMessage, getErrorChannel, getErrorMessageAttributes, getErrorMessageStrategy, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, isObserved, 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, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, 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
-
Constructor Details
-
OSDelegatingFileTailingMessageProducer
public OSDelegatingFileTailingMessageProducer()
-
-
Method Details
-
setOptions
-
setEnableStatusReader
public void setEnableStatusReader(boolean enableStatusReader) If false, thread for capturing stderr will not be started and stderr output will be ignored.- Parameters:
enableStatusReader
- true or false- Since:
- 4.3.6
-
getCommand
-
getComponentType
Description copied from class:IntegrationObjectSupport
Subclasses may implement this method to provide component type information.- Specified by:
getComponentType
in interfaceNamedComponent
- Overrides:
getComponentType
in classFileTailingMessageProducerSupport
-
isLongLived
public boolean isLongLived()- Specified by:
isLongLived
in interfaceSchedulingAwareRunnable
-
onInit
protected void onInit()Description copied from class:IntegrationObjectSupport
Subclasses may implement this for initialization logic.- Overrides:
onInit
in classMessageProducerSupport
-
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 classFileTailingMessageProducerSupport
-
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 classFileTailingMessageProducerSupport
-
run
public void run()Reads lines from stdout and sends in a message to the output channel.
-