Class FileWritingMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>,Aware,BeanClassLoaderAware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Lifecycle,Ordered,ComponentSourceAware,ExpressionCapable,Orderable,MessageProducer,HeaderPropagationAware,MessageTriggerAction,IntegrationPattern,NamedComponent,IntegrationManagement,ManageableLifecycle,TrackableComponent,MessageHandler,reactor.core.CoreSubscriber<Message<?>>
MessageHandler implementation
that writes the Message payload to a
file. If the payload is a File object, it will copy the File to the specified
destination directory. If the payload is a byte array, a String or an
InputStream it will be written directly. Otherwise, the payload type is
unsupported, and an Exception will be thrown.
To append a new-line after each write, set the
appendNewLine flag to 'true'. It is 'false' by default.
If the 'deleteSourceFiles' flag is set to true, the original Files will be
deleted. The default value for that flag is false. See the
FileWritingMessageHandler.setDeleteSourceFiles(boolean) method javadoc for more information.
Other transformers may be useful to precede this handler. For example, any
Serializable object payload can be converted into a byte array by the
PayloadSerializingTransformer.
Likewise, any Object can be converted to a String based on its
toString() method by the
ObjectToStringTransformer.
FileExistsMode.APPEND adds content to an existing file; the file is closed after
each write.
FileExistsMode.APPEND_NO_FLUSH adds content to an existing file and the file
is left open without flushing any data. Data will be flushed based on the
flushInterval or when a message is sent to the
FileWritingMessageHandler.trigger(Message) method, or a
flushIfNeeded
method is called.
- Author:
- Mark Fisher, Iwein Fuld, Alex Peters, Oleg Zhurakousky, Artem Bilan, Gunnar Hillert, Gary Russell, Tony Falabella, Alen Turkovic, Trung Pham, Christian Tzolov, Ngoc Nhan
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.file.outbound.FileWritingMessageHandler
FileWritingMessageHandler.FlushPredicate, FileWritingMessageHandler.MessageFlushPredicateNested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandlerNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionFileWritingMessageHandler(File destinationDirectory) Deprecated, for removal: This API element is subject to removal in a future version.Constructor which sets the directory for target files to store.FileWritingMessageHandler(Expression destinationDirectoryExpression) Deprecated, for removal: This API element is subject to removal in a future version.Constructor which sets the SpEL directory for target files to store. -
Method Summary
Methods inherited from class org.springframework.integration.file.outbound.FileWritingMessageHandler
createOutputStream, createWriter, doInit, flushIfNeeded, flushIfNeeded, getComponentType, getIntegrationPatternType, getTemporaryFileSuffix, handleRequestMessage, isRunning, setAppendNewLine, setAutoCreateDirectory, setBufferSize, setCharset, setChmod, setChmodOctal, setDeleteSourceFiles, setExpectReply, setFileExistsMode, setFileNameGenerator, setFlushInterval, setFlushPredicate, setFlushWhenIdle, setNewFileCallback, setPermissions, setPreserveTimestamp, setTemporaryFileSuffix, start, stop, triggerMethods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
FileWritingMessageHandler
Deprecated, for removal: This API element is subject to removal in a future version.Constructor which sets the directory for target files to store.- Parameters:
destinationDirectory- must not be null- See Also:
-
FileWritingMessageHandler
Deprecated, for removal: This API element is subject to removal in a future version.Constructor which sets the SpEL directory for target files to store.- Parameters:
destinationDirectoryExpression- must not be null- See Also:
-
FileWritingMessageHandler