CSV Socket Writer Output Adapter Sample

This sample demonstrates writing 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.

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

By default, the sample files are installed in:

On Windows

C:\Program Files\StreamBase Systems\StreamBase.n.m\sample\adapter\embedded\csvsocketwriter\

On UNIX

/opt/streambase/sample/adapter/embedded/csvsocketwriter/

When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace. StreamBase Systems recommends that you use the workspace copy of the sample, especially on UNIX, where you may not have write access to /opt/streambase. In the default installation, the path to this sample in your Studio workspace is:

UNIX:       
  ~/streambase-studio-n.m-workspace/sample_adapter_embedded_cvssocketwriter
Windows XP:
  C:\Documents and Settings\username\My Documents\StreamBase Studio n.m Workspace\
      sample_adapter_embedded_cvssocketwriter
Windows Vista:
  C:\Users\username\Documents\StreamBase Studio n.m Workspace\
      sample_adapter_embedded_cvssocketwriter

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) .