Contents
There are two EventFlow modules in this sample, one basic, the other advanced.
The basic adapter sample illustrates the use of the TIBCO StreamBase® File Writer Adapter by taking in a tuple and writing one of its fields contents to a file.
The advanced adapter sample illustrates reading from a sample input file multiple times and writing that data back out in various compression formats.
Both samples use the system's temp folder to store the resulting output files.
In StreamBase Studio, import this sample with the following steps:
-
From the top-level menu, select
> . -
Enter
filew
to narrow the list of options. -
Select File writer output adapter from the StreamBase Standard Adapters category.
-
Click
.
StreamBase Studio creates a single project containing the sample files.
-
In the Project Explorer view, open this sample's folder.
Keep an eye on the bottom right status bar of the Studio window. Make sure any
Updating
,Downloading
,Building
, orRebuild project
messages finish before you proceed. -
Open the
src/main/eventflow/
folder.packageName
-
Double-click to open the
FileWriterBasic.sbapp
module. Make sure the module is the currently active tab in the EventFlow Editor. -
Click the Run button. This opens the SB Test/Debug perspective and starts the module.
-
Wait for the Waiting for fragment to initialize message to clear.
-
In the Manual Input view, switch the
Stream
toData
, then enter a string value such astest
, and then click to send a data tuple to be written to the file. Repeat for as many lines as you wish. -
In the Output Streams view, observe tuples emitted on the
Status
output streams indicating actions performed to the file. -
In the Manual Input view, switch the
Stream
toControl
, then enterClose
into theCommand
field, and then click to send a control tuple which will close the current file for writing. -
Press F9 or click the Terminate EventFlow Fragment button.
-
This demo creates a file named
SampleOut.txt
containing the lines of data you submitted. The file is placed in the engine data directory of this sample's node directory, which is in the.nodes
directory of your current Studio workspace. In a file browser outside of Studio, navigate a path like the following:workspace
/.nodes/nodename
/application/engines/enginename
/engine-data-areaYou can use the
dataAreaPath
property in a HOCON configuration file of typeldmengine
to designate an alternate location for the engine data area. See the Data Directory sample for more information.
-
Continuing in the same sample project, open the
FileWriterAdvanced.sbapp
file and click the Run button. This opens the SB Test/Debug perspective and starts the module, which is self-running. -
In the Output Streams view, observe tuples emitted on the
*Status
output streams indicating various actions performed on files. -
Press F9 or click the Terminate EventFlow Fragment button.
-
This demo creates and removes several files as it runs:
-
Sample.gz
- This file is a GZip compressed file created from the SampleIn.txt file. -
Sample.gz2
- This file is a BZip2 compressed file created from the SampleIn.txt file. -
Sample.zip
- This file is a Zip compressed file created from the SampleIn.txt file. -
SampleOut.txt
- This file is a uncompressed file created from theSampleIn.txt
file.
-
-
The final result is
SampleOut.txt
in the engine data area for this sample, as described above.
When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.
Important
Load this sample in StreamBase Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.
Using the workspace copy of the sample avoids permission problems. The default workspace location for this sample is:
studio-workspace
/sample_adapter_embedded_filewriter
See Default Installation
Directories for the default location of studio-workspace
on your system.