CSV Socket Writer Output Adapter Sample

About This 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.

Importing This Sample into StreamBase Studio

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

  • From the top-level menu, click FileLoad StreamBase Sample.

  • Type csvs to narrow the list of options.

  • Select CSV Socket Output Adapter from the StreamBase Standard Adapters category.

  • Click OK.

StreamBase Studio creates a project for the sample.

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 your workspace copy of the sample, as described above

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

    javac src\main\java\com\sample\adapter\csvsocketwriter\
      SimpleServer.java

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

    java -cp src\main\java com.sample.adapter.csvsocketwriter.
      SimpleServer output.txt 9000
    java -cp src\main\java com.sample.adapter.csvsocketwriter.
      SimpleServer 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 Project Explorer, open the sample you just loaded.

  5. Open the src/main/eventflow folder.

  6. Open the package folder (most samples contain a single package folder. Open the top-level package folder if your sample contains more than one folder).

  7. Open the CSVSocketWriterTest.sbapp application file.

    If you see red marks, wait a moment for the project in Studio to load its features.

    If red marks do not resolve themselves in a moment, select the project and right-click MavenUpdate Project from the context menu.

  8. Select the Manual Input tab.

  9. Enter the following values, then click Send Data:

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

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

  12. 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 Project Explorer and press F5 to refresh the project's contents before the output file appears.

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 permission problems. The default workspace location for this sample is:

studio-workspace/sample_csvsocketwriter

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