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, delivered in source code format. 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 or port on the command line that starts the server, or by editing the server's source code.

Importing This Sample into StreamBase Studio

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

  • From the top-level menu, click File>Import Samples and Community Content.

  • Enter csv socket to narrow the list of options.

  • Select CSV socket output adapter from the StreamBase Standard Adapters category.

  • Click Import Now.

StreamBase Studio creates a project for the sample.

Running This Sample in StreamBase Studio

  1. In the Project Explorer view, open the sample you just loaded.

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

    If the red marks do not resolve themselves after a minute, select the project, right-click, and select Maven>Update Project from the context menu.

  2. First, run the Simple Server, which is provided as a Java source file. To do this:

    1. Navigate to the src/main/java/packageName folder.

    2. Right-click SimpleServer.java and select Run As>Java Application.

    3. Look for a message in the Console view that reports the server is running.

    (To change the name of the output text file or the port the server uses by editing values at the top of the Java file.)

  3. Open the src/main/eventflow/packageName folder.

  4. Open the CSVSocketWriterTest.sbapp file and click the Run button. This opens the SB Test/Debug perspective and starts the module.

  5. Select the Manual Input tab and enter the values such as the following, then click Send Data:

    Field Value
    a 100
    b GOOG
    c 1184.91
  6. Enter several more tuples, such as: 477, IBM, 146.35.

  7. Select the Console view running the Simple Server using the Display Selected Console button in the Console view's toolbar. With that Console view selected, click the red Terminate button in the Console view's toolbar.

  8. Press F9 or click the Terminate EventFlow Fragment button. (If you stop the EventFlow module before the Simple Server, the server shows error messages.)

  9. Refresh the project by selecting the project name in the Project Explorer view and pressing F5 or by right-clicking and selecting Refresh.

  10. The default filename output.txt now appears at the root of the Studio project, and contains the tuples you entered in steps 5 and 6.

    100,GOOG,1184.91
    477,IBM,146.35
    ...
    

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.