CSV Socket Writer Output Adapter Sample

This sample demonstrates the use of the TIBCO StreamBase® CSV Socket Writer to write CSV data to a TCP socket. The CSV Socket Writer adapter is configured to connect to a server running on port 9000 of the local computer to write CSV data. The sample comes with a very simple server written in Java. The source code and compiled JAR of this server can be found in the sample's directory. The server simply listens on port 9000 and writes the contents to a file. The default output file is output.txt and the default port is 9000, but you can specify a different file and port on the command line that starts the server.

Running This Sample in StreamBase Studio

  1. Open a terminal window on UNIX, or a StreamBase Command Prompt on Windows.

  2. In the window, navigate to the directory where the sample is installed, or to your workspace copy of the sample, as described above

  3. In the window, run the sample server with the following command:

    java -jar simpleserver.jar

    You can specify a different output file name and a different TCP port for the server using the syntax like the following examples:

    java -jar simpleserver.jar output.txt 3000
    java -jar simpleserver.jar out.csv 10005

    To change the port number for the simple server, you must also specify the output file name. The first example above preserves the default file name and changes only the port number. The second example changes both the output file name and port number.

  4. In the Package Explorer, double-click to open the CSVSocketWriterTest.sbapp application. Make sure the application is the currently active tab in the EventFlow Editor.

  5. Click the Run button. This opens the Test/Debug perspective and starts the application.

  6. Select the Manual Input tab.

  7. Enter the following values, then press Send Data:

    Field Value
    a 10
    b Google
    c 20.0
  8. When done, press F9 or click the Stop Running Application button.

  9. In the window running simpleserver, press Ctrl+C to stop the server.

  10. The filename specified while starting the server or default output.txt should now contain tuples formatted as shown in this example:

    10,Google,20.0

    If you used the default output file name, or specified another file written to the sample project directory, you might have to select the project name in the Package Explorer and press F5 to refresh the project's contents before the output file appears.

Running This Sample in Terminal Windows

This section describes how to run the sample in UNIX terminal windows or Windows command prompt windows. On Windows, be sure to use the StreamBase Command Prompt from the Start menu as described in the Test/Debug Guide, not the default command prompt.

  1. Open three terminal windows on UNIX, or three StreamBase Command Prompts on Windows. In each window, navigate to the directory where the sample is installed, or to your workspace copy of the sample, as described above.

  2. In window 1, run the sample server with this command: java -jar simpleserver.jar To specify a different output file name or port number, use the syntax described in step 3 of the previous section.

  3. In window 2, run sbd CSVSocketWriterTest.sbapp

  4. In window 3, run sbc enqueue WriteTuple < inputstream.dat

  5. When done, run sbadmin shutdown

  6. In window 1, press Ctrl+C to stop the simple server.

  7. In the current directory, look for the file output.txt (or the filename specified while starting the simple server) .

Importing This Sample into StreamBase Studio

In StreamBase Studio, import this sample with the following steps:

  • From the top menu, click FileLoad StreamBase Sample.

  • Select this sample from the Embedded Adapters list.

  • Click OK.

StreamBase Studio creates a single project containing the sample files.

Sample Location

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 the permission problems that can occur when trying to work with the initially installed location of the sample. The default workspace location for this sample is:

studio-workspace/sample_csvsocketwriter

See Default Installation Directories for the location of studio-workspace on your system.

In the default TIBCO StreamBase installation, this sample's files are initially installed in:

streambase-install-dir/sample/csvsocketwriter

See Default Installation Directories for the default location of studio-workspace on your system.