StreamBase to StreamBase Input Adapter Sample

This sample uses the StreamBase to StreamBase embedded input adapter in a downstream application to read tuples from an upstream application.

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\sbd2sbdinput\

On UNIX

/opt/streambase/sample/adapter/embedded/sbd2sbdinput/

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_sbd2sbdinput
Windows XP:
  C:\Documents and Settings\username\My Documents\StreamBase Studio n.m Workspace\
      sample_adapter_embedded_sbd2sbdinput
Windows 7 and Windows Vista:
  C:\Users\username\Documents\StreamBase Studio n.m Workspace\
      sample_adapter_embedded_sbd2sbdinput

Running This Sample in StreamBase Studio

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

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

  3. Open two terminal windows on UNIX, or two 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.

  4. In window 1, start the upstream application using the port number of the configured adapter. For example:

    sbd -p 10001 upstream.sbapp
    
  5. In window 2, enqueue a tuple to the input stream of the upstream application. For example:

    sbc -p 10001 enqueue InputStream
    123,abc
    
  6. In the Application Output view, observe that the tuples enqueued to the upstream application are emitted by the downstream application.

  7. In window 2, stop the enqueuer by typing Ctrl+C.

  8. In window 2, stop the upstream application by typing:

    sbadmin -p 10001 shutdown
    
  9. When done, press F9 or click the Stop Running Application button.

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 four terminal windows on UNIX, or four 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, type:

    sbd downstream.sbapp
    

    The window shows that the downstream application is listening on port 10000. It also shows that the initial attempt of the StreamBase to StreamBase adapter fails because the upstream application is not yet running.

  3. In window 2, type:

    sbc dequeue OutputStream
    

    This window will display the tuples dequeued from the downstream application.

  4. In window 3, type:

    sbd -p 10001 upstream.sbapp
    

    The window shows that the upstream application is listening on port 10001.

  5. In window 4, type:

    sbc -p 10001 enqueue InputStream
    123,abc
    

    The tuples enqueued to the upstream application in this window appear in window 2.

  6. In window 4, type: Ctrl+Z (Windows) or Ctrl+D (UNIX) to exit the sbc session.

  7. In window 4, type the following commands to terminate the servers and dequeuer:

    sbadmin shutdown
    sbadmin -p 10001 shutdown