@ElementType(value=ENDPOINT) @SupportsOutputStreaming public abstract class FileSystemPipe<F,FS extends IBasicFileSystem<F>> extends StreamingPipe implements HasPhysicalDestination
FileSystem
.FileSystemActor
action
., filename overrides attribute filename
. If not present, the input message is used., destination destination for action rename
and move
. Overrides attribute destination
., contents contents for action write
and append
., inputFolder folder for actions list
, mkdir
and rmdir
. This is a sub folder of baseFolder. Overrides attribute inputFolder
. If not present, the input message is used.AUTOMATIC_STREAMING
parameterNamesMustBeUnique
log
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
Constructor and Description |
---|
FileSystemPipe() |
Modifier and Type | Method and Description |
---|---|
protected void |
addActions(List<FileSystemActor.FileSystemAction> specificActions) |
void |
configure()
checks for correct configuration of forward
|
PipeRunResult |
doPipe(Message message,
PipeLineSession session)
This is where the action takes place.
|
FileSystemActor.FileSystemAction |
getAction() |
String |
getDomain() |
FS |
getFileSystem() |
String |
getPhysicalDestinationName() |
protected MessageOutputStream |
provideOutputStream(PipeLineSession session)
provide the outputstream, or null if a stream cannot be provided.
|
void |
setAction(FileSystemActor.FileSystemAction action) |
void |
setBase64(Base64Pipe.Direction base64)
Deprecated.
|
void |
setCharset(String charset) |
void |
setCreateFolder(boolean createFolder) |
void |
setDeleteEmptyFolder(boolean deleteEmptyFolder) |
void |
setDestination(String destination) |
void |
setExcludeWildcard(String excludeWildcard) |
void |
setExcludeWildCard(String excludeWildcard)
Deprecated.
|
void |
setFilename(String filename) |
protected void |
setFileSystem(FS fileSystem) |
void |
setInputFolder(String inputFolder) |
void |
setNumberOfBackups(int numberOfBackups) |
void |
setOutputFormat(DocumentFormat outputFormat) |
void |
setOverwrite(boolean overwrite) |
void |
setRemoveNonEmptyFolder(boolean removeNonEmptyFolder) |
void |
setRotateDays(int rotateDays) |
void |
setRotateSize(int rotateSize) |
void |
setWildcard(String wildcard) |
void |
setWildCard(String wildcard)
Deprecated.
|
void |
setWriteLineSeparator(boolean writeLineSeparator) |
void |
start()
Perform necessary action to start the pipe.
|
void |
stop()
Perform necessary actions to stop the
Pipe .For instance, closing JMS connections, DBMS connections etc. |
boolean |
supportsOutputStreamPassThrough()
Implementations should return
true when they do not require an OutputStream, but can
provide one to the preceding pipe if they are themselves provided with one from the next pipe. |
canProvideOutputStream, canStreamToNextPipe, getNextPipe, getTargetStream, isStreamingActive, provideOutputStream, setStreamingActive
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getInSizeStatDummyObject, getOutSizeStatDummyObject, getParameterList, hasSizeStatistics, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, throwEvent
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeout
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getGetInputFromFixedValue, getGetInputFromSessionKey, getLocker, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, setPipeLine, throwEvent
getMaxThreads
getName
getApplicationContext, getName
getConfigurationClassLoader
getName
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttribute
public void configure() throws ConfigurationException
FixedForwardPipe
configure
in interface IConfigurable
configure
in interface IPipe
configure
in class StreamingPipe
ConfigurationException
public void start() throws PipeStartException
IPipe
IPipe.configure()
method, for each start and stop command of the
adapter.start
in interface IPipe
start
in class AbstractPipe
PipeStartException
public void stop()
IPipe
Pipe
.stop
in interface IPipe
stop
in class AbstractPipe
public boolean supportsOutputStreamPassThrough()
IOutputStreamingSupport
true
when they do not require an OutputStream, but can
provide one to the preceding pipe if they are themselves provided with one from the next pipe.supportsOutputStreamPassThrough
in interface IOutputStreamingSupport
supportsOutputStreamPassThrough
in class StreamingPipe
protected MessageOutputStream provideOutputStream(PipeLineSession session) throws StreamingException
StreamingPipe
StreamingPipe.getNextPipe()
.provideOutputStream
in class StreamingPipe
StreamingException
@Nullable public PipeRunResult doPipe(@Nonnull Message message, @Nonnull PipeLineSession session) throws PipeRunException
IPipe
FixedResultPipe
, the Pipe
can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String)
This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open
until the message was consumed. Doing so avoids connections leaking from pools, while it enables
efficient streaming processing of data while it is being read from a stream.doPipe
in interface IPipe
PipeRunException
public String getPhysicalDestinationName()
getPhysicalDestinationName
in interface HasPhysicalDestination
public String getDomain()
getDomain
in interface HasPhysicalDestination
public FS getFileSystem()
protected void setFileSystem(FS fileSystem)
protected void addActions(List<FileSystemActor.FileSystemAction> specificActions)
@ReferTo(value=FileSystemActor.class) public void setAction(FileSystemActor.FileSystemAction action)
public FileSystemActor.FileSystemAction getAction()
@ReferTo(value=FileSystemActor.class) public void setFilename(String filename)
@ReferTo(value=FileSystemActor.class) public void setDestination(String destination)
@ReferTo(value=FileSystemActor.class) public void setInputFolder(String inputFolder)
@ReferTo(value=FileSystemActor.class) public void setCreateFolder(boolean createFolder)
@ReferTo(value=FileSystemActor.class) public void setOverwrite(boolean overwrite)
@ReferTo(value=FileSystemActor.class) public void setRotateDays(int rotateDays)
@ReferTo(value=FileSystemActor.class) public void setRotateSize(int rotateSize)
@ReferTo(value=FileSystemActor.class) public void setNumberOfBackups(int numberOfBackups)
@ReferTo(value=FileSystemActor.class) @Deprecated public void setBase64(Base64Pipe.Direction base64)
@Deprecated @ConfigurationWarning(value="attribute \'wildCard\' has been renamed to \'wildcard\'") public void setWildCard(String wildcard)
@ReferTo(value=FileSystemActor.class) public void setWildcard(String wildcard)
@Deprecated @ConfigurationWarning(value="attribute \'excludeWildCard\' has been renamed to \'excludeWildcard\'") public void setExcludeWildCard(String excludeWildcard)
@ReferTo(value=FileSystemActor.class) public void setExcludeWildcard(String excludeWildcard)
@ReferTo(value=FileSystemActor.class) public void setRemoveNonEmptyFolder(boolean removeNonEmptyFolder)
@ReferTo(value=FileSystemActor.class) public void setWriteLineSeparator(boolean writeLineSeparator)
@ReferTo(value=FileSystemActor.class) public void setCharset(String charset)
@ReferTo(value=FileSystemActor.class) public void setDeleteEmptyFolder(boolean deleteEmptyFolder)
@ReferTo(value=FileSystemActor.class) public void setOutputFormat(DocumentFormat outputFormat)
Copyright © 2023 Frank!Framework. All rights reserved.