StreamBase New and Noteworthy Archives

This page summarizes the history of significant changes in previous StreamBase releases.

StreamBase 7.4.x Release History

This sections lists the significant changes in the StreamBase 7.4.x release series.

New in StreamBase 7.4.5

Fixes

TIBCO StreamBase® CEP 7.4.5 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.5 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.

New and Updated Features

StreamBase 7.4.5 added the following updates and new features:

JMS Adapter Updated

The JMS Adapter was updated to support the Simple message type. The JMS Configuration File Editor was updated to support Simple messages, and the adapter's documentation was updated to match.

Exegy Adapter Updated

The StreamBase Exegy adapters now rely on version 3.5.0 or later of the JAR file that implements the Exegy Client API, XCAPI.jar. As before, this JAR file is provided as part of your Exegy installation and is not shipped with StreamBase.

Platform Changes

As of TIBCO StreamBase release 7.4.5:

  • The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u79.

  • The list of supported JDBC databases now includes Oracle 12c.

New in StreamBase 7.4.4

Fixes

TIBCO StreamBase® CEP 7.4.4 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.4 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.4.4 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:

  • The TIBCO StreamBase® Adapter for Exegy

If you purchased these adapters as part of CEP 7.4.4, you no longer need to install the StreamBase CEP Connectivity Pack to access them.

The three 29West adapters listed below are now sold as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:

  • The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM

  • The TIBCO StreamBase® Publishing Output Adapter for 29West LBM

  • The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (new; see announcement below)

New and Updated Features

StreamBase 7.4.4 added the following updates and new features:

Notifications Now Given for Null Arguments to Custom Functions

When a custom function is called with null values for arguments that expect a primitive type, execution continues, but now a console warning is issued and a tuple is emitted on the error port of the operator that invoked the function. Formerly, when given null values for such arguments, custom functions silently returned nulls.

New 29West Output Adapter for Acknowledging Messages

The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.

Explicit ACK for JMS Reader

The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgment of the message.

New in StreamBase 7.4.3

Fixes

TIBCO StreamBase® CEP 7.4.3 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.3 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

New and Updated Features

StreamBase 7.4.3 added the following updates and new features:

Specify Time Zone to format_time()

You can now provide an optional third argument to format_time() that specifies a time zone location (such as "US/Hawaii") or abbreviation ("PST"), as was already possible for the strftime function. For details, see the documentation for format_time.

More Argument Types for Custom Java Aggregate Functions

User-defined aggregate functions can now accept array, list, and variable-length inputs.

New Property Enables Active Financial Input Adapter to Interpret Null Values

The new property Set undefined numeric values to zero allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.

Previously when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. Fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property has been added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, preserving the adapter's legacy behavior.

Change in Default Time Format for CSV Adapters

The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:

yyyy-MM-dd hh:mm:ss.SSSZ

The new default format is the following, with the hours field now uppercase:

yyyy-MM-dd HH:mm:ss.SSSZ
Updates to Documentation

The StreamBase documentation for release 7.4.3 included all the documentation updates reported for release 7.4.2. Specific updates include:

  • The temperature conversion example in the documentation for Defining Functions in the Expression Language was corrected and expanded to more clearly illustrate how to provide an EventFlow function to an operator.

  • The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.

New in StreamBase 7.4.2

Fixes

TIBCO StreamBase® CEP 7.4.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.2 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were packaged with TIBCO StreamBase CEP in previous releases. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Be aware that the contents of this package are subject to change.

In the 7.4.2 release, the following adapters are no longer part of the StreamBase CEP Connectivity Package and now ship with the StreamBase CEP and StreamBase CEP Standard editions:

  • TIBCO StreamBase® Adapter for Bloomberg B-Pipe

  • TIBCO StreamBase® Adapter for Bloomberg BPOD

  • TIBCO StreamBase® Adapter for Bloomberg Server API

  • TIBCO StreamBase® Adapter for Bloomberg Tradebook FX

  • TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface

  • TIBCO StreamBase® Adapter for GAIN GTX

  • TIBCO StreamBase® Adapter for Hotspot FX

  • TIBCO StreamBase® Adapter for Hotspot ITCH

If you have purchased these adapters as part of CEP 7.4.2, you no longer need to install the StreamBase CEP Connectivity Package to access them.

New and Updated Features

StreamBase 7.4.2 adds the following updates and new features:

Forms-Based Editor for JMS and EMS Adapter Configuration Files

This release includes a new graphical editor for configuring the properties of JMS and EMS adapters that makes it easier to specify and reuse name maps and other configuration elements. The editor can also import settings from TIBCO Businessworks™ applications. The new UI eliminates the need to hand-edit .jmsconf XML files under most circumstances. For more information, see StreamBase JMS Configuration File Editor in the StreamBase Studio Reference Guide.

Parameterize Property Values for Adapters and Java Operators in Property Views

To more easily reuse Java operators and adapters across application contexts, StreamBase Studio now allows you to enter parameters and expressions for Java Adapter and Operator properties that do not use text boxes. In such components, all check boxes, radio buttons, and drop-down menus now optionally display a small T icon . Clicking the icon converts the control to a text field where you can enter the name of a module parameter in ${param} format or a StreamBase expression in =expr format.

By default, the icons are hidden. To display them, clear a new preference check box, Hide Control to toggle to/from text fields in Java Operator Properties, found under WindowPreferencesStreamBase StudioAuthoring. A keyboard shortcut is also available.

Property views of standard StreamBase operators and data constructs do not have this feature. For further information, see Parameterizing Java Operator and Adapter Properties.

Launch sbd Process with JVM Suspended

To provide complete access to an sbd process by a remote debugger, a launch configuration can now specify that the server's JVM be suspended when the process is launched. The JVM then resumes once the remote debugger attaches to the process. To enable this, use the new Suspend JVM Initially check box in conjunction with the Allow Remote Java Debugging check box when creating a launch configuration. For more information about how this works, see Editing Launch Configurations.

Parameter Removed from Pattern Operator

As of this release, the Pattern operator's polling-interval parameter is no longer supported, and causes an error if it is present. To correct your applications, open your EventFlow module's .sbapp file in a text editor and search for the string polling-interval. If found, remove the entire <param> element that contains that string.

New Function to Return NaN

The simple function nan() returns a NaN literal as type double. This is the same value returned from the expression sqrt(-1).

Updated TopN Query Sample

The QueryTopN sample was revised and made easier to use by giving its Query Table a simpler schema and making the table self-loading. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.

Updated Custom Java Simple Function Sample

Two new Java functions were added to the Java Simple Function sample to demonstrate how to handle variable-length argument lists.

Eclipse Studio Update Site Is Now Downloadable

Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. The StreamBase Studio plug-ins can now be used with Eclipse versions 3.7, 3.8, 4.3, and 4.4.

New Adapter for Connecting to Citi FX Option Venues

The TIBCO StreamBase® Adapter for CitiFX Options FIX allows a StreamBase application to connect to and exchange FIX messages with the following Citi Options product. See its documentation here.

Input Binary Files to File Reader Adapter

An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a blob field.

New Options for Bi-Directional Socket Adapters
  • All bi-directional socket reader adapters can now handle the Disconnect command when in server mode, using the incoming tuple field SocketIdentifier to determine which connection to close.

  • All bi-directional socket writer adapters now have a Close Connection After Write option, which closes the incoming connection after a write is performed.

  • The Bi-Directional JSON Socket Reader adapter can now accept incoming HTTP headers before parsing the JSON payload, enabling it to process data as HTTP request responses.

New Options for the Web Reader Input Adapter
  • Enable Pass-Through Fields: Allows all fields of the incoming control tuple to be copied to the outgoing data tuple. When enabled, the outgoing data tuple has a new field named PassThroughFields, which contains the entire contents of the incoming control tuple.

  • Ignore Certificate Errors: When enabled, any errors produced by invalid SSL certificates are ignored and the website is processed as usual. Use this option with caution because ignoring certificate warnings can enable man-in-the-middle attacks.

  • Process As File Download: When enabled, the web page is processed as a binary file download and its data is output as a blob field.

Attachments to Email Sender Adapter Can Be Blobs Instead of Files

You can now provide an attachment to the Email Sender as a blob, which can be simpler than providing a local file name. In addition, you can also now specify each attachment's content type and encoding.

Bloomberg B-Pipe Input Adapter Updated

The following updates were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe:

  • A reference data output port and schema specification were added to enable the adapter to respond to reference data requests. See the output ports section of the adapter's page in the Adapters Guide.

  • Users of the adapter can now specify which of five types of authentication to use. See the table in the ports section for details.

EBS FIX Adapter Protocol Updated

The TIBCO StreamBase® Adapter for ICAP/EBS was updated to use version 1.6 of the EBS FIX specification.

Updates to Documentation

New in StreamBase 7.4.1

Fixes

TIBCO StreamBase® CEP 7.4.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Updates from Previous Releases

TIBCO StreamBase® CEP 7.4.1 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.

New and Updated Features

StreamBase 7.4.1 adds the following updates and new features:

Specify Time Zones for Timestamp Field Functions and strftime()

The time-getting functions get_second() ... get_year() now take an optional second argument, a string literal, for example "UTC" or "Europe/Zurich". When called with one (timestamp) argument, the functions return local time. Providing a recognized time zone ID as the second argument returns the requested unit of time for the specified time zone. Use the Java function TimeZone.getAvailableIDs() to get a list of all time zone IDs. For more information, see Specifying Time Zones.

In addition, the strftime() function has a new optional argument to format timestamps for a specified time zone instead of local time.

Aggregate-to-List function Excludes Null Values

Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).

Function for Current StreamBase Version

The new version() function returns the version of the currently executing StreamBase CEP as a string.

Feed Simulation Updates
  • In the Data File options dialog, the Custom Reader button has been replaced by a check box which, when selected, lets you specify a fully qualified class name in a text field next to it. This change reminds you of the plug-in you are using when you return to the feed simulation UI again.

  • Data files for feed simulations can now occupy a different folder than the feed simulation itself, enabling simulations in different projects to share data sources. You can specify either an absolute or a relative path to data files in the Data File Options dialog. For more information, see Using the Feed Simulation Editor.

  • In feed simulations that read from data files, you can now specify "None" when mapping columns to fields rather than having to choose a column. Use this option to populate fields that are not represented in the data file with nulls.

  • You can use Eclipse internal links to specify data files. Note that the feed simulation identifies and stores the actual file location, not the link itself.

Send and Receive Tweets from StreamBase Applications

The TIBCO StreamBase® Twitter input and output adapters enable a StreamBase application to interact with the Twitter service using the twitter4j library. The adapters receive, send and retweet tweets and issue other commands, such as searching and filtering.

Hotspot FX Market Feed and Execution Adapters

The new TIBCO StreamBase input and output adapters for KCG Hotspot FX allows a StreamBase application to connect to and exchange FIX messages with KCG Hotspot BookFeed Market Data and Order Entry And Execution services. See the Adapters Guide for more information.

Compare Missing Tuples to Unexpected Tuples in Unit Tests

To provide more useful diagnostics, SBUnit test failures with multiple missing/unexpected tuples now throw a ComparisonFailure instead of an AssertionFailedError.

JDK Updated to 1.7_55

StreamBase kits now install runtime components of JDK 1.7_55 (also called 7u55).

Sample Illustrates Type Coercion Rules

Running the Type Coercion Sample shows how same-named numeric field values with certain compatible types can all appear to be carried by a new field with a type compatible with all original values.

Sample for Setting Debugger Breakpoints

The DebuggingBreakpoint sample illustrates setting unconditional and conditional breakpoints on data arcs when debugging applications in StreamBase Studio.

Updated JDBC Query Sample

The StreamBase sample explaining how to use JDBC data sources has been completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.

Documentation Updates

The StreamBase documentation for release 7.4.1 includes all the documentation updates reported for release 7.3.11.

  • The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website.

  • An explanation of configuring clients and servers to run on SSL connections using the sbs:// protocol was added. See SSL Authentication in StreamBase References.

Behavior Changes

This section details changes in behavior between the 7.4.x series and the 7.3.x series.

StreamBase Studio
Change to StreamBase Studio Behavior for Launching Applications in Project Subfolders

If one EventFlow application references a second EventFlow application in the same subfolder within a project, you must add the subfolder to the module search path in order to run the referencing application. One symptom of failing to do this is receiving a "module not found" message from the debugger when attempting to step into a referenced module. This behavior differs from StreamBase Studio 7.3.x and previous releases, in which the referencing application would start without the subfolder being added to the module search path.

New in StreamBase 7.4.0

Note

The file names of TIBCO StreamBase® CEP, TIBCO StreamBase LiveView®, and adapter installers have recently changed, and are structured as follows:

TIB_<productid><major>.<minor>.<servicepack><os_id>_<hw_arch>.<container_suffix>

For example, the Windows installer for this version of StreamBase CEP is:

TIB_CEP_7.4.0_win_x86.msi for 32-bit windows, or TIB_CEP_7.4.0_win_x86_64.msi for 64-bit windows

Access installers for your TIBCO StreamBase license products via login at download.tibco.com. After you log in, search for "StreamBase". When you click a product's name in the resulting page of results, the installers available for it are listed.

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change.

Fixes

TIBCO StreamBase® CEP 7.4.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Inherited from Previous Releases

TIBCO StreamBase® CEP 7.4.0 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.10.

New and Updated Features

TIBCO StreamBase® CEP 7.4.0 added the updates and new features shown in the following sections.

 Behavior Changes 
New Iterate Operator Functionality

The iterate operator has the following new features

  • An expression for list to iterate over.

  • An optional while expression.

  • Target list for output expressions.

Operators in existing applications still run as expected. For details, see Changes to the Iterate operator.

Updates to Aggregate Operator
  • Time-based emission no longer requires additional tuple input.

  • Constant expressions are allowed when specifying size, offset, emit and advance values.

For details, see Changes to the Aggregate Operator, below.

Updates to Gather Operator
  • New options and UI for controlling timeouts.

  • Control over emissions for partially gathered tuples.

For details, see Changes to the Gather Operator, below.

Updates to Metronome and Heartbeat Operators
  • Use expressions to set output field values.

  • Suppress all but last heartbeat tuple following a delay.

For details, see Changes to the Metronome and Heartbeat Operators, below.

Updates to Query Tables
  • Query Tables can now be shared across containers as well as across modules.

  • New and relocated options in the Query Table properties view.

  • Stricter rules for qualifying fields when inserting and updating tables.

For details, see Changes to Query Tables, below.

 Studio: New Features and Updates
Studio: Automatically Maintain Server Configuration Files

To make them more transportable, StreamBase projects have a new option, Automatically update/maintain server configuration files, found under ProjectPropertiesStreamBaseProject Configuration. Under this option, StreamBase Studio automatically updates configuration files containing settings that StreamBase Server may require to run the project. This feature is particularly useful for sharing projects, for example via a source code control system, in a ready-to-run state. New projects use this synchronization feature by default. To apply it to existing projects (highly recommended), select the option in the project properties dialog, as described above. For more information, see How Studio Uses Server Configuration Files.

Studio: Import Schemas from XML and CSV Files

The Copy Schema wizard, available from Edit Schema tabs and dialogs, now enables you to:

  • Parse an XML file to import a schema. This functionality is also available from the XML to Tuple operator Properties view.

  • Browse to a CSV file and populate a schema with field names taken from the file's header.

The wizard can infer data types in many cases and defaults to string when it cannot do so. You can always change the resulting field names and data types that the wizard produces. For more information, see Copying Schemas.

Studio: New Context Menu Item to Create Feed Simulations for Input Streams

You can create feed simulations for an input schema more easily now by right-clicking on an Input stream and choosing Create New Feed Simulation from the context menu. The feed simulation editor initializes with the selected schema in place. If you select more than one input stream, the feed simulation editor will initialize with a separate stream for each selected input schema.

Studio: Improved Feed Simulation Editor Column/Field Matching

When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.

Studio: Feed Simulation Field Values Can Depend on Other Fields

The Custom feed simulation option has a new Conditional Generation Method. Selecting it for a field lets you specify generation cases for that field that are based on values generated for another field or a combination of fields. You can base conditional fields on other conditional fields, as long as there are no circular dependencies. For more information, see Using the Feed Simulation Editor.

Send Feed Simulation Streams to Separate Containers

By appropriately naming feed simulation streams and configuring a .sbdeploy file, you can now direct its streams to different containers, not just the default containers.

Studio: Java Operators and Adapter Parameters Can Be Expressions

Expressions are now allowed as Java operator parameters. Any operator parameter that starts with an = character (equals sign) is parsed as an expression at initialization time. Not "baking in" Java operator parameters enables applications to be deployed into a wider variety of runtime environments.

Studio: New Schema Fields Default to String

When you add a field to a schema for a stream or operator in StreamBase Studio, its data type now defaults to string. Previously, new fields defaulted to type int.

Studio: Module Parameter Definition Changes can be Undone and Redone

You can now undo and redo changes you enter in a module's Parameter Definition tab for the following actions:

  • Add Parameter

  • Delete Parameter

  • Delete All

  • Move Up

  • Move Down

Studio: New Source Tab in Debug Configuration Dialog

The Debug Configuration dialog now includes a Source (Java) tab, which defines the location of source files used to a display source when debugging Java code as part of your StreamBase application. By default, these settings are derived from the current project's Java Build Path. You can override the default settings in the Source tab.

Studio: Access Extension Point Modules from Context Menu

The Open Module Instance item on the Extension Point context menu now has a sub-menu for directly opening any of the associated module instances. You can also access the sub-menu from the EventFlow menu or by pressing Shift+F3 while an extension point is selected.

Studio: Custom Icons Supported for Extension Point Operators

Use the General tab of the Properties view for an Extension Point operator to specify a custom icon for that operator to appear on the EventFlow canvas. Icon image files must be in PNG, GIF, or JPG format, and must exist in the project's resource search path. Size your image file as appropriate to fit on the canvas without displacing adjacent operators, aiming for a recommended size of no more than about 64x64 pixels. See Extension Point Operator, and the ExtensionPoint.sbapp sample in the operator sample group for an example of an extension point with a custom icon.

Studio: Confirmation no Longer Required to Delete Objects from Canvas

When you delete an operator, adapter, stream, arc, note, or module from the EventFlow canvas, you are no longer prompted to confirm the action. You can undo any such removal, whether you have deleted one or multiple objects.

Module Reference Tooltips Now Show Parameters and Stream Mappings

Tooltips shown while hovering over a module reference in StreamBase Studio now show parameter substitutions and how input and output streams are mapped, in addition to the module's name. Previously, you had to open the referenced module to obtain this information.

Programmatic Control of Time in JUnit Tests

You can now control the passing of time in EventFlow applications, which is useful when running unit tests of applications that react to time (timeouts or metronomes for example). You can, for example, run a unit test, enqueue events that should all be received by the application within one second, and then tell the server that one second has elapsed, aligning the EventFlow logic more closely with a real-world input stream.

Several Java classes and interfaces and a new enum have been added to provide this control. For more information, see Using the StreamBase JUnit Timeservice in the Test/Debug Guide.

 Studio: Operator and Data Construct Updates 
Studio: Changes to the Aggregate Operator

The following updates were made to the Aggregate Operator:

  • In any dimension dialog, you can now enter a simple numeric constant expression for size, offset, emit and advance values, as you already could for Predicate-based dimensions.

  • Time-based windows now close and emit once the specified interval (window size) is reached, without requiring further tuple input. This means that it is no longer necessary to tickle time-based windows with null tuples (such as from a Heartbeat operator) to cause them to close and emit.

Studio: Changes to the Gather Operator

The flexibility and usability of the Gather operator has been enhanced in several respects:

  • Rather than buffering unmatched tuples indefinitely, Gather now emits tuples after a set amount of time has passed, even if not all of the inputs have been received. When a new tuple ID is encountered, a timer keyed to it starts counting and is not cleared until all matching tuples have been gathered and emitted. If that tuple ID times out, a tuple is emitted containing null entries for unmatched fields.

  • "Application timeout" no longer causes replacement policy to switch from "keep last" to "keep first." You can now specify replacement policy and emission strategies independently. There is also a new replacement policy named "keep first (strict)", which emits errors when duplicate entries come on the same input port.

  • "Output last time" no longer also enables the behavior of "only emit on application timeout". You can now specify which emissions strategies are enabled, and whether or not to add a last_time field independently. The typechecker will warn you if last_time is not guaranteed to be monotonically increasing (this is the case when you have application timeouts combined with other emission strategies.)

  • In addition to specifying a timeout interval, you can also now force emission by specifying a predicate expression on the inputs which, when evaluating to true, will emit partial tuples.

Operation of the timeout feature is demonstrated in an updated Gather sample.

Studio: Changes to the Iterate operator
  • The Operations Settings tab now has Iterate Over, Iterate Condition, and Iterate Filter fields in place of the Iterate Over and Output Element Field Name fields provided in prior releases.

    • Iterate Over remains a field name or an expression that evaluates to an input field of type list

    • Iterate Condition is a boolean expression, which when false, terminates iteration, like in a while loop. Both simple and aggregate expressions can be specified.

    • Iterate Filter is a simple boolean expression, which when false, skips the current list element.

  • The Output Element Field Name setting has been replaced by a new Output Settings tab, having the following features:

    • An Input Fields grid, enabling you to choose which input fields to include in or drop from the output. By default, all fields are output at each iteration, subject to the Iterate Filter.

    • An Additional Expressions grid, enabling you to construct output fields, as you can with a Map operator.

  • The operator provides internal access to the list being processed and the current element's content and index for use in expressions.

Iterate operators in existing applications should continue to work normally. For more information, see Using the Iterate Operator.

Studio: Changes to the Merge Operator

You can now merge data from more than two input streams. The Merge Settings tab now allows you to choose or enter the number of input ports to merge from. You can also drag an arc onto the operator to add an input port.

Studio: Changes to the Metronome and Heartbeat Operators

To prevent the Metronome operator from issuing multiple tuples following delays in servicing it, you can now suppress all but the latest tuple. Select the new check box Drop tuples delayed longer than the output interval in situations where downstream operators or applications that consume output streams are unable to keep pace with the metronome. This can occur when its output interval is very short.

You can now prevent a Metronome operator from firing by setting the value of its output interval to 0.

Both the Metronome and Heartbeat operators can now accept constant expressions in addition to strings and parameters to define their output interval (and the Heartbeat Maximum delay property).

Studio: Changes to Query Tables
  • Query tables can now be shared across separate containers at run time:

    To reference a table in the same or a different container, enter a connection string for it in the Table Settings tab. The string is a fully qualified path that includes a container name, module and sub-module names, and a table name.

  • Some controls in the Query Table properties view have changed or moved:

    In particular, the Table Schema drop-down has moved to the Schema Tab, and a new drop-down named Table Location appears on the Table Settings tab. On the Initial Contents tab there is a new check box, Skip header line, that is enabled when the Load initial rows from a resource file is selected when importing CSV files that have headers.

  • Inserting or updating table rows using ambiguous (unqualified) field names may now generate warnings, unlike in previous releases.

    In previous releases, StreamBase Studio would default unqualified identifiers to input.fieldname. Now you are warned, and may either suppress the warnings or update the ambiguous identifiers. For additional details, see the release note for SB-25658 in Limitations Resolved in 7.4.x.

For migration information about data constructs, see EventFlow Editor 7.4 Changes. The Query Table UI is documented in Using the Query Table Data Construct.

Studio: JDBC Query Operator Reports Reconnection Events

When using a Query operator associated with a JDBC Table data construct, if a reconnection to the data source becomes necessary, a tuple is now emitted on the Error Output Port of the Query operator with the message Attempt reconnect to data source. When the reconnection succeeds, another tuple on this port reports Success reconnecting to data source.

Studio: New Configure Sources Link for JDBC Tables

The JDBC Table data construct now has a hyperlink labeled configure sources on the Data Source tab of its Properties view. Use the link to open the project's server configuration file. If no configuration file exists for the current project, clicking this link opens the New StreamBase Server Configuration File dialog to create a new, empty configuration file. See Using the JDBC Table Data Construct.

Studio: Changes to the Sequence Operator

You can now place a Sequence Identifier in any suitable numeric field from the input stream rather than having to declare a new field to hold it.

Studio: Automatic Port Deletion for the Union Operator

Starting with this release, when you delete an arc entering a Union operator, or you delete the component immediately upstream of such an arc, the corresponding input port is automatically removed from the Union operator, and the count of input ports on the Union Settings tab of the Properties view is decremented.

Studio: Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator

Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:

  • Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.

  • XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.

  • Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.

  • Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.

See Using the XML to Tuple Operator in the Authoring Guide for more information.

Studio: Schemas for Arcs Can Be Forward Declared

You can now forward declare most arcs, not just those in loops, using the same UI as for Output Streams. As before, you can use this to break loops, but now it also works for other purposes, such as reordering fields.

 Studio: EventFlow Canvas Rendering

Changes to how EventFlow canvas displays operators, adapters and arcs:

Objects Have a More Consistent Look
  • Operators no longer have drop shadows when selected.

  • Data Construct diamonds have a thinner border and no drop shadow when selected.

  • Stream arrows are thicker, the text now a non-bold larger font, "INPUT" and "OUTPUT" are now "Input" and "Output", the border is now thinner, and there is no more drop shadow

  • When dragging a canvas object, the ghosted figure that displayed as you reposition it has a drop shadow and no blue selection background.

New Flat Visual Theme in Studio

Version 7.4 gives you a choice of two themes for displaying canvas objects, "Flat" and "Classic". The two Query operator icons below illustrate the difference in appearance between the themes.

Classic Flat

The new Flat theme is the default. To revert to the Classic theme, navigate to WindowPreferencesStreamBase StudioAuthoringEventFlow Rendering and click the Classic button under Theme.

For a complete comparison of Studio icons, see EventFlow Editor 7.4 Changes.

Single Palette Icon for Adding Adapters and Java Operators

There is now a single palette icon for adding a Java operator, .NET operator, Input adapter or Output adapter to an EventFlow canvas. It works the same way as the adapter and Java operator palette icons in earlier releases of StreamBase Studio; you drag it to the canvas and pick a specific operator or adapter from a pick list. The new icon looks like the following:

For further information, see EventFlow Editor 7.4 Changes.

Data Arcs connecting Query Tables and Operators now Depict Query Type

To more clearly depict how Query operators use Query tables, StreamBase Studio now renders all such connecting arcs as follows:

  • Dashed lines indicate Query Reads

  • Dotted lines indicate Query Writes

  • Dashed-dotted lines indicate deletes

The styles are illustrated in Using the Query Operator.

Stream Arcs Are Now Bendable

You can introduce curves into a stream arc by selecting it and dragging a black square handle that appears at the arc's midpoint. Displacing that point adds an inflection point and also two new handles on either side of it, which you can then displace to approximate a curve. To remove an inflection point, click and drag it back to a straight-line position. Moving either object that a curved arc connects removes all inflection points. You can still curve arcs automatically using the Reroute Arcs feature (Ctrl+Alt+L). Both features only affect stream arcs. Data arcs are always straight.

Notes on a Studio Canvas Can Be Attached and Rearranged

You can now disconnect a note from a component and connect it to other components after the note has been created. In addition, a tool tip displays the content of a note when you hover on a connection to it. See Using Notes for details.

New Palette of Custom Colors for Group Backgrounds

The color chooser for setting group backgrounds now has a more harmonious palette of recommended choices for custom colors. You can still define your own background colors.

 Studio: EventFlow Debugger Improvements 

The EventFlow Debugger in Studio was extensively rewritten to provide the following new features and changes:

  • The Debugger now provides seamless debugging between EventFlow code and user-written Java code for functions, operators, and adapters.

  • The default, filtered Debug view includes frames that map to EventFlow arcs, and includes Java stack frames for code in custom adapters or operators and in Java code called from them. The default view excludes Java frames for StreamBase-proprietary server-side code.

Before debugging, see the Limitations and Cautions on the EventFlow Debugger page.

API Changes
Call Custom Java Functions with Variable-Length Arguments

You can now implement vararg syntax in custom simple and aggregate Java functions that you invoke with calljava or with a function alias.

Call Custom Java Functions with Lists

EventFlow lists and lists of lists of numeric types are now transparently passed to plug-in Java functions as Java arrays, improving efficiency and interoperability with mathematical libraries. As a result, you can pass a StreamBase list to a Java function. This enhancement also allows you to pass lists of lists to functions expecting array arguments. For example, list(list(int)) can be passed to functions accepting int[][]. Note that array arguments cannot exceed two dimensions. See Method Parameter and Return Types in Creating Custom Java Functions.

Partially Anonymous Schemas with Generated Names are now Fully Anonymous

In previous versions, StreamBase generated internal names for streams with anonymous (unnamed) schemas, names such as "schema:InputStream". These generated names have been eliminated, and can no longer be relied upon for client API requests of schema by name, such as StreamBaseClient.getSchemaByName(String) (or similar C++, .NET, and Python APIs, and the sbc list schema command). To find the schema of the stream, request the stream properties based on the stream name.

New Operator/Adapter API Identifies Applicable Named Schemas for Studio Users

Two new methods in the Operator class have been added that identify schemas that may be appropriate for input and output ports:

  • getProposedInputSchemas(String mainName)

  • getProposedOutputSchemas(String mainName)

String argument mainName specifies the prefix for the top level schema, which should also be used for any sub-field schemas.

The methods check for applicable named schemas and return arrays of type Schema that StreamBase Studio can suggest to the user for configuring input and output ports, respectively. When a custom operator or adapter implements the API, users editing adapter properties can import schemas to a project. When an adapter is so enabled, StreamBase Studio presents a hyperlink labeled Import proposed schemas to allow schemas to be imported into interface or application files. For example, the FileReader input adapter has that link at the top of its properties view, as shown in this illustration.

Click the hyperlink to open the Save Named Schemas dialog displaying the schema(s) you can import from an existing EventFlow or StreamBase Interface file or from a new interface file.

Most embedded input adapters are equipped with this feature.

Parsing Java DateFormat Strings

StreamBase APIs that parse timestamps from strings have new methods that accept a Java DateFormat to assist in parsing. If you find that existing code which worked before no longer parses certain strings, update it to use these new APIs. Specifically, should parsing errors like "Invalid timestamp format" occur, look for methods that accept Java DateFormat arguments and make sure the arguments you are passing conform to that format.

 Expression Language Updates 

The following features were added to the StreamBase expression language in release 7.4.0:

  • New Function Data Type

    StreamBase expression language now natively supports creating and saving a function. Any StreamBase expression can now be stored as a function. A saved function can be data on a stream, stored in a table, or passed as an argument to another function. Consequently, function is now a reserved expression language keyword.

    See Defining Functions in the Expression Language for an example of creating a function in StreamBase expression language, which you can further explore by running the sample EventFlow Function Sample.

  • New Function to Compile User-Defined Functions

    The new compile function turns a string into an EventFlow function that can return any specified StreamBase data type. The string can contain any valid StreamBase expression. Besides the expression defining a function body, compile also accepts tuples to define argument lists, the return type, and local variables.

  • New List Manipulation Functions that take Functions as Arguments

    The following higher-order functions have been added:

    • filterlist() – Removes elements of a list that fail a test provided by the input function

    • foldleft() – Applies an accumulator function forwards over a set of lists of the same length and compatible type

    • foldright() – Applies an accumulator function backwards over a set of lists of the same length and compatible types

    • maplist() – Applies a function to corresponding elements of multiple lists and collates the results as a single list

    • mergelist() – Merges a list of sorted lists and sorts the output using its input comparison function.

      In addition, sort() has a syntax that passes in a custom comparison function. It works like mergelist(), but operates on single lists, while mergelist() operates on a list of lists.

      For more information, see Functions as Arguments.

  • New Simple and Aggregate Correlation Functions

    You can now compute four different measures of correlation for sets of numeric data values. Each function has a simple and an aggregate form. Click the links to see the simple function documentation:

    The existing aggregate function correlation_coefficient has a new syntax that lets you specify the four types of correlation to perform, and can accept either bivariate or multivariate data. A new simple function version of correlation_coefficient that accepts list inputs has been added.

    A new aggregate helper function, rank(), computes the rankings of a double field in an aggregate window and outputs the rankings as a list of doubles.

  • New Exclusive OR Function

    The xorall function evaluates the logical exclusive OR (XOR) of two or more boolean input expressions. The function returns true when an odd number of inputs are true and false otherwise.

  • New Aggregate Function Extends count()

    A countlong() function, which counts tuples in aggregate windows, has been added. It has the same functionality as count() but returns a long result.

  • New String Functions and Operations

    • New Syntax and Aggregate Version for join()

      You can now call the simple function join(string separator, list(T) L) without the first argument, separator if you do not need to insert a separator between list elements.

      An aggregate version is now available: string join(string S, string separator). If S is empty, no separators are inserted.

    • New Function to Convert CSV strings to tuples

      The parsecsv function accepts a string formatted as comma-separated values (CSV) and returns a tuple. For a related new StreamBase Studio feature, see Import Schema from XML and CSV Files in Studio: New Features and Updates

    • New Function to Generate Random Strings

      The randomstring(len) function returns a random alphabetic string selected from the character set A-Z.

    • Repeat Strings Using the * Operator

      Similarly to string concatenation ("a"+"b"+2 -> "ab2"), now you can repeat a string or single character multiple times using the * operator ("abc"*2 -> "abcabc"). See String Repetition for details.

  • New Time and Date Functions

    • The get_day_of_year() function outputs the Julian date represented by a timestamp or by numeric (year, month, day) arguments.

    • The from_unixtime() function outputs an absolute timestamp from a double value assumed to represent the number of seconds before or after the start of the Unix epoch (00:00:00 UTC, 1 January 1970).

    In addition, parse_time() has a new syntax that accepts extra arguments to customize time strings for a specific locale (language, country, or region).

  • Specify Binary and Hexadecimal Int and Long Numbers

    You can now specify numeric literals as base-2 and base-16 numbers using the prefixes 0B or 0b (binary) and 0X or 0x (hexadecimal), respectively. To represent such a numeric literal as a long instead of an int, terminate it with L or l.

  • Expressions evaluated by eval() can now reference custom functions by the function alias.

 Command Line Utility Updates 
Secure Plain Text Entry Option for sbcipher

sbcipher, which enciphers text or generates cipher keys for configuration files, has a new command line option:

  • --prompt — From a shell, prompts securely for plain text input, or text can be piped from stdin

The --prompt option prevents sensitive text from appearing in your session history. For details, see documentation for sbcipher.

New sbadmin Command
manageJdbcConnections

This command is used with the following syntax:

sbadmin manageJdbcConnections close|count [datasource-name]

If your application has more than one JDBC connection, specify a datasource-name for the connection you want to manage, using a <data-source> name specified in the server configuration file. The count subcommand returns the number of open connections to this data source, while the close subcommand closes the JDBC connection without having to shut down the server or container.

Identify Configuration Files for Unit Tests

Instead of using sbunit -f config-filename When running unit tests, you can specify the path to the .sbconf file the test should use with either the Java system property streambase.unit-test.server-conf or the environment variable STREAMBASE_UNIT_TEST_SERVER_CONF.

 Adapter Updates 
New EMS Reader and Writer Adapter Pair

The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.

Share Bi-Directional Socket Data Transformer

A Share data transformer option has been added to the TIBCO StreamBase® Bi-Directional Socket Writer adapter, enabling it to use the same data transformer as the socket reader. Sharing maintains the state of the transformer between read and write operations.

Cannot Configure Concurrency for Adapters that Cannot Have Multiple Instances

Some adapters can only be instantiated once and thus cannot run concurrently. All such adapters now suppress the Concurrency tab in StreamBase Studio to prevent configuring multiple instances of them.

New Summary Column in Thomson Reuters Schema Designer View

The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains Yes. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.

In addition, the RFA.jar library has been updated to version 7.5.1.

StreamBaseFIX Engine

StreamBaseFIX engine is renamed to TIBCO StreamBase® High-Performance FIX Engine and is available for separate download. This engine is required to run FIX adapters using FAST (FIX Adapted for Streaming) protocol.

Schema Updated for Trading Components CitiFX Vol Market Data Handler

The FXQuoteDataSchema has been updated to included an extra field named OptionsExtendedData, which is used by the CitiFX Options Vol market data handler. The FXQuoteDataSchema is used by FXTopOfBookSchema and FXDepthOfBookSchema.

 Deprecated and Removed Features 

The following StreamBase features are deprecated as of release 7.4.0 and will be removed in a future release:

  • Support is deprecated for Microsoft Windows Server 2003 and Windows XP Professional, and will be removed in a future release.

  • Support is deprecated for StreamBase Studio on Linux platforms. TIBCO StreamBase technical support for Linux StreamBase Studio will be provided to developers on a best-effort basis. StreamBase Server will continue to be supported for Linux.

  • The tupleid identifier that exists in the Tuple API classes is deprecated. Tuple IDs add no value to end-user applications, as their value is in almost all cases always zero. In a future release, methods that reference tuple ID and methods that display it when serializing a tuple to a string will no longer do so. At that time, serialization of tuples will ignore requests to include tuple ids (which usually display as: tupleid=0).

  • The sbtest command is deprecated and will be removed in a future release. Use the sbunit command to run a StreamBase JUnit test class.

  • Support for compiling C++ StreamBase client applications for Windows with Visual Studio .NET 2005 (Visual C++ 8.0) has been deprecated.

  • Support for the TIBCO StreamBase Bloomberg BPOD Subscribing Input Adapter has been deprecated.

The following StreamBase features have been removed from release 7.4.0

  • The StreamBase Studio Saved Schema View, which was first deprecated in release 7.2, has been removed. In place of saved schemas, use named schemas and the EventFlow Editor's Definitions tab.

  • The TIBCO StreamBase Adapter for Microsoft Excel is no longer available. The TIBCO StreamBase Add-in for Microsoft Excel provides greater functionality and supports newer versions of Excel. Contact your TIBCO representative for more information on availability and features.

  • Function Tuple.setTimestamp has been removed as a public method. If you have used the signature Tuple.setTimestamp(field, long) in a StreamBase application, you may have been using it improperly, as the long argument is an internal representation of an timestamp, not a Unix timestamp. To maintain compatibility, replace that call with TupleUtil.setTimestamp(field, long), but be aware that this method is also not part of the API and may be removed or changed at a later date.

  • The Java 1.5 JDK is no longer supported for developing StreamBase extensions, which include custom operators, adapters, client applications, and monitor applications. Both StreamBase Server and StreamBase Studio have required Java 6 JDK since release 6.3. Going forward, you must use Java 6 JDK to develop client code.

  • The deprecated method getApproximateSize in the Schema class was removed in this release. There are no replacements for it, as this method should not have been used by clients and was never part of the API.

  • The FXA Framework is no longer supported and was removed from this release. SchemaProvider.jar is no longer supported and no longer ships.

  • Support removed for Mac OS X 10.6 (Snow Leopard). Use the latest version of 10.7 (Lion) or 10.8 (Mountain Lion).

  • Support removed for 32-bit Linux

  • Support removed for 64-bit Red Hat Enterprise Linux Advanced Server 4 on x86_64 processors

  • Support removed for 64-bit Solaris 10 on SPARC processors

  • Support removed for Novell SuSE Linux Enterprise Server 10. Use SuSE 11 instead.

  • Support removed for Oracle® 9i

  • Support removed for Vertica 4.1

  • The Bovespa input and output market FIX adapters have been removed, because the product is no longer available or supported

  • Support removed for the InfoReach Adapter

  • Support removed for Thomson Reuters RFA External Adapter

  • Support removed for Thomson Reuters SFC External Adapter

  • The TIBCO StreamBase© Adapters for Apache Flume is no longer available for the Solaris x64 platform.

 Platform Changes 
Installer File Names Have Changed

StreamBase, LiveView and external adapter installers available from download.tibco.com have new names. See the above note for details. Specific platform file names are described in the Installation Guide.

Microsoft Windows 8

This release of TIBCO StreamBase CEP fully supports the Windows 8 operating system.

Support for 32-bit Linux Discontinued

TIBCO StreamBase CEP is no longer distributed for 32-bit Linux.

Visual Studio 2008 (VC9) Libraries Are no Longer Included

StreamBase Studio no longer installs libraries for Microsoft Visual Studio 2008. If you use the Python interfaces for ActiveState or the python.org Python implementations, they will include the appropriate libraries. Visual Studio 2008 also installs these libraries.

JDK 7 Bundled on All Platforms

StreamBase Server now ships with and runs from a Java 7 JRE. For the first time, Java is included with StreamBase on Mac OS X. Java from Apple or Oracle need not be independently installed. On all platforms, the sb-config Java options return paths to the bundled JDK (the /jdk directory under the StreamBase installation directory). For Mac users, this means you no longer need to obtain Java from Apple.

Java Compiler Compliance Level Is now 1.6

StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.

Subversion 1.8 now Supported

You can now use StreamBase Studio with working copies managed by Subversion 1.8 as well as prior Subversions.

.NET API for EventFlow Functions Requires Full .NET 4.0

The StreamBase .NET API now enables EventFlow functions to be passed to .NET applications. As a result of this update, .NET clients will no longer run under the .NET 4 Client Profile (the "lite" version). You will now need to:

  • Make sure your application is targeting the full .NET 4.0 Framework when you compile

  • Make sure the machine running the application has the full .NET 4.0 Framework installed as well.

StreamBase Studio Now Eclipse 4.3-Compatible

StreamBase Studio ships as a product built and bundled with Eclipse 3.8, but the plug-ins are now compatible with Eclipse 4.3. Install StreamBase Studio into Eclipse 4.3 by following the instructions in the StreamBase Studio Eclipse Update Site page.

Studio Now Includes Eclipse EGit

The EGit Eclipse plug-in provides seamless access to files managed by the Git version control system, including projects hosted on the Github repository. EGit documentation is now included as part of the Studio Help system. EGit joins CVS and Subversive as the three team provider version control plug-ins included with Studio.

 Samples Updates 

The sample modules and applications included in the StreamBase kit were updated as follows:

New Sample: Run a StreamBase App in an Embedded Java Server

The StreamBase sample Calling an Embedded StreamBase Server from Java demonstrates running a StreamBase embedded in a running Java program, and contains an Eclipse cheat sheet that opens when you import the sample.

New Sample: Shared Tables Across Containers

The StreamBase sample Shared Tables Across Containers Sample illustrates how you can access a common table from separate containers, both for reading and writing.

New Sample: EventFlow User-Defined Functions

To illustrate the new function data type, the StreamBase sample EventFlow Function Sample demonstrates how an application can define functions in the StreamBase expression language in operators and as constants.

New Sample: Creating Feed Simulations Containing Contingent Values

The StreamBase sample Feed Simulation Conditional Field Sample shows how to generate fields in feed simulations whose values depend on the contents of one or more other fields.

New Sample: Accessing Data from Complex Schemas in a Custom Java Operator

The StreamBase sample Java Operator Complex Types Sample shows how to use the StreamBase Client API to retrieve fields and values from complicated structures such as nested tuples.

 Documentation Updates 

The StreamBase documentation for release 7.4.0 included the following updates independent of the above updates:

StreamBase 7.3.x Release History

This section lists the significant changes in the StreamBase 7.3.x release series.

What Was New in StreamBase 7.3.12

Fixes

StreamBase 7.3.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.3.12 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:

  • TIBCO StreamBase® Adapter for Bloomberg B-Pipe

  • TIBCO StreamBase® Adapter for Bloomberg BPOD

  • TIBCO StreamBase® Adapter for Bloomberg Server API

  • TIBCO StreamBase® Adapter for Bloomberg Tradebook FX

  • TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface

  • TIBCO StreamBase® Adapter for GAIN GTX

  • TIBCO StreamBase® Adapter for Hotspot ITCH

  • TIBCO StreamBase® Adapter for Hotspot FX

If you purchased these adapters as part of CEP 7.3.12, you no longer need to install the StreamBase CEP Connectivity Pack to access them.

New and Updated Features

StreamBase 7.3.12 added the following updates and new features:

New Aggregate-to-List Function Excludes Null Values

Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).

Eclipse Studio Update Site Is now Downloadable

Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site online, as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. Installing Studio 7.3.12 as an Eclipse plug-in requires Eclipse versions 3.7 or 3.8.

Reference Data Request Port for Bloomberg B-Pipe Input Adapter

A reference data output port and schema specification were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe to enable it to respond to reference data requests. See the adapter's page in the Adapters Guide for details.

Authentication Choices Added to Bloomberg B-Pipe Input Adapter

Users of the TIBCO StreamBase® Adapter for Bloomberg B-Pipe can now specify which of five types of authentication to use. See the the adapter's page in the Adapters Guide table for details.

New 29West Output Adapter for Acknowledging Messages

The TIBCO StreamBase 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.

Input Binary Files to File Reader Adapter

An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a a blob field.

Change in Default Time Format for CSV Adapters

The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:

yyyy-MM-dd hh:mm:ss.SSSZ

The new default format is the following, with the hours field now uppercase:

yyyy-MM-dd HH:mm:ss.SSSZ
TREP Subscribing Adapter Recognizes New Message Structure

The Service Provider Status for the TIBCO StreamBase Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe has been updated to handle the new Thomson Reuters message structure while remaining compatible with the old structure.

UBS FIX Adapter Schema Updated

The schema for market data requests in the UBS FIX adapter was updated to match version 1.19 of the UBS specification.

EBS FIX Adapter Protocol Updated

The ICAP/EBS adapter was updated to use version 1.6 of the EBS FIX specification.

Updated JDBC Query Sample

The StreamBase JDBC Query sample explaining how to use JDBC data sources was completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.

Updated TopN Query Sample

The StreamBase TopN Query sample was revised and made easier to use by making its Query Table self-loading and with a simpler schema. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.

Documentation Updates

The StreamBase documentation for release 7.3.12 includes all the documentation updates reported for release 7.2.15. Specific updates include:

  • The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.

  • An explanation of configuring clients and servers to run on SSL connections using the sbs:// protocol was added. See SSL Authentication in StreamBase References.

  • The Authoring Guide topic Using Stored Procedures was updated. It now references examples used in the new JDBC Query sample.

What Was New in StreamBase 7.3.11

Fixes

StreamBase 7.3.11 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.11 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.

New and Updated Features

StreamBase 7.3.11 adds the following updates and new features:

Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator

Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:

  • Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.

  • XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.

  • Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.

  • Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.

See Using the XML to Tuple Operator in the Authoring Guide for more information.

Change Log Level at Runtime in FIX Adapter

Users of FIX Adapters and Trading Components Handlers now can set the log level of a venue at runtime by issuing setLogLevel commands to a control port. Tuple values for the optional Log input field can dynamically set a log level and also control filtering of incoming and outgoing messages. For details, see Adapter Ports And Schemas in the FIX Adapter documentation.

New EMS Reader and Writer Adapter Pair

The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.

Email Sender Adapter Supports Attachments

The TIBCO StreamBase® Email Sender adapter now supports attachments, identified by a static set of file names, a list of file names provided in a designated input field, or both.

Syntax Support for JMS Reader and Writer Configuration Files

The StreamBase Studio XML editor now provides syntax highlighting and autocompletion when editing JMSReader and JMSWriter adapter .jmsconf configuration files.

Enhancements to File Reader Adapter

The following properties were added to the File Reader Input adapter:

  • A Charset property to support reading different character set encodings

  • A PassThroughFields property to enable replicating input tuples in the output fields

  • A FilenameField property to indicate which passed-through field contains the input file name

  • A FileContentsFieldName property to indicate the output field that holds the file contents when input fields are passed through.

Documentation Updates

The StreamBase documentation for release 7.3.11 includes all the documentation updates reported for release 7.2.15.

What Was New in StreamBase 7.3.10

Fixes

StreamBase 7.3.10 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.10 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

Updates to Packaging

The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.

New and Updated Features

StreamBase 7.3.10 adds the following updates and new features:

Status Port Added to StreamBase Admin Operator

The StreamBase Admin operator now has an optional status port that can be enabled to allow the operator to output status tuples to give the user more information during processing. Status tuples for the operator will be emitted for errors and rejections of input tuples. A rejection status tuple will be emitted if there is a problem validating the input tuple. An error status tuple will be emitted if there is an error during processing. Note that errors will also be emitted from the Error Output port, if it is enabled.

On Mac, Use Cmd+R to Refresh Studio Typecheck Environment

The OSX shortcut to refresh a Studio project's Typecheck Environment has changed to Cmd+R, replacing the previous key binding of Cmd+F5, as Apple uses that to toggle VoiceOver.

Smarter Filter for Studio Function Chooser

Searching for appropriate functions in the StreamBase Studio Function Chooser yields more pertinent results because it now matches your search term with any sub-string of a function name, not just initial sub-strings.

Parse JSON Strings in Non-Strict Way

The new parsejson_loose() function works similarly to the existing parsejson() function, but can (within reason) ignore JSON elements that do not conform to the schema definition provided.

Configure SBD with Separate Passwords for Key and Keystore Authentication

StreamBase Server configuration files can now have an optional key-password child XML element under the ssl-authentication XML element. Call the new Java Client API method, StreamBaseURI.getKeyPassphrase(), to return the passphrase of the keystore key (defined by the keypass URI parameter). The existing StreamBaseURI.getKeystorePassphrase() method returns the passphrase of the keystore file (defined by the keystorepass URI parameter). For backward compatibility, the keystore password is used to access the key if the key password (the keystorepass parameter) is not present. In that case, StreamBaseURI.getKeystorePassphrase() returns value of the keypass URI parameter.

For details, see the StreamBase Server Configuration File XML Reference and the Java API Guide documentation.

Specify Timestamp Format for CSV File Writer

You can now format timestamps output from the TIBCO StreamBase CSV File Writer. The new Timestamp Format field on the Record Formatting tab specifies the formatting of timestamps when Add Timestamp is set to Prepend or Append. The default format is yyyy-MM-dd hh:mm:ss.SSSZ.

New Sample for Using LDAP authentication with Active Directory

The LDAP Authentication sample demonstrates using Active Directory to limit access to certain StreamBase commands to users who can provide authentication credentials associated with one of the StreamBase roles.

New Adapter Monitors Data Base Transaction Activity

The TIBCO StreamBase® Database Change Data Capture Input Adapter allows a StreamBase application to monitor changes to an Oracle or SQL Server database. It detects when records are inserted, updated, or deleted in a database table and can be customized to report changes to particular table columns.

New File Writer Adapter and Sample

The new TIBCO StreamBase® File Writer Output Adapter writes tuples or single fields from a stream to a file. A sample application has been added that illustrates its use.

File Reader Adapter Updates

The TIBCO StreamBase® File Reader adapter now supports GZIP-compressed files. In addition, its Control and Status ports now have properties that let them be disabled. They are still enabled by default.

Improvements to Web Reader

The TIBCO StreamBase® Web Reader input adapter has new functionality and associated properties:

  • Basic authentication with username/password

  • Connection and read timeout

  • Output a tuple for each line of data received from the server

  • Automatic GZIP and Deflate decompression

Updates to EBS Live XML Input Adapter

The EBS Live XML input adapter now has an optional status port which, if enabled, emits tuples on connection state transitions. Reconnect logic is included in this update.

Log Adapter Can Compress Repetitive Messages and Accept Expressions

The TIBCO StreamBase® Log File Output Adapter has a new option allowing the end user to compress frequent messages. Activating the Compress Frequent Messages property compresses messages within a specified number of seconds (the Max window size property). If the Ignore Timestamp Fields option is enabled, compression will take place without regard to timestamp fields, which can change for each tuple.

In addition, new properties have been added for setting the logger name and for specifying a custom format using StreamBase expression language. For details, see the Log Output Adapter documentation.

MQ Output Adapter Can Queue Tuples when Server Connection Fails

The IBM WebSphere MQ Output Adapter now has a Queue When Connection Down property that causes it to queue rather than reject tuples when the connection to the MQ server is down. When the connection is restored, the queued tuples get processed.

New TREP Subscribe Adapter Property to Control Message Logging Level

The TIBCO StreamBase® Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe now has a Display Already Subscribed Messages At Debug Level property on its Debug tab that causes already-subscribed messages to be logged at DEBUG rather than INFO level.

StreamBase-to-StreamBase Adapter Provides Defaults for Host and Port

The TIBCO StreamBase® StreamBase-to-StreamBase input and output adapter host and port properties now default to localhost and 10000, respectively.

New Fields for ActivFeed Input Adapter

Two optional special fields were added to the TIBCO StreamBase® ActivFeed input adapter: UPDATE_EVENT_TYPE and UPDATE_EVENT_TYPE_NAME, which receive the numeric value and name of the event type of update messages.

Ports and Link Field Added to RSS Reader

The TIBCO StreamBase® RSS Reader now has status and command ports. It can also now insert the RSS Feed link into each item output to allow tracing back to the feed it came from.

Support for Sybase RAP Removed

Support was removed for connectivity to Sybase RAP native databases.

Documentation Updates

The StreamBase documentation for release 7.3.10 includes all the documentation updates reported for release 7.2.15.

What Was New in StreamBase 7.3.9

Fixes

StreamBase 7.3.9 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.9 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.3.9 adds the following updates and new features:

CSV File Reader Property to Preserve White Space

The CSV file reader adapter now has a Preserve Whitespace property, which, when enabled, preserves leading and trailing white space in string fields. For backward compatibility, the property is disabled by default.

New Adapters

The following pairs of adapters have been added to enable two-way socket communication for various data encodings:

  • TIBCO StreamBase® Adapter for FXSpotStream

See the Adapters Guide for details on the new adapters.

Deprecated Adapters

Support for the following adapters is now deprecated:

  • Wombat MAMA input adapter MAMA versions 3 and 4

  • Wombat MAMA output adapter MAMA versions 3 and 4

Documentation Updates

The StreamBase documentation for release 7.3.9 includes all the documentation updates reported for release 7.2.15.

What Was New in StreamBase 7.3.8

Fixes

StreamBase 7.3.8 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.8 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.3.8 adds the following updates and new features:

FTP Operator Improvements

The FTP Operator in StreamBase Studio now has equivalent functionality to the SBX FTP operator. The new features are:

  • An option to allow for asynchronous or synchronous operations

  • An option to allow for reading the local file as a resource file

  • An option to set the buffer size of the FTP operation to accelerate FTP transfers

  • An optional output port to emit tuples describing transfer progress

Two New sbconf Parameters for Restoring Failed JMS Server Connections

When using JMS container connections, in the event the JMS server becomes unavailable the container will retry 10 times to reconnect, waiting 5 seconds between each try. You can override this behavior by setting the following values in sbd.sbconf:

<jms-connections-defaults> 
   <param name="server-num-retries" value="XX" /> 
   <param name="server-reconnect-interval" value="YY" /> 
</jms-connections-defaults> 

XX is the number of retries (0 means no retries, max value is 2147483647) and YY is the number of seconds to wait between retries.

Disable Timeout for Spotfire Automation Services Adapter

If you want to disable the Connection Timeout property of a TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services, You can now specify 0 for its value.

File Reader Can Now Map Single Lines of Text to Tuples

The File Reader input adapter has a new property, One Tuple Per Line, which is disabled by default. If you enable it, a tuple is emitted for each line read from the file. When disabled, the entire file contents is emitted in a single tuple.

New Socket Adapters

The following pairs of adapters have been added to enable two-way socket communication for various data encodings:

  • TIBCO StreamBase® Bi-Directional Socket Reader Adapter

  • TIBCO StreamBase® Bi-Directional Socket Writer Adapter

  • TIBCO StreamBase® Bi-Directional BLOB Socket Reader Adapter

  • TIBCO StreamBase® Bi-Directional BLOB Socket Writer Adapter

  • TIBCO StreamBase® Bi-Directional CSV Socket Reader Adapter

  • TIBCO StreamBase® Bi-Directional CSV Socket Writer Adapter

  • TIBCO StreamBase® Bi-Directional JSON Socket Reader Adapter

  • TIBCO StreamBase® Bi-Directional JSON Socket Writer Adapter

  • TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Reader Adapter

  • TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Writer Adapter

See the Adapters Guide for details on the new adapters.

Deprecated Adapters

Support for the following adapters is now deprecated:

  • Wombat MAMA input adapter MAMA versions 3 and 4

  • Wombat MAMA output adapter MAMA versions 3 and 4

Azul Zing System Tools Updated to 5.2.7

If you use Zing, run the sb-install-zing-system-support command to update to the new version of Zing System Tools (ZST).

Due to limitations in some implementations of the rpm command, the TIBCO StreamBase Zing RPM no longer performs a check of Zing system support during installation, because it fails on certain versions of Red Hat Linux. To be confident about your Zing system configuration after an installation or upgrade, run /opt/streambase/bin/sb-install-zing-system-support check and pay attention to the messages that it issues.

Documentation Updates

The StreamBase documentation for release 7.3.8 includes all the documentation updates reported for release 7.2.15.

  • The article Installing and Running StreamBase on 64-Bit Windows has been removed from the Install Guide and its contents incorporated into Installing StreamBase on Windows.

What Was New in StreamBase 7.3.7

Fixes

TIBCO StreamBase® CEP 7.3.7 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.7 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.3.7 adds the following updates and new features:

New Operators

StreamBase 7.3.7 delivers new operators:

New Operators

StreamBase 7.3.7 delivers several new operators:

  • TIBCO StreamBase® Operator for TIBCO ActiveSpaces connects to an ActiveSpaces Metaspace and Space and allows your StreamBase application to exchange tuples seamlessly with the Space.

  • The TIBCO StreamBase FTP operator is a global Java operator that provides a way to run FTP commands through a Java-based FTP client.

New Input and Output Adapters

StreamBase 7.3.7 delivers new input and output adapters.

  • TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services is used to post job execution, launch, and status requests to a TIBCO Spotfire® Automation Services server.

  • TIBCO StreamBase® Adapter for UDP is an embedded adapter that can send and receive data from a UDP port.

    • The UDP Receiver receives raw string data by listening on a UDP port.

    • The UDP Sender writes string data through a socket to another machine or process.

  • TIBCO StreamBase® Input Adapter for TIBCO FTL® and the TIBCO StreamBase® Output Adapter for TIBCO FTL® are embedded adapters that can receive and publish FTL messages.

LiveView Connectivity for StreamBase Applications

LiveView has adapters that simplify using LiveView Server with EventFlow applications.

  • The LiveView Query adapter allows a StreamBase application to register ad hoc queries with LiveView servers and receive snapshot and real-time results.

  • The LiveView Ready adapter informs a StreamBase application when the configured LiveView Server is ready, and when it changes to not ready.

  • The LiveView Delete adapter allows a StreamBase application to delete LiveView table rows based on a predicate.

  • The LiveView Publish adapter adapter allows a StreamBase application to publish data to LiveView tables.

The product sample demonstrating the adapters is available to customers who have LiveView 1.5.1 or higher installed.

Studio: Improved Feed Simulation Editor Column/Field Matching 

When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.

Improved Defaults for Feed Simulation Data File Options Dialog 

When setting up a feed simulation from a CSV file, the option Map data file columns to sub-fields now only appears when the stream's schema includes sub-tuples and a CSV file is selected. By default, the option is enabled if the CSV file contains flattened data and not enabled if it contains hierarchical data. These changes decrease the chances of setting the option incorrectly.

Improved Defaults for StreamBase Unit Test Wizard

The StreamBase Unit Test Wizard now has improved default settings.

  • The default source folder and application to be tested are determined from the currently selected (or currently running) EventFlow application.

  • The package and source folder for any project applications, if created, will be the default package and source.

  • The test name will have default value ApplicationNameTest.java.

See Creating and Running StreamBase JUnit Tests for more information on StreamBase JUnit tests.

Improved Date and Time Conversion for .NET API

In the .NET Client API, the Timestamp class has been changed to better handle conversions to and from .NET DateTime objects. Specifically:

  • The Timestamp.ToDateTime() method has been deprecated.

  • A new method, DateTimeOffset Timestamp.ToUTCDateTimeOffset() has been added to replace the deprecated ToDateTime() method.

  • Another new method, DateTime Timestamp.ToLocalDateTime() has also been added for convenience.

Icon for Runtime Schema Cast Java Operator

The Runtime Schema Cast Operator in the Java Operators group, which casts its input schema to its configured target output schema at run time, now has its own icon, as shown here.

Cloning of Customized Server Configuration Files

Placing a copy of a .sbconf file that you have edited to include customized defaults into your SBHOME/etc/ folder and renaming it to studio-sbd.conf now enables the Configuration File Wizard to copy it into a project instead of generating a skeleton configuration file with standard defaults. For more information, see Cloning Customized Configuration File Default Contents in Studio.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. (which originally was incorrectly announced in release 7.3.4 as 1.6.0_43). As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Java Compiler Compliance Level Is now 1.6

StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.

Heap Size now explicitly set to 1 GB for StreamBase Java-Based Commands

StreamBase Java-based commands such as jsbc, jsbadmin, and sbprofile now have a default maximum heap size of 1 GB when launched on 64 bit systems.

New System Property Extends Control over Logging Level Verbosity

A new system property, streambase.decouple.operator.log-level, enables operator and adapter logging levels to be set independently of the system logging level. Its default is false, which keeps the old behavior whereby operators and adapters use the more verbose setting of the component's or the system log-level property value. When set to true, operator and adapter logging verbosity can be set lower than the system logging level.

New Property to Configure Log Adapter without an Output Port

The log adapter now has an Emit Logged Tuples property, which is enabled by default. Disabling this property causes the adapter not to have an output port and not to emit logged tuples.

New Property Enables TIBCO Rendezvous Subscribing Input Adapter to Use Per-Instance Event Queues

The TIBCO Rendezvous Subscribing Input Adapter now has a Use Unique Queue property, which, if enabled, causes the adapter to use a per-adapter-instance event queue rather than the default Tibrv event queue. Using per-instance queues can lower latency in some situations.

New CSV File Writer Adapter Timestamp Option Enables Easy Feedsim Creation

The Use Formatted Timestamps checkbox has been deprecated.

A new Timestamp option has been added as a drop-down list box, with choices Prepend, Append and None (default). Use this control to optionally add a timestamp to the beginning or end of each CSV row.

Adding timestamps enables applications to record data from any input or output stream in a top level application or exposed, in a format suitable for playback. Use the timestamped CSV files for feed simulations to play back streams you recorded in real time.

While an application is running, you can tell sbadmin to capture CSV files from input or output streams by issuing commands such as:

  • sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Append)=default.Out

  • sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Prepend)=default.Out

  • sbadmin modifyContainer default addConnection '(csvfile://trades.csv.gz?AddTimestamp=Append;CompressData=true;RollPeriod=Hourly)=default.TradesInput'

For more information, see CSV File Writer Output Adapter.

Specify Field Names Directly in Log Output Adapter Custom Message Formats

As an alternative to specifying fields in a Custom Message Format via a numeric index ({0}, {1}, etc.), you can now use field names ({price}, {symbol}, etc.) directly. Custom Message formatting supports escaped field name identifiers but not expressions.

StreamBaseFIX Adapter Custom Dictionary Locations Can Be Specified

The StreamBaseFIX configuration file now supports an entry named <dictionary-file> (which is only meaningful when <dictionary> is also specified) to allow users to specify a non-standard name or location for the dictionary file. Previously, StreamBase assumed that custom dictionaries were located in the fixaj-dictionaries folder.

  • If the value of <dictionary-file> is unspecified, the usual behavior is applied (a file called "fixaj-dictionaries/XXXDictionary.xml", where XXX is the value of the <dictionary> setting, is loaded from the classpath).

  • If the <dictionary-file> value is an absolute path, this file is loaded.

  • If the <dictionary-file> value is a relative path, this file is loaded from the classpath.

Parameter to Identify Stale Tiers in Deutsche Bank AutobahnFX Market Data Adapters

The Trading Components DB-Rapid venue can now output missing depth tiers as zero price items as part of the DepthOfBook message when an item becomes stale. This functionality is disabled by default. Add the parameter OutputMissingTiersAsZeroPriceItems to the instance and set it to true to enable this feature.

Attribute Info Support for Thomson Reuters Real-Time Publishing and Subscribing Adapters

A new option on the Adapter Properties tab of the TREP-RT Subscribing adapter, Include AttribInfo In All Updates, adds AttribInfo into all update and refresh messages sent to its subscribers. Receiving this data causes the publishing adapter to include AttribInfo in all messages.

List Support for Thomson Reuters Real-Time Subscribing Input Adapter

The Tuple Properties tab has two new options:

  • Output Info Query as List enables the adapter to output Market Data streams as single tuple with a list of market data for each subscription refresh, update, or delete message received, instead of multiple tuples with a complete flag.

  • Output Market Data as List enables the adapter to output Info Query streams as one tuple per subscription, dictionary, or dump item containing a list instead of multiple tuples with a complete flag.

Thomson Reuters Schema Designer and Subscribe Adapter Maintain Fractional Prices as Strings

When looking up fields, the Thomson Reuters Schema Designer now automatically detects fields with fractional pricing, and adds both the double and string fields to the available fields users can select to create a schema. For example, if the BID field indicates a price of 88 3/32, the field list will now contain a BID field of type double and also a BID_as_string field of type string. The Thomson Reuters subscribe adapter now also automatically maps any field in the schema with an "_as_string" suffix to the string representation of that field.

Exegy Input Adapter Updates

The Exegy library has been updated to version 3.1.11. You must upgrade your installation's Exegy library to this version in order to use this adapter.

A new property, Include Subscribe Pass-Thru Field, has been added. When enabled, the Subscribe stream schema is expected to include a field of any type named PassThru, which is is passed through to the Equities, PriceBook, and Commodities output ports.

A new property, Include Basket Pass-Thru Field, has been added. When enabled, the Basket stream schema is expected to include a field of any type named PassThru, which is is passed through to the BasketUpdates and BasketNav output ports.

For other Exegy input adapter updates, see Fixed in 7.2.15 release notes.

New Property in IBM WebSphere MQ Output Adapter

The IBM WebSphere Output Adapter has a new property, Quick Connection-Down Detection. If enabled, the adapter polls the base queue periodically to quickly detect connection-down conditions.

Wombat Publishing Adapter Supports Now Handles Array Types

The Wombat Publishing adapter can now send messages using any of the ARRAY types, as well as the VECTOR_MSG, and VECTOR_STRING type. Types are mapped as follows:

  • VECTOR_MSG = List<Tuple>

  • VECTOR_STRING = List<String>

  • I8ARRAY = Blob or List<Integer>

  • U8ARRAY, I16ARRAY = List<Integer> (Integer converted to short which may cause data loss)

  • U16ARRAY, I32ARRAY = List<Integer>

  • I64ARRAY, U32ARRAY, U64ARRAY = List<Long>

  • F32ARRAY, F64ARRAY = List<Double>

AppiaFIX and ORC CameronFIX Engine Support Removed

As of this release, these FIX engines are no longer supported. Use StreamBaseFIX or QuickFIX/J instead.

Documentation Updates

The StreamBase documentation for release 7.3.7 includes all the documentation updates reported for release 7.2.15.

  • Typographic errors and obsolete information were corrected in sections of Getting Started with StreamBase Studio (especially in the tutorial Creating Your First StreamBase Project) to bring instructions up to date, and illustrations were updated to make them consistent with the appearance of the current version of StreamBase Studio.

What Was New in StreamBase 7.3.6

Fixes

StreamBase 7.3.6 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.6 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.14, 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.3.6 adds the following updates and new features:

New String[][] Property for Java Adapters and Operators

Java operators and adapters may now have properties of type string[][]. Only lists of pairs of strings are supported (that is, string[n][2]). Use this property type to allow a user to provide a list of string pairs without requiring unique key values, such as Map property types must have.

Updates to FIX Market Data Handler

The following enhancements were made:

  • An OrdRejReason field was added to the base FXExecutionReportSchema

  • A new constant command, EXEC_CMD_STATUS, was added to SharedSchemas.sbapp be used to request order status.

Updates to Morningstar Quotes Feed Input Adapter

The Morningstar Quotes Feed Input Adapter has new properties that allow you to connect and disconnect from the Morningstar servers without stopping your application.

Documentation Updates

The StreamBase documentation for release 7.3.6 includes all the documentation updates reported for release 7.2.14.

What Was New in StreamBase 7.3.5

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.3.5 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.5 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.13, 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.3.5 adds the following updates and new features:

Improved Aggregate Operator Predicate Dimension GUI

A new Edit Dimension dialog for the Aggregate operator predicate dimension clarifies options for closing and emitting tuples for the current group and all groups of windows. In addition, all emit and close predicates can now be either simple or aggregate expressions. The new dialog is illustrated and described in the updated page Aggregate Operator: Predicate-Based Dimension Options in the StreamBase Studio Authoring Guide.

Zoom-to-Fit Keyboard Shortcut Ctrl-0

Beside pressing the zoom-to-fit icon in the StreamBase Studio editor to show the contents of an entire EventFlow diagram, you can now press Ctrl-0 (zero). On the Mac, press Command-0.

Control over Fonts for Notes in StreamBase Studio Editor

You can now display notes in EventFlow diagrams using any available font. The default is the font used to display text in the editor view. To change the font used for notes, go to WindowPreferences, then select General AppearanceColors and FontStreamBaseEventFlow EditorEventFlow Editor Notes, and then click Edit. The example note displayed below uses the Segoe Script font.

This preference is global, so that all notes in all projects display the selected font until you change it.

Abbreviated Field Values and Blob Display in StreamBase Studio Test/Debug Perspective

The debugging Variables view includes a row for each tuple field. Previous to this release, the text appearing in a row's value cell was a complete representation of the data it contained, except for data in cells containing blobs, which was not displayed at all. Creating textual representations of large sub-tuples and lists could cause debugger performance problems, because the time to calculate strings was proportional to the size of the fields. Now, text for fields of type sub-tuple and list is intentionally abbreviated, and the code to calculate that text executes much faster, both in StreamBase Studio and StreamBase server. Also, cells containing blobs now indicate their content. You can control how that content displays by setting preferences. Go to WindowPreferencesStreamBase StudioTest/Debug to set the Display blobs as hex or ASCII characters option and specify the Maximum blob characters to display.

You can always view the full values of abbreviated tuples by selecting a row in the Variables view. The Details pane at the bottom of the Variables view displays a textual representation of all of the selected row's data.

Maven Repository for StreamBase Artifacts

Version 7.3.5 ships with a local repository of Apache Maven artifacts for StreamBase. There are artifacts for the StreamBase Client library, the StreamBase Test Support library, and a third one for the embedded server. These artifacts are provided under your StreamBase installation directory, in STREAMBASE_HOME/sdk/maven/repo.

For information on using this repository with your own projects, see StreamBase Maven Artifacts in the API Guide.

Change to vwap Aggregate Function

In previous releases, the vwap function would return NaN if all volumes were zero or if there were no entries in the window. The function has been updated to return null, matching the behavior of avg.

Enhancements to Log Adapter

The Log adapter has two new options:

  • An option to emit the contents of blobs as hex characters. In the Log Adapter Properties pane, select Hex encode blobs to enable this feature. By default, the checkbox is cleared and blob content is output as a String, which may be unreadable.

  • An option to override the Log Level you set for the adapter on a per-tuple basis. In the Log Adapter Properties pane, use the Log Level Override Field to specify the name of a field in a logged stream that contains log level information. The field can contain any of the following values: Error, Warn, Info, Debug, or Trace. Any other value, including null, causes the adapter use the configured log level for that tuple.

New SNMP Input Adapter

The SNMP input adapter allows a StreamBase application to act as an SNMP manager for receiving SNMP v1 and v2c traps.

New Syslog Adapter

The Syslog input adapter allows a StreamBase application to act as a Syslog collector for receiving syslog messages.

Enhancements to Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter

The TREP-RT RMDS subscribe adapter now has a Download Service(s) property that lets users restrict the set of Thomson Reuters services from which data dictionaries are downloaded. In addition, Multiple instances of the adapter within a StreamBase application can now share downloaded and locally-loaded data dictionaries.

Thomson Reuters Enterprise Platform Real-Time adapters Library Update

The RFA/Java library, rfa.jar, used by TREP adapters has been upgraded to version 7.2.1.

Added Event Port and Properties for Regex File Reader

The Regex File Reader adapter now has an optional event port, enabled by a new Start Event Port property. It also has a Map Control Port to Event Port property, which can be used to include control port input tuples in event port tuples. The Start Control Port and Start Event Port properties must be enabled to enable the Map Control Port to Event Port property.

Web Reader Input Adapter now Handles HTTP POST Requests

The embedded Web Reader input adapter now supports HTTP POST as well as HTTP GET. Two new examples were added to the Web Reader Samples illustrating how to handle POST and SOAP requests.

Two New Properties Added to Hotspot FX Trading System Adapter
  • A Receive BBO Only property that can be used to receive only the best bid and offer in the book

  • A Connect On Startup property that can be used to prevent the adapter from connecting to the Hotspot FX server on start-up

Updates to DB Rapid FIX market data handler
  • The TargetSubID (57) field in Market Data Request (V) messages are no longer included.

  • Quotes with MDEntrySize=0 are now discarded (pulled off the market).

Updated xml-to-tuple Operator Samples

The XML to Tuple and Tuple to XML Operator Sample group has been reorganized as five sample applications, four of which have been redesigned:

  • tuple2xml-attributes.sbapp

  • tuple2xml-datatypes.sbapp

  • xml2tuple-attributes.sbapp

  • xml2tuple-datatypes.sbapp

  • xml2tuple-fixml.sbapp

The two -attribute variants illustrate generating and parsing XML attributes. The two -datatype variants illustrate using fields with a variety of StreamBase data types, including primitive types, lists, and nested tuples. xml2tuple-fixml.sbapp demonstrates how to parse a FIXML message.

The two tuple2xml samples now have two input streams each, one which runs through a map operator to supply default values for any tuple fields containing null, and a second which leaves the user's input unchanged. The three xml2tuple sample applications can now be fed from either new canned XML file read by the file reader adapter or from a user-supplied XML string through an alternate input stream (which is used by the automated tests as well). A note on each sample sbapp canvas describes what the sample does and how the canned data is supplied.

New Embedded StreamBase Server Sample

Calling an Embedded StreamBase Server from Java, has been added to the Client Libraries group of StreamBase samples that demonstrates how to run applications in an embedded StreamBase Server inside a JVM. Loading the sample opens a cheatsheet to guide you through it.

Deprecated and Removed Features

The functions getInputTuplesEnqueuedTotal() and getInputTuplesDequeuedTotal() in class OperatorInfo have been deprecated and will be removed in a future release. Their replacement functions, getTotalInputTuplesDequeued() and getTotalInputTuplesEnqueued(), provide the same information but return longs instead of ints. Functions have also been added for getting tuple counts for individual ports.

Azul Zing Upgrade to Version 5.6

If you use the bundled Zing JVM from Azul Systems, you must upgrade the Zing system with the sb-install-zing-system-support install command, because the Zing license used with the version requires it. If you do not, you will get a license failure on StreamBase startup.

Trading Components Frameworks Updated to Support Forwards and Swaps

The Trading Components Framework now provides extra data for swaps and forwards. To support this change, the FX handlers of the Trading Components Framework have an additional schema field, SettlDateFar, for the settlement date for the far leg of swaps.

Documentation Updates

The StreamBase documentation for release 7.3.5 includes all the documentation updates reported for release 7.2.13, as well as the following:

  • A new page of information describing how to obtain Live Server Configuration, Status, and Events, in the Authoring Guide

  • An expanded discussion and examples for Client Access to Capture Fields in the API Guide

What Was New in StreamBase 7.3.4

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.3.4 was a maintenance release that included no significant bug fixes. For information in known issues in other releases, see the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.

New and Updated Features

StreamBase 7.3.4 added the following updates and new features:

Functions and Language Features to Support Binary JSON (BSON) Data

A new set of functions and built-in language features ease the use of StreamBase blobs to store BSON (binary serializations of JSON-like documents) data. Within BSON blobs, StreamBase ints, longs, doubles, strings, timestamps, and blobs map to their respective BSON scalar types, nulls map to nulls, lists map to arrays, and tuples map to objects. The BSON functions consist of:

addbson() Adds a new field at the end of a BSON array
bsontojson() Converts BSON to a JSON-formatted string
findbson() Searches a BSON object for a specified array index or field name
frombson() Converts a BSON blob to the requested StreamBase type
joinbson() Concatenates a list of BSON fields into a BSON object
jsontobson() Converts a JSON string to a BSON blob
lenbson() Returns the length of a BSON object or array
listbson() Accelerator for constructing a (possibly heterogeneous) BSON array, similar to a StreamBase list
namebson() Returns the name of a BSON field
putbson() Adds a new field to a BSON object
removebson() Removes fields or list elements from BSON blobs
splitbson() Returns a list of BSON fields from a BSON object or a list of BSON values from a BSON array
tobson() Converts StreamBase values to a BSON blob
tuplebson() Accelerator for constructing a BSON object from comma-separated AS expressions

Associated language features include:

  • The '.' component reference operator on a blob now selects a field, assuming the blob is a BSON Object

  • the [] array reference operator on a blob now selects a field either by numerical or string index, assuming the blob is a BSON Object

  • int() long() and double() now can take in a BSON blob version of their respective types, and return the StreamBase type

You can find the BSON specification at http://bsonspec.org.

Gain FIX Input Adapter

The Gain GTX FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by GAIN Capital, and to exchange FIX messages with it.

File Reader Input Adapter

The File Reader input adapter reads a text file and emits a tuple with a string field containing the entire contents of the file. The adapter can be configured to read a file at start-up or in response to the receipt of a tuple on its control input port.

.NET Redistribution Installer Removed

As deploying Microsoft .NET client applications from StreamBase Studio has been greatly simplified, it is no longer necessary to use the StreamBase Redistributable Installer. The simplified deployment process was introduced in StreamBase 7.3.0, and requires a .NET 4.0 or later framework on each client machine you deploy .NET applications to. As of this release, the Redistributable Installer has been eliminated and the .NET client documentation updated accordingly.

For information on .NET application deployment, see Creating StreamBase .NET Clients in the StreamBase documentation.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates

The StreamBase documentation for release 7.3.4 includeed all the documentation updates reported for release 7.2.11, as well as the following:

What Was New in StreamBase 7.3.3

Fixes

StreamBase 7.3.3 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.3 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.

New and Updated Features

StreamBase 7.3.3 adds the following updates and new features:

New Splash Screen and Application Icon for StreamBase Studio

StreamBase Studio now has a redesigned splash screen and program icon.

Documentation Updates

The StreamBase documentation for release 7.3.3 includes all the documentation updates reported for release 7.2.11, as well as the following:

  • Documentation for using the Trace Debugger has been expanded to describe its usage and user interface features.

What Was New in StreamBase 7.3.2

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.3.2 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.2 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.

New and Updated Features

StreamBase 7.3.2 adds the following updates and new features:

Beta Feature: .NET Operator

This release includes a preview of the .NET operator, which is expected to be added to a future release. StreamBase Studio projects can reference Microsoft .NET assemblies with the .NET operator on the Operators and Adapters palette (keyboard shortcut O.). It is a global Java operator that can load client code in the form of a .NET assembly, instantiate a class within that assembly, pass it incoming tuples, and optionally emit tuples provided by the .NET client code. For more information, see Using the Microsoft .NET Operator in the Authoring Guide. Contact StreamBase Support if you have questions or feedback regarding this feature. Until it is fully released, do not use this feature in production deployments.

Changes to Query Table Indexes, expressions and operators
  • Query tables can be indexed with expressions. Primary keys allow you to index on subfields. Secondary keys allow you to index on subfields and expressions that contain at least one table field.

  • Query table "in" functionality that is more efficient than a table scan. You can use one-field keys, i.e.

    contains(list(3,4,5), key) 
    

    or multi-field keys, i.e.

    contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2)), tuple(k1, k2))
    
  • table "or" functionality that is more efficient than a table scan, e.g. a == 3 or b < input.c, or cases such as:

    (a == 2 or a > 10) and length(s) == 4
    
Keyboard Input of Feed Simulation Speed Factor

In addition to being able to set the speed of a feed simulation with a slider, you can now type a speed factor in the text field to the right of the slider, which is now editable. This lets you simulate at any relative feed rate. The rate you specify can be higher than 25x, which is still the maximum that the slider enables.

Manual Input in JSON Mode

The Manual Input view now has a round button at at the upper right of the toolbar for manually enqueuing JSON data. Switch to this mode to enter one or more tuples in JSON syntax. Send the data with the Send Data button or by pressing CTRL+Enter.

Log Adapter Option to Omit Quotes around Nulls in String Tuple Fields

You can now control how the Log Output Adapter treats null values within string fields of tuples it logs to the Console. That is, a field of type string that contains a null character can be displayed in the Console as either null or "null". The quoted form is ambiguous, as it could either signify a string field has a null value or is a string containing the characters null. Now, in the Adapter Properties tab, when you select the Display Tuple Field Names check box, a new check box beneath it is enabled. This check box, Quote Null Strings, is by default selected, so as to preserve the adapter's existing behavior. To omit quotes around null strings, turn off the Quote Null Strings option by clearing the check box.

Comparing Timestamps and Literals with Relational Operators

When comparing a timestamp with a string literal, the operators ==, !=, <=, >=, <, and > now attempt to interpret the string literal as a time. If this fails, the comparison fails to typecheck. If the string literal does not contain an explicit time zone, it is assumed to have the time zone set in the operating system of the computer compiling the application.

New Attribute Fields Property for Tuple-to-XML Operator

The tuple-to-XML operator now has an Attribute Fields property that can be used to specify a comma-delimited list of fully-qualified tuple field names that should generate XML attributes rather than sub-elements. For example, if the XML generated by the operator for a given input tuple is:

<Top><s>This value comes from tuple field Top.s of type string</s></Top>

Adding Top.s to the Attribute Fields property would result in the following XML:

<Top s="This value comes from tuple field Top.s of type string"></Top>
New Aggregate Operator Predicates to Emit and Close All Windows

Aggregate now has predicates to emit and close all windows. You can use this feature in an application that groups tuples to clean up when a specified condition occurs (such as market close), by emitting and/or closing all the windows.

Three New String Functions

The following Boolean utility string functions have been added:

  • startswith: Determines if a given string begins with another given string, returning true or false.

  • endswith: Determines if a given string terminates with another given string, returning true or false.

  • isempty: Determines if a given string is null or empty, returning true or false.

List Manipulation Updates
  • You can now use expressions such as ["A", "B", "C", "D"] to construct lists of literals, equivalent to list("A", "B", "C", "D").

  • You can now use in as an infix operator to test for list containment. For example, 2 in [1, 2, 3] returns true.

New option to sbbundle to declare Java Classpath Variables

When you use sbbundle to create a bundle that includes projects in StreamBase Studio that use Eclipse Classpath Variables, you can identify one or more of them using the new --classpath-variable (-V) option. The option is described in Application Bundling.

Documentation Updates

The StreamBase documentation for release 7.3.2 includes all the documentation updates reported for release 7.2.11, as well as the following:

  • Previously, when editing Java source files in StreamBase Studio or in Eclipse against the StreamBase Client API Library, certain methods from the client library did not display any javadoc in the Javadoc view or during Content Assist. This has been corrected, as methods that lacked javadoc, while available for the compiler, were internal methods and not part of the public API.

    Studio and Eclipse will now show Javadoc for internal only methods, and the Javadoc for them states that they are not API. Please avoid using non-API methods, as any of them may be renamed or removed without warning.

    Finally, note that the Javadoc HTML documentation pages exclude all internal methods.

What Was New in StreamBase 7.3.1

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.3.1 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.3.1 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.10, 7.1.12, 7.0.12, and 6.6.23.

New and Updated Features

StreamBase 7.3.1 adds the following updates and new features:

Aggregate Operator Updated

The Aggregate operator has two new features for this release. The first is that the input1. prefix is still accepted but no longer required when entering field names in an expression for a predicate-based dimension. The second feature is a new check box in the Edit Dimension dialog for predicate-based dimensions, Evaluate Close and Emit predicates before adding the new tuple to the window. The new check box is described on the Predicate-Based Dimension Options page.

Changes to Maximum Queue Buffer Size

In StreamBase 7.3 and later, when queues begin to grow, each additional buffer is twice the previous buffer size, until a default maximum of 1 GB per buffer is reached. After the limit is reached, each additional buffer requested is capped at the limit size. You can change the limit size by setting the following Java property:

streambase.runtime.stream-queue-max-buffer

See StreamBase Java System Properties for more information on this property.

New Output Added to sbprofile

The output from the sbprofile command now includes the number of tuples delivered for each input/output stream.

New Expression Language Function

The StreamBase expression language includes a new aggregate function, lag(), which returns the next-to-last value for field f in an Aggregate operator's current window or in a Query Table column. If the window or table column has only one row or zero rows, lag() returns null. The function accepts all data types and returns the same type as its argument.

Python Support Updated

This release increments the Python language support in StreamBase in two ways:

  • Support is added for Python 2.7.2 or later on Windows, 64-bit Linux, and OS X.

  • Support is added for 64-bit Python 2.6.6 or later and 2.7.2 or later on Windows.

See Creating StreamBase Python Clients for details.

Client API Updated

New support was added to com.streambase.sb.operator.parameter.UIHints that allows adapter and operator writers to offer String value proposals to the user when typing into a text field. See the UIHints#setProposals() Javadoc for details.

New Saxo Bank FIX Adapter

The Saxo Bank FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by Saxo Bank, and to exchange FIX messages with it.

Character Set Support Added for Several Standard Adapters

Several standard adapters now have two new controls on the Adapter Properties tab of their Properties views. There is a new check box, Use Default Charset, which is selected by default (with one exception, see the XML File Writer adapter note in the next paragraph). When selected, the default behavior of the adapter is to use the JVM default character set. When you want to configure an application to use Unicode support, you need to configure the adapter in addition to configuring StreamBase Server and Studio. When the check box is cleared, you must specify a standard Java character set in the new Character Set field.

This applies to the following adapters: CSV File Reader, CSV Socket Reader, CSV File Writer, CSV Socket Writer, Regular Expressions File Reader, Regular Expressions Socket Reader, and the Web Reader. The exception is the XML File Writer adapter, which does have the new controls, but whose default remains the US-ASCII character set.

CSV Socket Reader Input Adapter Updated

The CSV Socket Reader Input adapter was updated to provide a server mode where the adapter listens on a specified port for incoming connections. In addition, when acting as a client, the adapter now attempts to reconnect if connections fail, using a specified wait period between reconnection attempts. The adapter also has new properties for specifying how to handle incomplete records, and whether to log incomplete record events.

CSV File Reader Adapter Sample Updated

The sample for the CSV File Reader adapter was simplified for clarity. See CSV File Reader Input Adapter Sample.

New Property for CSV File Reader and CSV Socket Reader Adapters

The CSV File Reader Input adapter and CSV Socket Reader Input adapter have a new property, Lenient Parsing, whose default value is true.

FIX Output Adapter Updated

The FIX Output adapter and all adapters that inherit from the FIX Output adapter were updated with the ability to track acknowledgment of the receipt of sent messages. This feature is described in Requesting Outgoing Message Send Confirmation on the FIX Output Adapter page.

Trading Technologies Adapter Updated

The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.1 of the Trading Technologies FIX specification.

Thomson Reuters TREP-RT Subscribing Input Adapter Updated

The Thomson Reuters TREP-RT Subscribing Input adapter was updated such that CLOSED events, including access denied errors, are now logged at the INFO level, in addition to being sent to the adapter's event port.

Studio Now Based on Eclipse 3.8.1

For release 7.3.1, StreamBase Studio is based on Eclipse 3.8.1, which provides some underlying Eclipse bug fixes over Eclipse 3.8.0. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8.1. Earlier Eclipse versions are no longer supported for that purpose.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates

The StreamBase documentation for release 7.3.1 includes all the documentation updates reported for release 7.2.10, as well as the following:

  • The Aggregate operator and its Predicate-Based Dimension Options pages were clarified and corrected.

  • The entry for the expression language's strptime() function was updated to add the %p format specifier, which was silently supported in previous releases, and to extend the description of %H to clarify its use with both 12-hour and 24-hour clocks.

  • The Expression Language, Expression Language Features, and Data Types pages were updated to include the IN operator, square bracket list syntax, and timestamps compared to string literal features added as of release 7.3.0.

  • The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.

  • The FIX adapter's page was clarified with respect to the use of logging options for the QuickFIX/J engine.

  • The Shared Query Table Limitation section of the Using Interfaces with Extension Points page was corrected and clarified.

  • The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.

What Was New in StreamBase 7.3.0

Fixes

StreamBase 7.3.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Inherited from Previous Releases

StreamBase 7.3.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.8, 7.1.11, 7.0.12, and 6.6.22.

The following features were recently added to maintenance releases of previous release series:

New and Updated Features

StreamBase 7.3.0 added the updates and new features shown in the following sections.

 Behavior Changes 
Change to Rolling File Name Feature

This release includes a change to the rolling file name feature used by the CSV File Writer and XML File Writer adapters, and by the sbprofile command. Before this change, the rolled-over file's name represented the beginning of the roll period for weekly rolling, but represented the end of the roll period for daily or hourly rolling. After this change, rolled-over file names represent the beginning of the roll period for all roll periods.

Control Stream Behavior Change

When a container, A, is added to a running StreamBase Server, and that container has a connection to the system.control stream, container A no longer receives the STARTING tuple on the control stream. However, other control-connected containers in the same Server instance do receive the STARTING tuple for container A. See The Container Subsystem.

 New and Updated Features 
New Macintosh OS X Support

Release 7.3.0 adds Macintosh OS X 10.6 Snow Leopard, 10.7 Lion, and 10.8 Mountain Lion to the list of formally supported platforms. See the installation instructions, including the Limitations and Differences section.

TIBCO StreamBase Studio is provided on OS X as a client application to allow users to develop, debug, and test StreamBase applications and client applications. StreamBase installations on OS X do include a local copy of StreamBase Server for running and testing your applications locally, on the same Macintosh computer as Studio. However, StreamBase Server is explicitly not supported for deployment on Apple Macintosh machines.

Aggregate Operator Updates

The Aggregate operator has the following new features for 7.3.0:

New Edit Dimension Dialog

A new Edit Dimension dialog is invoked by using the Add or Edit buttons in the Dimensions tab of an Aggregate operator's Properties view. You specify the dimension type in the Type drop-down list at the top of the dialog, selecting as before between Field, Predicate, Time, and Tuple types. The dialog then reconfigures itself to conform to the selected dimension type:

  • For Field type dimensions, the dialog offers a second drop-down list from which to select field names from the schema of the incoming stream.

  • For Predicate type dimensions, the dialog provides five wide edit fields in which to type expressions. The five fields are the familiar Open, Emit, and Close predicate fields from previous releases, plus the new Emit All and Close All predicate fields discussed below. All five fields have hover text that helps explain how each predicate field is used.

  • For the Field, Time, and Tuple dimension types, the Optional Windows section at the bottom now changes to contents that only apply to the selected dimension type. The wording for the options in this section now does a better job of explaining each option's purpose.

Predicates for Emit All and Close All

In the Edit Dimension dialog for Predicate type dimensions, there are two new predicate fields, Emit All and Close All. These fields are useful for Aggregate operators that have group-by specifications where you want to emit all the windows or close all the windows based on a specific condition (such as market close time).

New Query Table and Query Operator Features

The Query Table data construct and Query operator have the following new features starting with 7.3.0:

Indexes Accept Subfields

If a Query Table's schema includes fields of type list or tuple, you can now use a subfield as the field specification for the table's primary index or one of its secondary indexes.

Secondary Index Accepts Expressions

You can now use an expression as part of specifying the field or fields that comprise a secondary index for a Query Table. The expression must be statically resolvable, and must contain the name of at least one field in the Query Table's schema. There is a new sample in the Operator Sample Group that illustrates this feature. (Note that primary indexes cannot contain expressions.)

New In Functionality

Query operators with an expression that tests whether a value is a member of a list can now proceed quickly, without requiring a full table scan. This includes expressions that use the new in infix operator described below, as well as expressions using contains(). Both single key in operations and multi-key contains() operations experience the speedup:

field-value in [3, 4, 5]
contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2)))
New Or Functionality

Similarly, Query operators with or tests can return results much faster without requiring a full table scan. As long as each part of the or query can be efficiently planned, the whole query can be efficiently planned:

a == 3 or b < input.c

In expressions like the following, the and operator is correctly distributed for efficient planning:

(a == 2 or a > 10) and length(input.s) == 4
Local Variables in Map and Query Operators

You can now declare local variables in operators that have Input Fields, Current Table Fields, or Additional Expressions grids in their Properties views, including Map and Query operators. Local variables are scoped for use in the same grid in that operator only. They can be used to prevent retyping portions of long expressions that are reused throughout the operator.

In grids of these types, the Action field's drop-down list now includes Declare, as well as the previous Add, Replace, and Remove options. When you select Declare, use the Field Name field to specify the name of your local variable, then in the Expression field, define the expression that comprises the variable. These expressions are evaluated once, at operator start time, and the result of that one-time evaluation is used as the value of the local variable thereafter. You can then use the local variable by name in subsequent rows of the same grid.

Refactor-Move More Than One Item

In the Interface tab of the Interface Editor, or in the Definitions tab of the EventFlow Editor, you can now select more than one constant, named schema, or table schema (holding down Ctrl while selecting), before you right-click and select RefactorMove from the context menu. This allows you to move more than one item at the same time to a different interface or EventFlow module.

Compiler Optimizations

This release includes two optimizations for compiling EventFlow modules:

  • Unused field elimination. After parsing the EventFlow modules that comprise an application, the compiler determines whether there are fields declared but never used. If found, it does not generate any bytecode for such fields.

  • Common subexpression elimination. Users dealing with very large schemas might add fields that reference other fields deeply nested elsewhere in the schema, for ease of reference for those nested fields. If the compiler detects cases like this, it converts the pointing field to an internally used alias so that there is no cost to using this feature. This optimization can be disabled by setting the Java system property streambase.codegen.common-subexpression-optimization to false. The default is true.

Reduced Queue Latencies

The buffers that queue data for parallel regions were enhanced with disruptor-style features, resulting in a significant reduction in queue latencies for most applications.

New System Property to Disable Query Table Remote Client Access

A new system property for sbd, streambase.sbd.disable-remote-table-access, disables remote client access to Query Tables. Set this property to true to cause all sbc readTable commands to fail as unrecognized, as well as all client table reads that use the StreamBaseClient.readTable() API.

Suppressing the Subversive Install Connectors Dialog

The Install Connectors dialog is presented by the Subversive Team Provider plug-in included with Studio. If you use the Subversive plug-in, select an SVN Kit Java implementation of the Subversion libraries that match the 1.6.x or 1.7.x release of your Subversion checkouts.

If you are not using the Subversive plug-in, this dialog can come up after you inadvertently open any team provider perspective in Studio. To avoid these inadvertent pop-ups, Studio ships with the Subversive plug-in disabled on Studio startup. This is accomplished with WindowPreferences, GeneralStartup and Shutdown by clearing the Subversive SVN Team Provider UI Plug-in check box. To suppress the Install Connectors dialog, make sure this check box is cleared.

 Command Line Utility Updates 
New Option for sbargen Command

The sbargen command now supports the –q option to suppress compiler warnings.

 Expression Language Updates 

The following changes were made to the StreamBase expression language in release 7.3.0:

  • In comparison expressions that use the operators ==, !=, <=, >=, <, or >, if one side of the comparison is a timestamp, and the other side is a string literal, StreamBase now tries to interpret the string as a valid timestamp. If the string literal does not contain an explicit time zone, the string is interpreted as having the time zone set in the operating system of the computer that compiles the application. If the conversion of the string literal fails, then the comparison fails typechecking.

  • You can now define a list and specify its contents by enclosing a comma-separated set of values in square brackets. For example, [12, 400, 3345] defines and populates a list(int), and ["London", "Paris", "Madrid"] defines and populates a list(string). The bracket syntax is syntactic sugar for list(12, 400, 3345).

  • This release adds in as an infix operator to test for list containment, returning Boolean true or false. For example, the expression 2 in [1, 2, 3] returns true. Notice that in does not enter the list of reserved words for the expression language, and can still be used as an identifier in other contexts. The operator in only becomes an operator in the context of a list containment expression as shown here, with the test value on its left and the queried list on its right. The queried list can be expressed with bracket syntax as above, or can be any expression that resolves to a list.

 .NET API Reworked 

The StreamBase .NET Client Library was extensively reworked for release 7.3.0 and later. As before, you can use the .NET Client Library to create client programs or StreamBase Server monitoring programs, or to incorporate client access or server monitoring into an existing .NET program.

Implementation Changes

Starting with release 7.3.0, using the .NET Client Library requires the .NET Framework 4, and requires using Microsoft Visual Studio 2010, with projects targeted to version 4 of the .NET Framework.

The Windows-native portion of the .NET API is now built with Visual Studio 2010. This means:

  • Using the StreamBase .NET API requires the Visual C++ 10 runtime DLLs. (This requirement was already in place for C++ projects built with Visual Studio 2010 starting with StreamBase release 7.2.0.)

  • The two DLLs that comprise the StreamBase .NET API no longer need to reside in the Global Assembly Cache (GAC). In fact, StreamBase Systems strongly recommends that these DLLs not be installed there.

The names of the two StreamBase .NET API DLLs were changed to adhere to standard .NET assembly naming conventions, and to avoid confusion with the Java API delivered as sbclient.jar and with the sbmonitor command delivered as sbmonitor.exe. The new names are:

  • StreamBase.SB.Client.dll replaces the former sbclient.dll.

  • StreamBase.SB.Monitor.dll replaces the former sbmonitor.dll.

Because of these DLL name changes, existing .NET projects using the StreamBase .NET API must update their references in their Visual Studio project settings. Be sure to set the Copy Local property of references to these StreamBase assemblies to True.

Documentation Changes

Documentation for the .NET Client Library is now delivered as a package of HTML files with a contents panel on the left, which replaces the previous .chm help file. Links to the .NET API documentation are now in the API Guide's contents panel in Studio Help and sbhelp for StreamBase on Windows installations, and the .NET documentation is now linked from the API Guide's main page and from the Reference Guide.

If you use the standard .NET API DLLs in the StreamBase installation's bin directory as references, IntelliSense help for the .NET API is enabled as you write code in Visual Studio 2010.

Installation Changes

The StreamBase installers no longer place the .NET API DLLs in the Global Assembly Cache, and no longer attempt to install a .NET framework for you. The 7.3.x installers always install the .NET API DLLs in the %STREAMBASE_HOME%\bin directory (\bin64 for 64-bit applications).

The StreamBase installer detects whether or not the .NET Framework 4 is installed. If not, a dialog offers you a link to the Microsoft web page from which you can download and install the Framework after the StreamBase installation completes. The StreamBase installation itself is not blocked by the absence of the .NET Framework 4: you can install the .NET Framework later at any time, and the .NET Client Library and its features are enabled at that time.

New Simple Deployment for .NET Programs

Deploying your .NET client or monitoring program is now greatly simplified, but support for the previous GAC method of deployment also remains available.

The new Simple Deployment method is the strongly recommended way to deploy your .NET programs starting with release 7.3.0. This method is to copy the following DLLs to the same directory as your code's executable:

  • Streambase.SB.Client.dll, 32-bit or 64-bit as appropriate for the target machine.

  • StreamBase.SB.Monitor.dll, if your program uses the .NET monitor API.

  • The Microsoft Visual C++ 10 runtime DLLs, which are named MSVCP100.DLL and MSVCR100.DLL. You install the Microsoft runtime DLLs the same way for .NET programs as for C++ programs, described in Client Program Redistribution.

If you are writing an installer to distribute your .NET client program, arrange for it to copy these files, along with your program's executable, to the same directory. Setting the Copy Local property to True in your .NET Visual Studio project settings helps with this.

Notice that installers that use this Simple Deployment method do not require administrative privileges on the target machine. Specify that your installer can be run in per-user mode to avoid the administrator privileges requirement.

 API Changes 
Connection Status Features Added to Java Client Library

The StreamBase Java Client Library was updated to supported various mechanisms for obtaining and reporting connection and disconnection events for each StreamBase client. To use these features, you must import the appropriate new classes and recompile your client code with the 7.3+ version of the Client Library.

  • The Java Client API now includes the ConnectionStatusCallback interface and ConnectionStatus enum. Use code like the following to add a connection callback to your client code:

    ConnectionStatusCallback callback = new ConnectionStatusCallback() {
    @Override
    public void stateChanged(ConnectionStatus state, 
        StreamBaseClient streamBaseClient, 
        String additionalInfo) { ... }
    

    Register the callback like this example:

    StreamBaseClient client = new StreamBaseClient(uri);
    client.addConnectionStatusCallback(callback);
    
  • The StreamBaseClient class now includes the getConnectionSatus() method that returns a ConnectionStatus enum, which can be either CREATED, CONNECTED, DISCONNECTED.

  • There is a new Java system property, streambase.client.log-connection-status, which can be set to true or false; the default is false. In the default setting, StreamBase clients log both connection and disconnection events at the DEBUG level. Set to true to have your clients log at the INFO level for connection events, and at the WARN level for disconnection events.

These features have a new sample described below.

Table Access from SBJunit Tests

In the StreamBase API for running StreamBase JUnit tests, the SBServerManager class has a new method, getTable(), which returns a TableAccessor object identical to those returned by the Java Operator API. This allows you to write tests that can inspect or manipulate Query Tables in applications running under test.

 Adapter Updates 
New StreamBase Add-in for Microsoft Excel

The StreamBase Add-in for Microsoft Excel allows you to import data from StreamBase Server into an Excel 2007 or Excel 2010 spreadsheet, and to publish from Excel to a StreamBase table. The Add-in is packaged and delivered independently of the StreamBase CEP product line. Contact your StreamBase representative for more information on availability and features.

New StreamBase Monitor Input Adapter

The StreamBase Monitor Input adapter consumes StreamBase Server performance and profile statistics and provides them as tuples to an EventFlow application. The statistics gathered include CPU usage, input and output rates, thread counts, and memory usage. StreamBase profiling statistics are described on Profiling.

Trading Technologies Adapter Updated

The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.0 of the Trading Technologies FIX specification.

 Sample Updates 

The sample modules and applications included in the StreamBase kit were updated as follows:

New Loop Sample

The new Loop sample in the Applications category of Studio's Load StreamBase Samples dialog demonstrates a looping arc in a simple EventFlow application.

New StreamBase Monitor Input Adapter Sample

The StreamBase Monitor Input adapter, newly added in this release, has a sample, described on StreamBase Monitor Adapter Sample.

New Client Status Monitor Sample

The connection status monitor features added to the StreamBase Java Client API, described above, have a new sample, described in Client Status Monitor Sample.

 Platform Changes 
Studio Now Based on Eclipse 3.8

For release 7.3, StreamBase Studio is based on Eclipse 3.8. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8. Earlier Eclipse versions are no longer supported for that purpose.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

StreamBase for OS X does not include a JDK, but instead relies on the standard Java 1.6 implementation provided by Apple for OS X.

Setup.exe Removed from Windows ISO Installers

The Windows installation kits in ISO format no longer include the setup.exe bootstrap program. If you mount an ISO installer, or burn installation media from an ISO, run the MSI installer directly by double-clicking it.

Third-Party Logging Versions Updated

The logging features incorporated into StreamBase were updated to slf4j 1.6.6, Logback 1.0.6, and Log4j 1.2.17.

StreamBase Platform Deprecations

Support for running StreamBase Server and StreamBase Studio on the following platforms is deprecated as of release 7.3.0; support for these platforms is expected to be removed in a future release:

  • Support for running StreamBase Server on Solaris SPARC platforms. (The Solaris Intel platform continues to enjoy full support.)

  • Support for running StreamBase Server and StreamBase Studio on Novell SUSE Linux Enterprise Server.

  • Support for running StreamBase Server and StreamBase Studio on Red Hat Enterprise Linux Advanced Server 4. (Support remains for RHEL 5 and 6.)

  • As a consequence of deprecating RHEL AS 4 (the only platform still supported on 32-bit Linux), all StreamBase support for 32-bit Linux is also deprecated.

 Deprecated and Removed Features 

The following StreamBase features are deprecated as of release 7.3.0 and will be removed in a future release:

  • The Thomson Reuters SFC External adapter.

  • Support for both JDBC and native connectivity to Vertica database version 4.1. (Support for Vertica versions 5.0 and 5.1 remains in place.)

  • Support for native connectivity to Sybase RAP databases.

  • Support for JDBC connections to Oracle 9i. (Support for Oracle 10 and 11 remains in place.)

  • Support for compiling 32-bit C++ StreamBase client applications for 32-bit Windows with Visual Studio .NET 2003 (Visual C++ 7.1).

  • Since release 6.3, StreamBase has shipped configured to build custom Java clients and functions with Java 6. However, an alternate method to use Java 5 for these purposes has been documented and supported. As of release 7.3.0, this alternate support for building StreamBase extensions with Java 5 is deprecated.

The following StreamBase features were announced as deprecated in previous releases, and are now removed as of release 7.3.0.

  • The JDBC External adapter. Instead, use a JDBC Table data construct and Query operator.

  • The TIBCO Rendezvous External adapter. Instead, use the embedded TIBCO Rendezvous Input and Output adapters.

  • The JMS External adapters. Instead, use the embedded JMS Input and Output adapters.

  • The Adobe Flex adapter.

  • The security tagging feature.

  • Support for StreamBase Frameworks on 32-bit Linux or Solaris SPARC platforms.

 Documentation Updates 

The StreamBase documentation for release 7.3.0 included the following updates independent of the above updates:

  • Terminology throughout the documentation was revised to favor the term parallel region over thread when describing the runtime options for operators and adapters expressed in the Concurrency tab of their respective Properties views. Parallel regions are described in Parallel Region Defined.

  • The documentation pages for the Read Table and Table Operator samples were updated from plain text to HTML, and now include more robust instructions for running the samples.

  • Documentation was updated and clarified for the Runtime Schema Cast Operator introduced in release 7.2.8, and for its sample.

  • The Query Table page in the Authoring Guide was updated to describe CSV, TSV, and JSON formats for entering tuple subfields in the Initial Contents tab of the Properties view.

  • The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.

StreamBase 7.2.x Release History

This section lists the significant changes in the StreamBase 7.2.x release series.

What Was New in StreamBase 7.2.15

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.2.15 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.15 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.2.15 adds the following updates and new features:

New System Property Improves Control over Logging Level Verbosity

A new system property, streambase.decouple.operator.log-level, enables operator and adapter logging levels to be set independently of the system logging level. Its default is false, which keeps the old behavior whereby operators and adapters use the more verbose setting of the component's or the system log-level property value. When set to true, operator and adapter logging verbosity can be set lower than the system logging level.

.NET Client Timestamp API Changes

In the .NET Client API, the Timestamp class has been changed to better handle conversions to and from .NET DateTime objects. Specific changes are:

  • The Timestamp.ToDateTime() method has been deprecated.

  • A new method, DateTimeOffset Timestamp.ToUTCDateTimeOffset() has been added to replace the deprecated ToDateTime() method.

  • The Timestamp.ToDateTime() method has been deprecated. Another new method, DateTime Timestamp.ToLocalDateTime() has also been added for convenience.

New CSV File Writer Adapter Timestamp Option Enables Easy Feedsim Creation

The Use Formatted Timestamps checkbox has been deprecated.

A new Timestamp option has been added as a drop-down list box, with choices Prepend, Append and None (default). Use this control to optionally add a timestamp to the beginning or end of each CSV row.

Adding timestamps enables applications to record data from any input or output stream in a top level application or exposed, in a format suitable for playback. Use the timestamped CSV files for feed simulations to play back streams you recorded in real time.

While an application is running, you can tell sbadmin to capture CSV files from input or output streams by issuing commands such as:

  • sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Append)=default.Out

  • sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Prepend)=default.Out

  • sbadmin modifyContainer default addConnection '(csvfile://trades.csv.gz?AddTimestamp=Append;CompressData=true;RollPeriod=Hourly)=default.TradesInput'

For more information, see CSV File Writer Output Adapter.

Attribute Info Support for Thomson Reuters Real-Time Publishing and Subscribing Adapters

A new option on the Adapter Properties tab of the TREP-RT Subscribing adapter, Include AttribInfo In All Updates, adds AttribInfo into all update and refresh messages sent to its subscribers. Receiving this data causes the publishing adapter to include AttribInfo in all messages.

List Support for Thomson Reuters Real-Time Subscribing Input Adapter

The Tuple Properties tab has two new options:

  • Output Info Query as List enables the adapter to output Market Data streams as single tuple with a list of market data for each subscription refresh, update, or delete message received, instead of multiple tuples with a complete flag.

  • Output Market Data as List enables the adapter to output Info Query streams as one tuple per subscription, dictionary, or dump item containing a list instead of multiple tuples with a complete flag.

Parameter to Identify Stale Tiers in Deutsche Bank AutobahnFX Market Data Adapters

The Trading Components DB-Rapid venue can now output missing depth tiers as zero price items as part of the DepthOfBook message when an item becomes stale. This functionality is disabled by default. Add the parameter OutputMissingTiersAsZeroPriceItems to the instance and set it to true to enable this feature.

Thomson Reuters Schema Designer and Subscribe Adapter Maintain Fractional Prices as Strings

When looking up fields, the Thomson Reuters Schema Designer now automatically detects fields with fractional pricing, and adds both the double and string fields to the available fields users can select to create a schema. For example, if the BID field indicates a price of 88 3/32, the field list will now contain a BID field of type double and also a BID_as_string field of type string. The Thomson Reuters subscribe adapter now also automatically maps any field in the schema with an "_as_string" suffix to the string representation of that field.

Exegy Input Adapter Updates

The Exegy library has been updated to version 3.1.11. You must upgrade your installation's Exegy library to this version in order to use this adapter.

A new property, Include Subscribe Pass-Thru Field, has been added. When enabled, the Subscribe stream schema is expected to include a field of any type named PassThru, which is is passed through to the Equities, PriceBook, and Commodities output ports.

A new property, Include Basket Pass-Thru Field, has been added. When enabled, the Basket stream schema is expected to include a field of any type named PassThru, which is is passed through to the BasketUpdates and BasketNav output ports.

For other Exegy input adapter updates, see Fixed in 7.2.15 release notes.

Wombat Publishing Adapter Supports Now Handles Array Types

The Wombat Publishing adapter can now send messages using any of the ARRAY types, as well as the VECTOR_MSG, and VECTOR_STRING type. Types are mapped as follows:

  • VECTOR_MSG = List<Tuple>

  • VECTOR_STRING = List<String>

  • I8ARRAY = Blob or List<Integer>

  • U8ARRAY, I16ARRAY = List<Integer> (Integer converted to short which may cause data loss)

  • U16ARRAY, I32ARRAY = List<Integer>

  • I64ARRAY, U32ARRAY, U64ARRAY = List<Long>

  • F32ARRAY, F64ARRAY = List<Double>

What Was New in StreamBase 7.2.14

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.2.14 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.14 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.2.14 adds the following updates and new features:

Updated xml-to-tuple Operator Samples

The XML to Tuple and Tuple to XML Operator Sample group has been reorganized as five sample applications, four of which have been redesigned:

  • tuple2xml-attributes.sbapp

  • tuple2xml-datatypes.sbapp

  • xml2tuple-attributes.sbapp

  • xml2tuple-datatypes.sbapp

  • xml2tuple-fixml.sbapp

The two -attribute variants illustrate generating and parsing XML attributes. The two -datatype variants illustrate using fields with a variety of StreamBase data types, including primitive types, lists, and nested tuples. xml2tuple-fixml.sbapp demonstrates how to parse a FIXML message.

The two tuple2xml samples now have two input streams each, one which runs through a map operator to supply default values for any tuple fields containing null, and a second which leaves the user's input unchanged. The three xml2tuple sample applications can now be fed from either new canned XML file read by the file reader adapter or from a user-supplied XML string through an alternate input stream (which is used by the automated tests as well). A note on each sample sbapp canvas describes what the sample does and how the canned data is supplied.

Web Reader Input Adapter now Handles HTTP POST Requests

The embedded Web Reader input adapter now supports HTTP POST as well as HTTP GET. Two new examples were added to the Web Reader Samples illustrating how to handle POST and SOAP requests.

Two New Properties Added to Hotspot FX Trading System Adapter
  • A Receive BBO Only property that can be used to receive only the best bid and offer in the book

  • A Connect On Startup property that can be used to prevent the adapter from connecting to the Hotspot FX server on start-up

Updates to DB Rapid FIX market data handler
  • The TargetSubID (57) field in Market Data Request (V) messages are no longer included.

  • Quotes with MDEntrySize=0 are now discarded (pulled off the market).

Trading Components Frameworks Updated to Support Forwards and Swaps

The Trading Components Framework now provides extra data for swaps and forwards. To support this change, the FX handlers of the Trading Components Framework have an additional schema field, SettlDateFar, for the settlement date for the far leg of swaps.

Updates to FIX Market Data Handler

The following enhancements were made:

  • An OrdRejReason field was added to the base FXExecutionReportSchema

  • A new constant command, EXEC_CMD_STATUS, was added to SharedSchemas.sbapp be used to request order status.

What Was New in StreamBase 7.2.13

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.2.13 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.13 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.25.

New and Updated Features

StreamBase 7.2.13 adds the following updates and new features:

New Deutsche Bank Rapid FIX Adapter

StreamBase now has a Deutsche Bank AutobahnFX Classic FIX adapter, with accompanying market data and execution handlers. The Deutsche Bank AutobahnFX Rapid FIX adapter and handler, which was named Deutsche Bank FIX in prior StreamBase releases, is now called Deutsche Bank AutobahnFX Rapid FIX Adapter to distinguish it from the new Deutsche Bank Classic FIX adapter and handlers.

Variable Log Levels for Log Adapter

The Log output adapter now has an option to override the Log Level you set for the adapter on a per-tuple basis. In the Log Adapter Properties pane, use the Log Level Override Field to specify the name of a field in a logged stream that contains log level information. The field can contain any of the following values: Error, Warn, Info, Debug, or Trace. Any other value, including null, causes the adapter use the configured log level for that tuple.

File Reader Input Adapter

The File Reader input adapter reads a text file and emits a tuple with a string field containing the entire contents of the file. The adapter can be configured to read a file at start-up or in response to the receipt of a tuple on its control input port.

Enhancements to Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter

The TREP-RT RMDS subscribe adapter now has a Download Service(s) property that lets users restrict the set of Thomson Reuters services from which data dictionaries are downloaded. In addition, multiple instances of the adapter within a StreamBase application can now share downloaded and locally-loaded data dictionaries.

New Command for FAST-Based Adapters

A new command, ListInstruments, has been added to the FAST-based adapters, BM&FBovespa UMDF Input adapter and CME Market Data FIX/FAST adapter. The ListInstruments command will cause the adapter to list all the instruments available on a given channel by emitting one tuple per defined instrument on the Instrument Definitions output port.

Thomson Reuters Enterprise Platform Real-Time adapters Library Update

The RFA/Java library, rfa.jar, used by TREP adapters has been upgraded to version 7.2.1.

What Was New in StreamBase 7.2.12

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.2.12 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.12 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.24.

New and Updated Features

StreamBase 7.2.12 adds the following updates and new features:

Gain FIX Input Adapter

The Gain GTX FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by GAIN Capital, and to exchange FIX messages with it.

File Reader Input Adapter

The File Reader input adapter reads a text file and emits a tuple with a string field containing the entire contents of the file. The adapter can be configured to read a file at start-up or in response to the receipt of a tuple on its control input port.

New Bloomberg Adapters

The new Bloomberg Server API input adapter is an embedded adapter that can connect to a Bloomberg Server API process to subscribe and get data from the process.

The new Bloomberg B-Pipe input adapter is an embedded adapter that can connect to a Bloomberg B-Pipe process to subscribe and get data from the process.

New Adapter and Handler for Deutsche Bank AutobahnFX

The new Deutsche Bank AutobahnFX FIX adapter allows a StreamBase application to connect to the Deutsche Bank AutobahnFX trading infrastructure and to exchange FIX messages with it.

New Properties in IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter

Additional properties to support XML parsing were added to the IBM WebSphere MQ input adapter and Wall Street Systems input adapter. In addition, the existing and new XML parsing properties have been placed in a new XML Parsing tab. The properties on the new tab include:

  • Parse Payload as XML (moved from the Adapter Properties tab)

  • Element Value Field Name

  • Attribute Values Supported

  • Attribute Values Field Name

  • Date/Time Format (moved from the Adapter Properties tab)

  • Assume Local Time Zone

  • Include Null List Value

  • Null List Value Representation

New Properties in Thomsom Reuters TREP-RT Input Adapter

Thomson Reuters Enterprise Platform for Real-Time (TREP-RT) subscribing adapter has two new properties:

  • The Field Map property allows multiple StreamBase fields of different types to retrieve the value from a single Thomson Reuters field. This property is useful for processing fractional prices to retrieve string and double representations of prices.

  • The Report Missing Output Schema Fields suppresses warnings generated when an incoming Thomson Reuters message contains fields that are not present in the adapter's market data output schema. This property is enabled by default to preserve existing behavior.

Saxo Bank FIX Adapter Supports Mass Quotes

The Saxo Bank FIX market data handler now has mass quote support.

New Properties for sbadmin Operator

The sbadmin operator now has username and password properties for use with local connections. See the sbadmin reference page for more information.

New Attribute Fields Property for Tuple-to-XML Operator

The tuple-to-XML operator now has an Attribute Fields property that can be used to specify a comma-delimited list of fully-qualified tuple field names that should generate XML attributes rather than sub-elements. For example, if the XML generated by the operator for a given input tuple is:

<Top><s>This value comes from tuple field Top.s of type string</s></Top>

Adding Top.s to the Attribute Fields property would result in the following XML:

<Top s="This value comes from tuple field Top.s of type string"></Top>
Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. See Supported Configurations.

What Was New in StreamBase 7.2.11

Migration Notes

If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.

Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.

Fixes

StreamBase 7.2.11 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.11 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.23.

New and Updated Features

StreamBase 7.2.11 adds the following updates and new features:

Changes to Adapters and Operators that Start with Applications

In previous releases, the option to have an adapter or operator start with an application was chosen with a checkbox. This option is now a field with allowed values yes, no, or a module parameter that resolves to either true or false.

Adapters in a application that have Start with application set to false now have a visual indicator () on the adapter icon. Input adapters display the decorator on the bottom-right corner of the adapter icon; output adapters display the decorator on the top-left corner of the adapter icon.

Create Named Schema From Any Intermediate Stream

You can create a named schema from an existing schema directly from the application view by right-clicking any arc and selecting RefactorExtract Named Schema.

Indicator Icon for Streams Exposed for Enqueue and Dequeue

Event Flow application streams that are exposed for enqueue or dequeue are now indicated by a decoration on the stream's icon:

New Output Added to sbprofile

The output from the sbprofile command now includes the number of tuples delivered for each input/output stream.

Vertical Scroll Bar Added to Data File Options dialog

The Feed Simulation Data File Options dialog now has a vertical scroll bar to enable use on small displays.

Format for Copy as JSON Option Updated

Copying and pasting multiple tuples with the Copy as JSON option now formats multiple tuples as:

[tuple1,tuple2,...,tuplen]

In previous releases, multiple tuples were separated with carriage returns.

New Option to Hide Null Values in Debug Perspective

The drop-down menu near the upper right corner of the Variables view of StreamBase Studio's debug perspective gives you the option to hide null values in tuples fields, list elements, and dynamic variables. See Viewing Tuple Contents for more information.

Barclay's BARX FIX Adapter

The Barclays BARX FIX adapter allows a StreamBase application to connect to the BARX trading infrastructure provided by Barclays and exchange FIX messages with it.

Updates to 29West LBM Subscribing Input Adapter and Publishing Output Adapter

The 29West LBM Subscribing Input Adapter now has the following new features:

  • The 29West LBM publish and subscribe adapters support data persistence.

  • The following new optional properties:

    Sequence Number Field Name

    Name of a field of type long in the output schema that receives the sequence number of the incoming LBM message.

    Flags Field Name

    Name of the field of type integer in the output schema that receives the message flags.

To use the LBM Adapters from StreamBase 7.2.11 and above, ensure you have LBM version 6.0 or above. The StreamBase installation kit includes version 6.0 of the UMS_6.0_jdk1.5.0_12.jar JAR file.

New Property for CSV File Reader and CSV Socket Reader Adapters

The CSV File Reader Input adapter and CSV Socket Reader Input adapter have a new property, Lenient Parsing, whose default value is true.

Trading Components Framework Now Supports UBS Handlers

The Trading Components framework now supports market data and execution handlers for UBS.

What Was New in StreamBase 7.2.10

Fixes

StreamBase 7.2.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.10 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.12, 7.0.12, and 6.6.23.

New and Updated Features

StreamBase 7.2.10 added the following updates and new features:

Small Control Stream Behavior Change

When a container, A, is added to a running StreamBase Server, and that container has a connection to the system.control stream, container A no longer receives the STARTING tuple on the control stream. However, other control-connected containers in the same Server instance do receive the STARTING tuple for container A. See The Container Subsystem.

Python Support Updated

This release increments the Python language support in StreamBase in two ways:

  • Support is added for Python 2.7.2 or later on Windows, 64-bit Linux, and OS X.

  • Support is added for 64-bit Python 2.6.6 or later and 2.7.2 or later on Windows.

See Creating StreamBase Python Clients for details.

Change to Rolling File Name Feature

This release includes a change to the rolling file name feature used by the CSV File Writer and XML File Writer adapters, and by the sbprofile command. Before this change, the rolled-over file's name represented the beginning of the roll period for weekly rolling, but represented the end of the roll period for daily or hourly rolling. After this change, rolled-over file names represent the beginning of the roll period for all rollover intervals.

CSV Socket Reader Input Adapter Updated

The CSV Socket Reader Input adapter was updated to provide a server mode where the adapter listens on a specified port for incoming connections. In addition, when acting as a client, the adapter now attempts to reconnect if connections fail, using a specified wait period between reconnection attempts. The adapter also has new properties for specifying how to handle incomplete records, and whether to log incomplete record events.

CSV File Reader Input Adapter Updated

The CSV File Reader Input adapter was updated to provide new properties on its Parsing Options tab for specifying how to handle incomplete records, and whether to log incomplete record events.

CSV File Reader Adapter Sample Updated

The sample for the CSV File Reader adapter was simplified for clarity. See CSV File Reader Input Adapter Sample.

Expression Language Function Updated

The tojson() function was updated to accept an optional second argument, boolean verbosity. By default, or with the second argument expressed as true, the function returns a string formatted as a JSON object, as defined on http://www.json.org. With the second argument expressed as false, the function returns a JSON array.

New Loop Sample

The new Loop sample in the Applications category of Studio's Load StreamBase Samples dialog demonstrates a looping arc in a simple EventFlow application.

New Saxo Bank FIX Adapter

The Saxo Bank FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by Saxo Bank, and to exchange FIX messages with it.

FIX Output Adapter Updated

The FIX Output adapter and all adapters that inherit from the FIX Output adapter were updated with the ability to track acknowledgment of the receipt of sent messages. This feature is described in Requesting Outgoing Message Send Confirmation on the FIX Output Adapter page.

Trading Technologies Adapter Updated

The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.1 of the Trading Technologies FIX specification.

Thomson Reuters TREP-RT Subscribing Input Adapter Updated

The Thomson Reuters TREP-RT Subscribing Input adapter was updated such that CLOSED events, including access denied errors, are now logged at the INFO level, in addition to being sent to the adapter's event port.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates

The StreamBase documentation for release 7.2.10 included the following updates independent of the above changes:

  • Documentation pages for the Flume external adapters and their associated sample were updated to account for Flume 1.2.

  • The FIX adapter's page was clarified with respect to the use of logging options for the QuickFIX/J engine.

  • The documentation for the Read Table and Table Operator samples were updated from plain text to HTML, and now include more robust instructions for running the samples.

  • The readTable subcommand of the sbc command is now included in sbc's reference page and man page as well as in the sbc -h usage text.

  • The entry for the expression language's strptime() function was updated to add the %p format specifier, which was silently supported in previous releases, and to extend the description of %H to clarify its use with both 12-hour and 24-hour clocks.

  • Documentation was updated and clarified for the Runtime Schema Cast Operator introduced in release 7.2.8, and for its sample.

  • The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.

  • The Shared Query Table Limitation section of the Using Interfaces with Extension Points page was corrected and clarified.

  • The StreamBase expression language has silently supported the between-and operator for many releases. Documentation for this operator is now in place in the Expression Language Features page in this section.

  • The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.

  • The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.

What Was New in StreamBase 7.2.9

Fixes

StreamBase 7.2.9 was a maintenance release that fixed a product limitation, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.9 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.11, 7.0.12, and 6.6.22.

What Was New in StreamBase 7.2.8

Fixes

StreamBase 7.2.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.8 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.11, 7.0.12, and 6.6.22.

New and Updated Features

StreamBase 7.2.8 added the following updates and new features:

New Runtime Schema Cast Operator

When you drag the Java Operator icon from the Palette View to the canvas, the resulting dialog contains a new global Java operator, the Runtime Schema Cast operator. This operator transforms its input schema to its specified output schema, at the same time expanding capture fields in the input schema to the subfields of each capture field. Capture field expansion is configured in the operator to be performed with either Flatten or Nest transform strategies.

The new operator is used inside modules that use capture fields in their input schema or table definitions, when the module can be used generically to handle several similar incoming schemas, but also has special processing for one or more schema types, as described in the Runtime Schema Cast Operator's page in the Authoring Guide. The new operator has a sample, described in Runtime Schema Cast Operator Sample.

Query Table Initial Contents Tab Now Supports TSV Files

In the Properties view for a Query Table data construct, when pre-loading a Query Table with the Initial Contents tab, you can now use tab-separated value (TSV) files or TSV lines typed directly in the Initial Contents tab. TSV format joins the CSV and JSON formats already supported. See Properties: Initial Contents Tab on the Query Table Data Construct's page.

Feed Simulation Editor Updated

In the Simulation Streams section of the Feed Simulation Editor, you can now copy schemas from named schemas as well as from streams in modules or interfaces in your Studio workspace. The Copy Existing Stream button was relabeled Copy from Stream/Named Schema.

EventFlow Debugger Updates

The EventFlow Debugger gained two new features in this release:

Table Names Are Now Qualified

Query Tables now show their fully qualified names in the Value column of the Variables view.

Conditional Breakpoints

Arc breakpoints can now be set to suspend execution only if a specified condition evaluates to true. You specify breakpoint conditions in the Breakpoint Properties dialog, which is accessed from the right-click menu of a selected breakpoint on the canvas. Conditions are specified in the StreamBase expression language and must resolve to a Boolean true or false. See Breakpoint Lifecycle on the EventFlow Debugger's page.

New Expression Language Function

The expression language gained a new function, getAllHostIPs(), which returns as a list(string) all the non-loopback IP addresses assigned to the machine on which StreamBase Server is running.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input and output adapters for IBM WebSphere MQ and Wall Street Systems were updated to use IBM MQ version 7.0. This update changed the JAR files you must obtain from IBM to use both adapter pairs. The list of required JAR files was updated in the documentation for both adapters and their samples.

Alpha Trading Systems EMAPI Order Entry Adapter Updated

The Alpha Trading Systems EMAPI Order Entry adapter was updated to support the EMAPI 5.1 specification.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates

The StreamBase documentation for release 7.2.8 included the following updates independent of the above changes:

What Was New in StreamBase 7.2.7

Fixes

StreamBase 7.2.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.7 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.11, 7.0.12, and 6.6.22.

New and Updated Features

StreamBase 7.2.7 added the following updates and new features:

Extended Feature: More Save-As Options for Tuples

When you select and right-click one or more tuples in the Application Input or Application Output views, the context menu now offers some new options designed to accelerate the creation of StreamBase JUnit tests.

The new Save-As options generate fragments that can be pasted into an existing StreamBase JUnit test's Java file. The options are described in Copy Tuples to Clipboard on the Application Output page.

New Feature: Create StreamBase JUnit Test from Application Input and Output Views

In addition to the above, this release introduces a new feature that generates an entire working StreamBase JUnit Java test file from scratch, based on selected tuples in the Application Input and/or Application Output views. A new button now appears in the toolbar of the Application Output view:

and in the toolbar of the Application Input view:

Click either button to run the New StreamBase Unit Test Class wizard. This is the same wizard described in the Test/Debug Guide, with additions to specify the set of tuples on which to base the test, and to specify which tuple maker class to use.

Use the Selected Tuples option when you pre-select one or more tuple rows in the Application Input and/or Application Output views before starting the wizard. The Example code option generates a generic test as before.

The Tuple Maker Class drop-down selects CSV or JSON single quote tuple maker types. The JSON tuple maker is the default, but it does not handle tuples that contain slashes or double quotes in field values. Use the CSV tuple maker for those cases.

New Feature: Read-Only Editors for Non-Hygienic Modules

Starting with this release, you can select a Module Reference to a non-hygienic module, right-click, and from the context menu, select View Module with Overridden Schemas. Like using F3, this opens an EventFlow Editor canvas showing the referenced module. However, there are important differences compared to opening with F3:

  • The EventFlow Editor canvas is a read-only temporary view of the called module.

  • The schemas of the input streams of this temporary module view are shown, not as they were originally defined, but exactly as they would be overridden by the calling module.

While this feature is not an interactive debugging aid, it can nevertheless help you understand how a non-hygienic module is actually used at runtime. See EventFlow Editor Read-Only Canvas for more on this feature.

New Feature: Create Configuration File Fragments for Module and Resource Search Paths

In the Project Properties dialog, the Module Search Path panel has a new feature. Below the Resolved Module Search Path grid, look for the new Generate configuration file snippet controls. These are links that create a fragment of a server configuration file ready for including into your project's top-level server configuration file, as described in Module Search Path Configuration File Snippets.

The same links appear in the Resource Search Path panel, in this case creating fragment files containing operator resource search path links. See Resource Search Path Configuration File Snippets.

New Feature: X I and X A Keyboard Shortcuts

StreamBase release 7.1.11 enhanced the X O keyboard shortcut so that if the most recently added component is a Module Reference, the automatically added output ports receive the names of the corresponding output streams in the referenced module.

This release adds the X I (ex eye) shortcut, which operates on input ports. For any component selected or recently added to the canvas, X I adds input streams to that component's input port or ports. If the newly added component is a Module Reference, the newly added input streams take on the names of the corresponding input streams in the referenced module.

Finally, this release adds the X A shortcut, which performs both X I and X O actions on the selected or most recently added component. This is especially useful right after adding an adapter or a Module Reference to the canvas.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_33. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Web Reader Adapter

This release includes the new Web Reader adapter that reads from a specified URL using HTTP GET requests and emits the page contents in a string field of its Data output port. The adapter can be configured to read a web page on demand when receiving a tuple on its control input port, or to periodically poll the specified web page. The adapter is described in Web Reader Input Adapter in the Adapters Guide.

This adapter is especially useful for reading web pages that emit a pure XML structure containing ongoing market trade data. This adapter's sample demonstrates reading such a page, and uses the XML to Tuple operator to parse the received XML data. See Web Reader Input Adapter Sample in the Samples Guide.

XML to Tuple Operator and its Sample Updated

The XML to Tuple operator was updated to eliminate unnecessary console messages when parsing XML comments and repeated elements that map to a list. The operator's sample was updated to include a new application that parses a complex, hierarchical XML input string, using a FIXML message as the example. See XML to Tuple and Tuple to XML Operator Sample.

Trading Technologies Adapter Updated

The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.0 of the Trading Technologies FIX specification.

IBM WebSphere MQ Adapter Updated

The IBM WebSphere MQ Input adapter now has an Include JMS Correlation ID Field property, which is only activated when the Include Metadata Field is selected. If enabled, the adapter includes a JMSCorrelationID subfield in the schema metadata field that holds the JMS correlation ID received with the message.

Documentation Updates

The StreamBase documentation for release 7.2.7 included the following updates independent of the above changes:

  • The Adapter Guide's FIX Adapter page was updated to clarify the difference between the two configuration files required by the StreamBaseFIX engine, and to make explicit that the complete set of XML elements for the first configuration file is documented in the provided example. Examples of the two configuration files on that page are now identical to those shipped with the FIX adapter sample.

  • Both StreamBase Manager and StreamBase Monitor pages were updated to clarify how weighted moving averages are calculated.

What Was New in StreamBase 7.2.6

Fixes

StreamBase 7.2.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.6 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.10, 7.0.12, and 6.6.21.

Especially see the 7.1.10 New Features, which reported the addition of the following features:

  • New XML to Tuple Converter and Tuple to XML Converter operators

  • Union operator behavior change

  • New Problems View entries for sbconf errors

  • The Log adapter now logs asynchronously by default

  • IBM WebSphere MQ adapters now support topics as well as queues

  • New property for Thomson Reuters TREP-RT adapter

New and Updated Features

StreamBase 7.2.6 added the following updates and new features:

JDK 7 Supported as an External JDK

Starting with this release, StreamBase Studio and StreamBase Server are supported using Oracle JDK 7, update 4 or later, as an alternative to the JDK 6 shipped with StreamBase. To use JDK 7, follow the instructions on Using an External JDK. That page also describes how to use JDK 7's G1 garbage collector.

Studio: New Layout File Behavior for Existing EventFlow Files

To better support StreamBase projects saved in version control systems, this release provides a small behavior change when first opening EventFlow module files that do not have an associated layout file. In previous releases, under these circumstances, Studio would interpolate the layout information and save it back to the EventFlow file (to the .sbapp file). Now, Studio always creates a separate layout file (an .sblayout file) to contain the layout information.

Studio still honors the preference setting as before that determines whether or not to create a separate layout file when creating a new .sbapp file. The new behavior only affects the case when no matching .sblayout file exists when first opening an existing .sbapp file.

Studio New Feature: Compare Two Operators

You can now select any two operators of the same type in the same EventFlow module, right-click and select Compare These Components from the context menu. This opens a side-by-side dialog that compares the properties of the selected operators. See Comparing Selected Components, a new page in the Authoring Guide.

Studio New Feature: Tasks View Entries

If you place a trigger string in the text of a Note or in a Description field for an EventFlow component, the text of that note or field is placed in the Eclipse Tasks view as a task reminder note. Use this feature to place reminder notes about features of your application that need further development. The recognized trigger strings are TODO, FIXME, and XXX. See Using the Tasks View for more on this feature.

Studio: New Overlay Decorations

The icons for Query Tables and for Input and output stream on the EventFlow Editor canvas now show an overlay decoration to indicate two independent states. Streams that are used to update dynamic variables are shown with (x)= in the upper right of the icon. Streams and Query Tables that are implementations of an interface are shown with a boxed uppercase I in the lower right corner of the icon's tile.

Studio: New Container Connection Decoration

The icons for input and output streams now show an overlay decoration on their upper back corner to indicate that this stream initiates a container connection to another stream by means of the Container connection field in the Advanced tab of the stream's Properties view.

Streams on the other side of the connection in the receiving container are not decorated. Decorations are not applied for container connections specified to connect at runtime in a deployment file, in a Studio launch configuration, in StreamBase Manager, or from the command line with the sbadmin command.

Studio: X O Shortcut Has New Behavior for Module References

Studio has provided the X O keyboard shortcut for several releases: drag an operator to the canvas, then press X O, and the output port of the newly dropped component acquires an arc connecting to an output stream automatically named OutputStream. If the newly placed operator has more than one port, X O adds output streams to all ports. This keyboard shortcut performs the same function as right-clicking an output port and selecting Add Output Stream to Port.

This release adds special behavior to both the Add Output Stream context menu and the X O keyboard shortcut if the component dragged to the canvas is a module from the Package Explorer view. In this case, X O adds output streams as before, but it now names them the same as the corresponding streams in the referenced module.

Studio: ${sb_home} Added to Launch Configuration Variables

When defining a Run, Debug, or Trace Configuration in Studio, and adding entries to the Environment tab, Studio has for many releases allowed the use of Eclipse variables to compose environment variables for a configuration. Starting with this release, the list of variables now includes ${sb_home}, which is defined as the absolute file system path of the StreamBase installation directory as currently set in Studio's Preferences dialog.

Studio: No Rename for Delta Stream Icons

Studio was updated such that newly created Delta Stream icons are not subject to renaming, since Delta Streams must use their default names as created.

New APIs to Access Capture Fields from Clients, Operators, Adapters

The Java and C++ Client Libraries were extended with new methods that allow you to specify a strategy (FLATTEN or NEST) for handling capture fields in streams accessed from a client application or from a custom embedded operator or adapter. The new APIs are described on a new page in the API Guide, Client Access to Capture Fields.

The Capture Fields for Generic Data Store sample now includes a Java operator that demonstrates the use of the new capture field strategy API methods.

New Option for sbprofile

The sbprofile command, in addition to the -c option, now has a -b outfile option. Use -b to specify that the generated output file is to be compressed with the bzip2 protocol, with the .bz2 extension added to the output file.

Vertica Support Updates

This release adds Vertica 5.1 to the versions supported by StreamBase. For Vertica 5.1 native connectivity, the StreamBase adapter requires the Vertica 4.1 Java client library (vertica_4.1.xx.jdk_5.jar). Vertica 5.1 is also supported for access through the Vertica JDBC driver.

RSS Reader Adapter is Now Proxy-aware

The RSS Reader Input adapter was updated with three new properties: Use Proxy, Proxy Host, and Proxy Port. Use these properties to specify a proxy server through which the RSS feed of interest is visible.

Documentation Updates

The StreamBase documentation for release 7.2.6 included the following updates independent of the above changes:

  • The Excel adapter's documentation page now includes a section that describes the server configuration file settings to allow adapter instances to connect to StreamBase Server when its security features are enabled.

  • The Pattern Matching and Pattern Operator pages were clarified.

What Was New in StreamBase 7.2.5

Fixes

StreamBase 7.2.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.9, 7.0.12, and 6.6.20.

Especially see 7.1.8 for the details of important new inherited features.

New and Updated Features

StreamBase 7.2.5 added the following updates and new features:

Server Configuration File Smart Merge Improvements

This release extends and updates the Smart Merge feature for server configuration files, supplementing the support for standard XInclude with a new configuration file element <sb-include>, described in Using Modular Configuration Files in the Administration Guide.

This release also introduces a new utility, sbconfutil, that allows you to see as a single file the merged results of multiple inclusions. See the sbconfutil reference page, which is also available as a man page on UNIX platforms.

Query Tables Are Now Typechecked

In previous releases, Query Tables were not subject to typechecking, because the schema of incoming data could not be anything other than the Query Table's schema. However, since release 7.2.0, Query Tables can have an initial load optionally specified. As of this release, individual Query Tables now participate in typechecking to make sure the table schema of associated Query operators are the same as the schema used for initial loading, if used.

Aggregate Operator Updated

In the Edit Dimension dialog that you open from the Dimensions tab of the Aggregate operator, the default size of the Open, Emit, and Close fields is now wider, and you can now use the F2 key to open a secondary Edit Expression pop-up dialog for each field. When you save a long expression in one or more of these fields, the dialog resizes when reopened to show as much of the expression in each field as possible.

Query Operator Wording Change

In the Operation tab of the Query operator, the wording of the first entry in the If no row is found drop-down list was changed for clarity to Leave table unmodified, output nothing. The behavior of the operator is unchanged.

New Keyboard Shortcut for Clean File

Releases 7.1.8 and 7.2.3 added the StreamBaseClean File context menu option to clean and rebuild individual EventFlow modules. Starting with this release, you can use the Ctrl+Alt+T keyboard shortcut to initiate the same action.

StreamBase Resources Now Include lvconf Files

The Open StreamBase Resource dialog, invoked with Ctrl+Shift+R, or from the Open StreamBase Resource toolbar button (), now includes any StreamBase LiveView™ configuration files with the .lvconf extension in the current Studio workspace.

Studio Now Has Eclipse Marketplace Menu Item

Studio's Help menu now shows the Eclipse-standard Eclipse Marketplace entry, which gives Studio easier and more direct access to hundreds of third-party Eclipse plug-ins.

New Apache Flume External Adapters

This release supports new Apache Flume External Input and Output adapters, which allow a StreamBase application to integrate with Apache Flume 1.1 or later as either a Flume sink or source. The Flume adapters are separately licensed, and, like other external adapters, this adapter pair has a separate installer downloadable from your usual StreamBase download site. See Apache Flume External Adapters for details.

Feed Simulation Adapter Updated

The Feed Simulation Input adapter was updated to accept maxtuples and maxtime commands on its control input port, and to optionally report LASTNUMTUPLES actions on its status output port. See Feed Simulation Input Adapter for details.

New Recovery Option for Adapters Supporting FIX/FAST

A new property was added to the BM&FBovespa UMDF Input adapter and to the CME Market Data FIX/FAST adapter, which specifies a preference for the method to be used for recovering missing incoming FAST messages. The options are between either the TCP-based Historical FIX channel or the UDP-based Market FAST channel.

Exegy Input and Monitoring Adapters Rewritten

The Exegy Input adapter and Exegy Monitoring adapter were rewritten to take advantage of the Exegy Java API, resulting in the following changes:

  • The Exegy adapters are now supported on all StreamBase platforms.

  • The adapters require an Exegy-supplied JAR file, XCAPI.jar, in the CLASSPATH; and the names of the required .so or DLL files have changed.

  • For the Exegy Input adapter, some properties were renamed: Level 2 Book Depth to Price Book Depth; Add Performance Trace to Add Adapter Latency; Include Receipt Nanotime to Include Callback Nanotime. The Add Ticker Plant Latency property was added.

  • The field XC_ADAPTER_LATENCY_MICROS was renamed to XC_ADAPTER_LATENCY_NANOS, and now contains entries in nanoseconds, not microseconds.

  • In the Exegy Monitoring adapter, the LinesOut schema was changed as follows: the HIRATE_TIMESPAN and BURSTRATE_TIMESPAN top-level fields were removed; PEAK_QUOTE_HIRATE, PEAK_TRADE_HIRATE, PEAK_QUOTE_BURSTRATE, and PEAK_TRADE_BURSTRATE fields were changed from per-line to top-level fields; and LINE_STATE values no longer have an XLNST_ prefix. For example, XLNST_UP is now UP.

Java Operator API Updated

The TableAccessor interface in the com.streambase.sb.operator package now has a size() method that returns the number of rows in the table.

Studio Now Based on Eclipse 3.7.2

For release 7.2.5 and later, StreamBase Studio is based on Eclipse 3.7.2. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.6 or 3.7. Eclipse 3.5 is no longer supported for that purpose. See Studio Eclipse Update Site.

StreamBase Release-Build Number Now Visible

For most purposes, StreamBase releases are well distinguished by their release numbers in three-position major.minor.maintenance format, such as 7.2.5. On rare occasions, you may need to report the fourth position build number. Starting with this release, the full four-position release number is visible from the command prompt in STREAMBASE_HOME/doc/VERSION.txt and in the documentation at the top of the Release Notes page.

Documentation Updates

The StreamBase documentation for release 7.2.5 included the following updates independent of the above changes:

  • Schemas are now provided for the system.connections and system.subscriptions streams on the Container Overview page of the Administration Guide.

  • A new page in the Authoring Guide, String Values in Parameters, suggests a standard way to pass string values to expression language contexts without using escaped quotes or quotes within quotes in the parameter definition.

  • The StreamBase Java System Properties page was reorganized, clarified, and extended.

  • The Tuning Tips page of the Administration Guide was augmented with a section about running the server in low latency mode.

  • A note was added to the 7.2.3 New and Noteworthy announcing the removal of a deprecated feature, the implicit conversion of int to string in the Query operator.

What Was New in StreamBase 7.2.4

Fixes

StreamBase 7.2.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.8, 7.0.12, and 6.6.19.

Especially see 7.1.8 for the details of important new inherited features.

New and Updated Features

StreamBase 7.2.4 added the following updates and new features:

Use Parameter to Specify Disk vs Memory Query Table Type

In the Properties view for a Query Table, in the Table Settings tab, the radio button control to select In memory or On disk table types was replaced with a drop-down list. You can now write over the default selections to specify the name of a parameter in the form ${param-name}. This allows you to pass in the choice of table type at runtime. For example, if you set the Type control to the parameter ${tabletype}, then the module that contains the table must contain or be passed a parameter of that name with either disk or memory as its value.

New 64-bit .NET Redistributables Kit

StreamBase installation DVD-ROMs and installation download sites now include both 32-bit and 64-bit versions of the StreamBase .NET Redistributables kits. Unlike the 32-bit version, the 64-bit version includes only the required StreamBase assemblies and supporting DLLs, and does not attempt to install a .NET framework. Install either kit, but not both, to support running StreamBase .NET client programs on machines without StreamBase installed. See Redistributing the .NET Client Library.

EventFlow Debugger's Terminate Button Behavior Change

When using the EventFlow Debugger, the red square Terminate button in the Debug view's toolbar () now performs the same clean shutdown of the running StreamBase Server instance as the Stop button () in the main Studio toolbar. In previous releases, the Debug view Terminate button stopped the debug session, then halted the Server instance without a clean shutdown.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_31. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Bloomberg Tradebook FX FIX Adapter

This release includes the Bloomberg Tradebook FX FIX adapter that allows a StreamBase application to connect to the trading infrastructure provided by Bloomberg Tradebook FX, and to exchange FIX messages with it. See Bloomberg Tradebook FX FIX Adapter.

New CME Market Data Platform FIX/FAST Input Adapter

The CME FIX/FAST adapter allows a StreamBase application to connect to CME's Market Data Platform to receive market data in the form of FIX/FAST messages. The adapter uses the high-speed, low-latency StreamBaseFIX engine to decode the incoming FAST messages. The adapter is described in CME Market Data Platform FIX/FAST Input Adapter and has a sample.

What Was New in StreamBase 7.2.3

Fixes

StreamBase 7.2.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.3 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.8, 7.0.12, and 6.6.19.

The links in the previous paragraph take you to the New and Noteworthy for these releases, especially 7.1.8, where you can find the details of the following inherited new features:

  • New smart merge for XIncluded fragments of server configuration files. See Using Modular Configuration Files.

  • Module signature change analysis.

  • Studio has several related new features to support detecting and removing unused imports. These features are discussed in a new page in the Authoring Guide, Minimizing Module Imports.

    One of these new features has a different menu location in this release, compared to 7.1.8. In the 7.2.x release series, look for Remove Unused Imports in Studio's top-level EventFlowRefactor menu.

  • New StreamBaseClean File context menu option to clean and rebuild individual modules.

  • Reduced typechecking triggered by small changes to server configuration files.

  • New Ignore label widths option when running Layout Application (Ctrl+L).

  • Updates for the sb-config command.

  • Exegy adapter updated.

  • Thomson Reuters TREP-RT Subscribing adapter updated.

One new feature added to release 7.1.8 was not in release 7.2.3: support for using a parameter to specify the disk versus memory type of Query Table. This feature is expected in a future 7.2.x release.

New and Updated Features

StreamBase 7.2.3 added the following updates and new features:

New EventFlow Debugger Features

The EventFlow Debugger saw continuing improvements for 7.2.3, including the following features:

Drop to Frame

Select a frame line in the Debug view and invoke Drop to Frame from the toolbar button or context menu. This resets the current execution step back to the selected frame. Use this feature to go backwards in the tuple flow while debugging, which lets you return to inspect the state of an operator you have already stepped through. However, be aware that Drop to Frame cannot undo any side effects of components already stepped through, so it is not a true rewind.

Drop to Arc

This command appears only in the context menu for a selected arc on the canvas. This is much like Drop to Frame for the selected arc: execution is reset back to the selected arc. Like its frame counterpart, Drop to Arc cannot undo any side effects of components already stepped through.

The flow of tuples might pass through the same arc more than once, such as in a loop, or if a module is traversed multiple times. In these cases, Drop to Arc is ambiguous, so Studio drops back to the most recent traversal of the arc. If that is not what you wanted, select the particular arc-frame of interest in the Debug view and use Drop to Frame.

Run to Arc

This command appears only in the context menu for a selected arc on the canvas, and is only active when debugging is in progress. Like Run to Line in Java debugging, this command is like a fast-forward control. It sets a temporary breakpoint on the selected arc and resumes execution of the module, stopping at the selected arc. If an intervening breakpoints between the current location and the selected arc is hit, the Run to Arc is cancelled.

Basic Debugging of sbunit Tests

Starting with this release, you can set breakpoints on both JUnit test code and EventFlow arcs for a module under test. Debugging the JUnit test then automatically switches between Java debugging and EventFlow debugging of the module under test. Not all features of Java debugging are implemented when debugging StreamBase JUnit test code; see Debugging StreamBase JUnit Tests for details.

Attach to Running Server in Debug Mode

The new ability to attach to a StreamBase Server running in debug mode, and to use the EventFlow Debugger to debug both EventFlow and Java code, was announced in release 7.2.2. As of this release, that feature has its own page in the Test/Debug Guide.

New Default JVM Memory Settings

The default JVM memory settings were updated as of release 7.2.2 and are now documented in this release in Java VM Memory Settings and Garbage Collection Policy Settings in the Administration Guide. The following points summarize the changes:

  • The default server configuration file no longer specifies any JVM memory settings. Thus, when running StreamBase Server with or without a server configuration file, the Server runs with internal default settings in the absence of explicit settings.

  • The Server's internal default settings are now different for 32-bit and 64-bit Server, for both Windows and UNIX platforms.

  • As before, if you make any one explicit JVM memory setting, all Server default values no longer apply. Thus, if you change one memory setting from its defaults, change them all. This applies to JVM memory settings you make in the server configuration file, at the command line with -J options, with the STREAMBASE_JVM_ARGS environment variable, or in custom startup scripts.

  • The recommended garbage collection settings are still made in the default server configuration file. If you start StreamBase Server without a configuration file, no garbage collection settings are specified.

Query Sample Updated

The Query.sbapp sample in the Operators sample group was extended to add samples of Write-Update and Delete operations. See Query Operator Sample.

Query Operator, Implicit Conversion to Strings Removed

The implicit conversion of int to string for expression values in the Query operator, announced as deprecated in release 7.2.0, was removed as of this release for consistency with other StreamBase operators.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_30. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates
  • The descriptions for the strptime(), parse_time(), strftime(), and format_time() functions were extended and corrected to clarify the differences in time zone handling between the four functions. The Absolute Timestamps section of the Expression Language Functions page now has a Usage Note on the same subject.

  • This release included new features and technical fixes for Studio Help and sbhelp:

    • Studio Help and sbhelp have a new tab at the bottom of the left column. Select the second tab on the bottom to see index entries for the entire set of guides. This is the same index information found in the topic index linked from the main Contents column and from the home page, but now available as part of the Eclipse help system. In the 7.1 release series (based on Eclipse 3.6), index entries only appear when the current Scope is set to All topics. In the 7.2 release series (based on Eclipse 3.7), index entries appear for all scope settings.

    • A technical fix improved search results, especially for search phrases that include the word "StreamBase".

    • The Contents tab on the left side of Studio Help and sbhelp was slightly reorganized to provide links to the Javadoc, Doxygen, and PyDoc documentation at the top level of the API Guide.

    • The top-level Contents page for the API Guide is now automatically generated. The former API Guide Contents page is now one level down.

    • Likewise, the Samples Guide contents page is now automatic, and the book's former contents page in table form is one level down.

    • The Contents page of several more books now carries the blue Reference Pages box for quick jumps to frequently needed pages.

    • Formerly, only the Getting Started Guide had Next and Prev links that allow you to page through the book in sequence without resorting to the Contents column. In this release, these links were added to the Installation Guide and StreamSQL Guide.

What Was New in StreamBase 7.2.2

Fixes

StreamBase 7.2.2 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.2 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.8, 7.0.12, and 6.6.18.

New and Updated Features

StreamBase 7.2.2 added the following updates and new features:

New Options for the sbd Command

The sbd command has a new command-line option, --debug or -d. Use either option to prepare a run of StreamBase Server to accept remote debugging connections. Notice that the -d option was used in previous releases to enable intermediate stream dequeuing; that feature is now enabled with --intermediate-stream-dequeue.

The --debug option accepts one or more comma-separated key-value pairs as arguments that override default settings. For example, sbd --debug suspend=y causes the server to start and immediately suspend execution, awaiting connection from the debugger. See the sbd reference page for further details on overriding default settings.

New Support for Remote Attachment to Server in Debug Mode

StreamBase Studio has long supported attaching to a remotely running instance of StreamBase Server, as described in Attaching to a Running Application. Starting with this release, you can attach to a remote server in debug mode and use the EventFlow Debugger to debug both StreamBase and custom Java code. Follow the steps described in Attaching to a Running Server in Debug Mode.

Thomson Reuters TREP-RT Subscribing Adapter Updated

The Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter was updated to support a new property, Disable Market Price View Requests. When enabled while using the Market Price message model, the OMM View Request optimization for subscribing to a selected set of fields is disabled.

What Was New in StreamBase 7.2.1

Fixes

StreamBase 7.2.1 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.2.1 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.7, 7.0.12, and 6.6.18.

New and Updated Features

StreamBase 7.2.1 added the following updates and new features:

New Feed Simulation Input Adapter

This release adds the Feed Simulation Input adapter, which uses Feed Simulation configuration files to define the adapter's output ports and their schemas, and to determine what data is emitted from each adapter port. Feed simulation configuration files are created with the StreamBase Feed Simulation Editor as usual, and the same files can be used interchangeably with this Feed Simulation adapter and with the command line tool, sbfeedsim. Any data sources, generation methods, and emission rates definable with the Feed Simulation Editor can be used with this adapter. The adapter has a sample, described in Feed Simulation Input Adapter Sample.

64-bit Windows Now Includes 64-bit sbunit Command

In previous releases, the sbunit command was delivered as a 32-bit executable on both 32-bit and 64-bit Windows, which meant that StreamBase JUnit tests ran in a 32-bit JVM. Starting with release 7.2.1, the 64-bit Windows installation of StreamBase includes both 32-bit and 64-bit sbunit commands, so that 64-bit Studio now launches 64-bit StreamBase JUnit tests by default.

PATH Changes for Studio-Launched Server

The PATH environment variable passed to StreamBase Server when launched from Studio now includes the streambase-install-dir/bin directory appropriate for the platform. This feature only affects the ability to locate StreamBase utility commands when run from within StreamBase Server by means of an External Process operator or the SB Admin operator. For Linux, a Studio-launched Server's PATH includes /opt/streambase/bin. For 32-bit Windows and for a 32-bit Server launched from 64-bit Windows, the Studio-launched Server PATH includes streambase-install-dir\bin. For 64-bit Windows, the PATH includes streambase-install-dir\bin64;streambase-install-dir\bin.

In addition, previous releases incorrectly appended the StreamBase home directory itself, streambase-install-dir, to the Studio-launched Server PATH. This was removed from the Studio-launched Server PATH as of this release, which may result in changed behavior if your application came to rely on this undocumented feature in some way.

Expression Language Update

This release adds the getClientIP() function.

StreamBaseMonitor API Update

In previous releases, the StreamBaseMonitor class always included the monitored details for each running operator in the monitored Server. Starting with 7.2.1, you must use the enableOperatorDetail() method to obtain operator details.

What Was New in StreamBase 7.2.0

Fixes

StreamBase 7.2.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.

Inherited from Previous Releases

StreamBase 7.2.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.1.6, 7.0.11, and 6.6.17.

New and Updated Features

StreamBase 7.2.0 added the updates and new features shown in the following sections.

 Behavior Changes
On-Disk Query Table Format Changed

The on-disk format for disk-based Query Tables was updated for release 7.2.0 to improve performance and take into account the new capture data type. Before migrating your application to 7.2, move all files in your Query Table data directory to a backup location. Then proceed as follows, depending on how you use disk-based Query Tables:

  • If your application uses disk-based Query Tables for transient storage, such as for counters or sequence numbers, then move all files out of your Query Table data directory (or specify a new, empty data directory) before migrating your application to this release. StreamBase 7.2 will recreate your transient Query Tables in the new format.

  • If your application loads a Query Table from a file on startup, perhaps for use as a lookup table, then your table's data is already preserved. Move all files out of your Query Table data directory or specify a new, empty data directory. StreamBase 7.2 will create empty Query Tables in the new format, which will then be reloaded with data by your application.

  • If your application uses persistent data stored in a disk-based Query Table that was created with StreamBase 7.1 or earlier, then you must extract the persistent data from your current Query Table to a CSV file and reload the data in StreamBase 7.2 in a one-time operation. Use steps like the following:

    1. Open your application in your current StreamBase release.

    2. Add an Input Stream, Query operator, and CSV File Writer adapter. Connect the Query operator to the Query Table of interest.

    3. Configure the CSV File Writer adapter to accept the stream from the Query operator and write all rows to disk in CSV format. Make notes on the CSV options used, such as the field delimiter and whether a header row is written.

    4. Use the Query operator to send a Read operation that reads all rows from the table, and outputs all rows unmodified to a CSV file.

    5. Start StreamBase 7.2 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.

    6. In StreamBase 7.2, use a CSV File Reader adapter and another Query operator to reload the data from the CSV file into the new Query Table. Use the same CSV Reader options you used for the CSV Writer in step 3.

    Preserve an installation of your current StreamBase release to read the old Query Table data until you are confident the data has been migrated successfully to release 7.2. Contact StreamBase Support for assistance in implementing this procedure.

New Schema for Query Table Delta Streams

The schema for newly created Query Table delta streams was updated. The data field was replaced with the new or old fields. The operation field now reports update events as a single event, instead of the previous insert plus delete events. Existing applications that monitor a Query Table delta stream will continue to work without modification.

 New StreamBase Language Features 
Parent Schemas

Schemas can now extend a parent schema, which must be a named schema in the same module or in a module or interface explicitly imported into the current module. The child schema inherits all fields from the parent, then can extend the parent by adding fields appropriate for the local context. In the child schema, you cannot subtract or modify parent fields, but you can override an abstract parent field declared with a capture field (described below).

In any Edit Schema tab in the Properties view, there is now a Parent Schemas link to show the parent schemas in use. If the current schema is empty or is defined with a private schema, click the down-arrow next to the green plus icon and select Add Parent Schema. In the resulting dialog, select among the named schemas defined in or imported into the current module. In StreamSQL, specify parent schemas with the implements keyword in a create schema statement:

create schema child (foo int, bar int) implements parent1, parent2;

StreamBase Studio was updated to allow parent schema assignments when editing named schemas, table schemas, input streams, Union operators, output streams, Query Tables, and Lock Sets. See Using Parent Schemas for details.

Hygienic Modules and Interfaces

Starting with this release, modules and interfaces can be configured as hygienic, and newly created modules and interfaces now default to this behavior. A hygienic module requires that the schema of input streams for a Module Reference must strictly match the schemas configured inside the module. This has the benefit of eliminating field name conflicts and other difficult-to-debug typecheck errors, and allows for faster typechecking. Hygienic modules that require flexible input schemas must use the new capture fields functionality described next. Modules and interfaces created in previous releases retain their non-hygienic settings by default when opened in release 7.2.0 or later. See Hygienic Modules.

Capture Fields

Starting with this release, modules designated as hygienic can be configured to have a capture field on their input stream schemas and table schemas. If a stream connected to a Module Reference contains additional fields not specified in the module's input schema, these additional fields are captured into the capture field, and are then passed around inside the module as an opaque blob. On output from the module, the captured fields are flattened back into the output stream with their original field names and data types.

The capture type is parameterized by a name, and all capture fields in a module with the same capture type name have the same payload type. The scope of the name binding is module-instance, so different instances of a module can capture different sets of fields to the same capture field name.

Input streams and Query Table schemas can contain exactly one capture field, which collects all additional fields. Hierarchical tuples can contain one capture field in each tuple and sub-tuple. Thus, output streams and outgoing table schemas can end up containing more than one capture field to be expanded; all such capture fields are expanded when exiting the module, potentially leading to name conflicts. See Capture Fields.

 Studio: New EventFlow Compare and Team Support 
Studio Now Includes Eclipse EGit

The EGit Eclipse plug-in provides seamless access to files managed by the Git version control system, including projects hosted on the Github repository. EGit documentation is now included as part of the Studio Help system. EGit joins CVS and Subversive as the three team provider version control plug-ins included with Studio.

Studio Open Files from Local History or Version Control Resources

Studio can now open EventFlow or StreamSQL files from the Eclipse local history. With a module file open and active, run WindowShow ViewOtherTeamHistory to open the History view. Be aware that when you open a file from local history, StreamBase typechecking is not run on that file, because resources referenced by the historical file may not also be open in Studio. Use a historical view of a module for quick reference.

Studio can also open files from version controlled resources managed by an Eclipse team provider plug-in. With such a plug-in installed and configured for use with your source code repository, Studio views are extended to allow selection from and browsing of the configured repository.

New EventFlow Compare

In previous releases, the Studio Compare Editor could only compare EventFlow modules as XML text, and could only compare two modules selected in the Package Explorer or one module against its history in the Eclipse local history view. Release 7.2.0 has extensively reworked the Compare Editor so that you can now compare the state of two EventFlow modules, or two versions of the same module, side-by-side in graphical as well as XML text forms. You can also now compare the state of one module against an earlier version or similar version stored in a supported version control system (CVS, Subversion, or Git).

A tree of components in the top panel is much like the Outline view. When you select the Application node at the top, the comparison by default is two side-by-side EventFlow canvases, with differences marked.

When you double-click an individual component in the top panel's tree, the comparison shifts to the Properties view differences between the two versions of that component. You can select individual tabs of the Properties view on either side of the comparison, and the other side tracks the change. The image below compares the Schema tab of the Query Table in the center of each canvas in the image above.

EventFlow Compare now includes a limited merge capability using the Copy selection from left to right and Copy selection from right to left buttons.

Release 7.2.0 includes layout file loaders for selected source control systems, including CVS and Subversion (accessed through the Subversive plug-in). These loaders handle the loading of an EventFlow module's companion .sblayout file when you ask to load the .sbapp module.

There are many ways to start an EventFlow Compare session for two modules, or a module and an earlier version. These include:

  • Compare the currently open module with a version in the Eclipse local history by using the Compare With or Replace With options in the right-click context menu for the EventFlow canvas.

  • Select two similar modules in the Package Explorer view and select Compare WithEach Other from the context menu.

  • Select two versions of the same module from a version control plug-in's history log for that module by selecting two versions and invoking Compare with Each Other from the context menu.

See Comparing EventFlow Modules for further details.

 Studio: EventFlow Debugger Improvements 

The EventFlow Debugger in Studio was extensively rewritten to provide the following new features and changes:

  • The Debugger now provides seamless debugging between EventFlow code and user-written Java code for functions, operators, and adapters.

  • The default, filtered Debug view includes frames that map to EventFlow arcs, and includes Java stack frames for code in custom adapters or operators and in Java code called from them. The default view excludes Java frames for StreamBase-proprietary server-side code.

  • If you toggle to show the unfiltered Debug view, frames that are normally excluded show in gray. Studio does not ship with source code for excluded frames, so attempts to open such source code still fails.

  • Stepping in the new EventFlow Debugger preserves the arc-level step semantics of previous releases, and adds the following:

    • When suspended at an arc that's an input to a custom Java operator, Step Into brings you into the operator's implementation. Specifically, the flow steps to the first line in the operator's processTuple() method.

    • When suspended at a sendOutput call in an operator's processTuple() method (or in a method directly or indirectly called by processTuple()), a Step Into sendOutput brings you back into the EventFlow stream, suspended at the arc that passes the sendOutput tuple to the next operator or stream.

    • When suspended in processTuple, doing a Step Over for a return statement (or stepping while at the closing brace ("}") of the processTuple method) brings you out of Java debugging and suspends at the next EventFlow arc traversed by the stepping process. While suspended anywhere in processTuple, doing a Step Return also brings you out of Java debugging and to the next traversed EventFlow arc.

  • Hit counts on arc breakpoints are now supported. For a given breakpoint, you can specify a hit count of 5, for example, to direct Studio to stop on the fifth time reaching that breakpoint.

  • You can export a set of breakpoints for a module and import them into another copy of Studio for use in the same module or a very similar one.

  • The Variables view now shows the contents of tuple fields, dynamic variables, Query Tables, and capture fields.

    • Tuple fields are now shown at the top level of the Variables view, and no longer need to be toggled open manually.

    • Dynamic variables are shown together in the Dynamic Variables node of the view, and Query Tables are shown in the Tables node. These nodes are shown at the top of the Variables view, but appear in the view only if they have contents.

    • Capture fields are shown when a schema contains one (but capture fields within capture fields are not shown).

  • The Debugger can now stop on breakpoints in early-running code, such as in the init() method for custom operators and adapters. However, to support early breakpoints, you must launch the Debugger in the background as described in Launching the Debugger in the Background.

Before debugging, see the Limitations and Cautions on the EventFlow Debugger page.

 Studio: Operator and Data Construct Updates 
Studio: Changes for the Query Operator

The Properties view for Query operators associated with Query Tables has the following changes:

  • The Operation Settings tab was split into Operation and Fallback tabs.

  • The Output Settings tab was renamed the Output tab.

  • For Query Read and Query Delete operations, the change in the Operation tab is the third option. Instead of match input with these values, followed by a field grid, you now have match input value in "Fallback". Specify the fallback field settings in the Fallback tab.

  • For Query Write operations, the Operation tab has a new look.

  • The Fallback tab and the Operation tab for Query Write operations now shows the operator's input schema in a column on the left, with key values marked with a key icon, and any change for a particular field listed for that field. You now specify either all input fields or none, and you specify all additions or changes to fields in the Additional Expressions grid. You can choose to Set or Ignore any field other than primary or secondary key fields.

  • For Query Write operations, if no matching row is found, you can now specify using alternate field values as listed in the Fallback tab.

See Using the Query Operator for further details.

Studio: Automatic Port Deletion for the Union Operator

Starting with this release, when you delete an arc entering a Union operator, or you delete the component immediately upstream of such an arc, the corresponding input port is automatically removed from the Union operator, and the count of input ports on the Union Settings tab of the Properties view is decremented.

Studio: Parameters Now Accepted in Heartbeat and Metronome Operators

You can now use parameters in the form ${parameter} for the timestamp values in the Metronome and Heartbeat operators.

Studio: Specify Initial Contents for Query Tables

The Properties view for Query Table data constructs has a new tab, Initial Contents. You can now specify that, at module startup, a Query Table is empty (the default setting), or is to be loaded from a specified CSV or JSON file, or is to be loaded from CSV or JSON values specified in the tab.

Any CSV loader file you specify must conform to a strict subset of the CSV features supported elsewhere in StreamBase. A JSON loader file must consist of a series of JSON object rows as defined by the JSON standard. If you provide a mismatched CSV or JSON file, or mismatched rows typed in the Initial Contents tab, the typechecking error is shown in associated Query operators, not in the Properties view for the Query Table itself. See Initial Contents Tab for details.

Studio: New Configure Sources Link for JDBC Tables

The JDBC Table data construct now has a hyperlink labeled configure sources on the Data Source tab of its Properties view. Use the link to open the project's server configuration file. If no configuration file exists for the current project, clicking this link opens the New StreamBase Server Configuration File dialog to create a new, empty configuration file. See Using the JDBC Table Data Construct.

Studio: JDBC Query Operator Reports Reconnection Events

When using a Query operator associated with a JDBC Table data construct, if a reconnection to the data source becomes necessary, a tuple is now emitted on the Error Output Port of the Query operator with the message Attempt reconnect to data source. When the reconnection succeeds, another tuple on this port reports Success reconnecting to data source.

 Studio: New Features and Updates 
Studio: New Annotations Tab

The EventFlow Editor has a new tab named Annotations. This contains a check box to make the current module hygienic, as described above, which is enabled by default for new modules. The new tab also contains per-module typecheck warning settings, described in Typecheck Warnings. See EventFlow Editor Annotations Tab.

Studio: Version Field Added to the Metadata Tab

The EventFlow Editor's Metadata tab now has a Version field that takes a string value. Use this field to track version numbers for individual EventFlow modules. The value is stored in the EventFlow XML, for use in EventFlow Compare.

Studio: Background Typechecking

Background typechecking, first seen as a preview feature in release 7.1.4, is now enabled as the default for release 7.2.0. Studio now runs all typechecking operations as a background task, with details visible on demand in the Progress view. Dialogs no longer display during typechecking. This feature allows you to enable the Automatically typecheck components preference even when editing large modules with long typecheck requirements. See Background Typechecking.

Studio: Compiler Cache

Studio now maintains a cache of compiled build artifacts when you run a module in Studio, and uses cached items when re-launching the same module. This can speed up launch times by 30% to 50% on subsequent launches. The cache is automatically maintained such that any portions of an application are rebuilt if changed, but unchanged portions are read from the cache. By default, the cache's location is temporary and starts over with each Studio session. Use WindowPreferencesStreamBase StudioCompiler Cache to specify using a persistent cache directory that maintains the cache between Studio sessions. On the same preference page, there is a Clear Cache Now button. See Compiler Cache Panel.

Studio: Editor for Unchanged Module Closes on Deletion

If an EventFlow Editor session is open for a module, and you delete that module from the Package Explorer view, the Editor session now closes automatically, if there are no unsaved changes pending for that module.

Studio: New Auto-Centering Preference

In the WindowPreferencesStreamBase StudioAuthoring panel, there is a new setting, Center canvas on selection during navigation. The setting is selected by default, preserving the behavior of previous releases, which is to auto-center the canvas on the selected component when navigating in two ways:

  • With the Back and Forward arrows in the Studio toolbar, or

  • In the Outline view, when the Follow Editor button is active.

When you clear this check box, Studio highlights the selected component on the canvas, but does not center the canvas. If the component is off-screen when selected, Studio moves just enough of the canvas to make the component visible.

Studio: Output Streams Subtab No Longer Blanked While Editing

In the Properties view, the Output subtab of the Streams tab now remains active while you edit the current component instead of going blank during edits, as before. The output schema shown in this subtab might become out of sync with the edits you are currently making, especially if you have automatic typechecking disabled. In this case, a message warns that this view is stale. As soon as typechecking succeeds, the Output subtab is updated.

Studio: Search Added to View Source

In a View Source dialog, you can now type Ctrl+F to invoke the standard Find/Replace dialog.

Studio: Located Typecheck Warnings in Properties View

In addition to typecheck warning decorations on component icons, typecheck warning text now appears in the Properties view for the affected component. These warnings direct you to the tab and field in error in the Properties view.

Studio: New Per-Module and Per-Project Typecheck Warning Controls

Typecheck warning messages were introduced in release 7.1.0, along with the ability to disable categories of warnings for the Studio workspace as a whole using WindowPreferencesStreamBase StudioTypechecking.

Starting with 7.2.0, you can also specify typecheck warning settings for individual EventFlow modules, or for all modules in a Studio project. For per-module warning settings, use the new Annotations tab of the EventFlow Editor. For per-module warning settings, use the StreamBaseProject Builder panel of the project's Properties dialog. See Typecheck Warnings for an overview, and see the EventFlow Editor Annotations Tab page for warning categories you can control.

Studio: Quick Fix for Typecheck Warnings in the Problems View

Typecheck warning messages seen in the Studio Problems view are now connected to the Eclipse Quick-Fix mechanism. Right-click a warning and select Quick Fix, as described in Typecheck Warning Quick Fixes in the Problems View.

Studio: Application Output View Now Dequeues system.error Stream

The error stream from the system container now appears by default in the Stream drop-down list of the Application Output view, and is by default a member of the (All Output Streams) list. As before, you can use the select link to include or exclude this stream from the output.

Studio: Copy as JSON in Application Output and Input Views

The right-click context menu in both the Application Input and Application Output views now includes Copy as JSON. Invoke this to copy the currently selected input or output tuple to the clipboard as a JSON object. Use this feature to quickly populate the input and expected output tuples for a StreamBase Unit test, using the com.streambase.sb.unittest.JSONTupleMaker class.

Studio: Refactor All JDBC Query Operators in a Module

Studio has a new Refactor JDBC Operators Schema Wizard that walks through a module and inspects all Query operators connected to JDBC data sources. If the SQL Statement in such a Query operator returns a result set, the wizard changes the operator to use the Explicitly declare fields below option, and populates the SQL Results fields grid based on executing the SQL statement and examining the result set. You can also run the wizard to revert all JDBC Query operators back to the Result set from SQL Query option. See Refactor All JDBC Query Operators for details.

Studio: Stream's Schema Description Now Shows in Manual Input View

In the Manual Input view, if the schema for a stream has an entry in its Schema Description field, or if there is a description for a named schema used by the stream, hovering over the information icon for the stream shows that description.

Studio: Feed Simulations From File, Double Quote is Now Default

When defining the structure of CSV files used as data input for feed simulations, in previous releases, Studio's Data File Options dialog used the single quote as the default quote symbol. Starting with release 7.2.0, the default quote symbol for this dialog is the double quote. See Generation Method: Data File.

Studio: Module and Resource Search Path Icons

In the Package Explorer, a project's subfolders that are in either the module search path or resource search path are now marked with the StreamBase logo as an overlay icon.

Studio: New Source Tab in Debug Configuration Dialog

The Debug Configuration dialog now includes a Source (Java) tab, which defines the location of source files used to display source when debugging Java code as part of your StreamBase application. By default, these settings are derived from the current project's Java Build Path. You can override the default settings in the Source tab.

Studio: Custom Icons Supported for Extension Point Operators

Use the General tab of the Properties view for an Extension Point operator to specify a custom icon for that operator to appear on the EventFlow canvas. Icon image files must be in PNG, GIF, or JPG format, and must exist in the project's resource search path. Size your image file as appropriate to fit on the canvas without displacing adjacent operators, aiming for a recommended size of no more than about 64x64 pixels. See Extension Point Operator, and see the ExtensionPoint.sbapp sample in the operator sample group for an example of an extension point with a custom icon.

 Command Line Utility Updates 
Updates for sbadmin

The sbadmin utility has two new commands:

manageJdbcConnections

This command is used with the following syntax:

sbadmin manageJdbcConnections close|count [datasource-name]

If your application has more than one JDBC connection, specify a datasource-name for the connection you want to manage, using a <data-source> name specified in the server configuration file. The count subcommand returns the number of open connections to this data source, while the close subcommand closes the JDBC connection without having to shut down the server or container.

restartContainer
sbadmin restartContainer container-name

The container-name argument is not optional. Restarts the specified container that was previously stopped with the shutdown command.

Updates for sbc and jsbc
readTable

The sbc and jsbc utilities have a new command, readTable, which is used to dump all rows or selected rows of a Query Table or Materialized Window in a running application. You can limit the selection of rows with the --where argument and a predicate expression. Address the table or window as usual with the syntax [containername.][modulename.]tablename, where containername does not need to be specified for the container named default. See the usage text for the sbc and jsbc utilities and the Javadoc for the new StreamBaseClient.readTable() method to understand the command's options.

list tables

The list command of the sbc and jsbc utilities now includes the names of Query Tables and Materialized Windows by default or with the -a option. You can restrict the list to only tables with sbc list tables.

 Expression Language Updates 

The following function was added to the StreamBase expression language in release 7.2.0:

  • Use the contains() function to determine whether a string contains a specified substring. This function returns a boolean value.

    bool contains(haystack string, needle string)
    

The following functions were added in recent maintenance releases:

Comparison expressions that always return null, such as x==null, now result in a warning that you probably meant to use the isnull() function.

 Adapter Updates 
Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
New Summary Column in Thomson Reuters Schema Designer View

The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains Yes. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.

FIX/FAST Support Added to FIX Schema Designer

The FIX Schema Designer (FSD), added in releases 7.0.8 and 7.1.3, now supports the FIX/FAST protocol. FAST stands for FIX Adapted for STreaming, and is a FIX variation used by some trading venues. To design a schema to communicate with such a venue, select FAST Data Dictionary File in the FSD's Select Data Dictionary dialog, then navigate to select the dictionary file provided by the venue. In all other ways, the FSD works the same as before.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

CitiFX FIX Adapter Terminology Updated

The labels for properties of the CitiFX FIX adapter where changed to match current usage in the CitiFX specifications, from Spot to ESP and from RFX to RFS. Existing applications will automatically transition to using the new terms.

IP Adapter Family Now Supports 64-bit StreamBase Server on Windows

StreamBase includes four adapters that take advantage of the third-party WinPcap libraries on Windows, or the libpcap libraries on Linux: the HTTP, IRC, POP3, and SMTP input adapters. Starting with release 7.2.0, these adapters now work with the 64-bit version of StreamBase Server on 64-bit Windows, if you install the latest WinPcap libraries. You no longer need to run the 32-bit Server on 64-bit Windows to use these adapters. On Linux, support is still restricted to StreamBase built for 32-bit Linux platforms.

 API Changes 
Use New Client Header For All C++ Development on Windows

When developing C++ native code for Windows using any of the supported compilers, specify the new <streambase/Client.hpp> header file in your code instead of the old StreamBaseClient.hpp file. The new file identifies when the Visual C++ 2010 compiler is in use and arranges for the correct, compiler-specific version of the supporting libraries to be automatically loaded. See Configuring Visual C++.

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

Access to Query Tables from Java Operators

Use the provisional new Java interface, TableAccessor, in com.streambase.sb.operator to access Query Tables from user-written Java operators and adapters. This API may change in future releases, but we encourage customers to use it now and report results to StreamBase Technical Support.

Read Query Table Rows from Java Clients

In the Java and C++ Client Libraries, use the new readTable() method in the StreamBaseClient class to display all or a specified number of rows from a Query Table or Materialized Window. The .NET API has an analogous new method StreamBaseClient.ReadTable(). The readTable() functionality is also provided in the form of commands for the sbc and jsbc utilities, described above.

Warning About Schema Names

The Javadoc for the Schema class now includes a warning that all Schema constructors that take a String name argument should only use null as the schema name when used by clients, custom operators, and custom adapters. Using a non-null schema name may result in unpredictable behavior in Studio while authoring and typechecking, especially when a named schema exists with the same name. The name argument may be deprecated in a future release.

Schema.hasField(String) Removed

The hasField(String) method was removed from the Schema class, leaving hasField(CharSequence). This change requires you to recompile your existing Java code.

Tuple.getSizeUpperBound() Removed

The getSizeUpperBound() method was removed from the Tuple class. This method was not part of the published API, but if your code uses this method anyway, replace it with getTupleLength() (also an unpublished method) or rewrite the code to remove the need to determine a tuple's size in bytes.

ByteOrder Related Methods Deprecated

All methods related to ByteOrder, previously marked with @exclude, but visible with Eclipse's auto-completion feature, are now marked as deprecated.

One .NET Method Renamed

In the .NET Client Library, the StreamBaseClient::SetDynamicVariable() method was renamed as shown here, with an initial uppercase S. The previous spelling with lowercase s was retained for compatibility, but is now deprecated.

SBTestEnvironment and BaseTestEnvironment Simplified

In the com.streambase.sb.unittest package, the SBTestEnvironment interface and its implementation BaseTestEnvironment were simplified to avoid a compile time dependency on sbserver.jar. This change break backwards compatibility on these classes and their subclasses. Most subclasses will only need to delete the method createRuntimeEnv().

 Deprecated Features 

The following StreamBase features are deprecated as of release 7.2.0 and will be removed in a future release:

  • Security tagging.

  • The JDBC External Adapter. Instead, use a JDBC Table data construct and Query operator.

  • The TIBCO Rendezvous External Adapter. Instead, use the embedded TIBCO Rendezvous Input and Output adapters.

  • The Managed Publishing External Adapter for Thomson Reuters RFA for Windows.

  • In previous releases, the External RFA adapter built for 32-bit Linux was also made available privately to meet certain customer requirements; this Linux version is no longer available.

  • The Lock and Unlock operators and the Lock Set data construct.

  • Implicit conversion to string in queries.

  • In predicate-based Aggregate operators, using the last field name qualifier is deprecated. Instead, use input.fieldname.

The Materialized Window data construct remains available in StreamBase, but its use is discouraged. Materialized Windows may be superseded in a future release by a new feature with similar capabilities.

 Platform Changes 
Studio Now Based on Eclipse 3.7.1

For release 7.2, StreamBase Studio is based on Eclipse 3.7.1. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.6 or 3.7. Eclipse 3.5 is no longer supported for that purpose. See Studio Eclipse Update Site.

Linux GCC 3.3 Edition Retired

For previous StreamBase releases, StreamBase Systems made available a special edition for 32-bit Linux built using the GCC 3.3 compiler, for use with third-party libraries that required using GCC 3.3 or earlier. In particular, this edition supported the privately built Reuters RFA adapter for 32-bit Linux. Advancements in other libraries used by StreamBase make it no longer possible to support the Linux-GCC33 build or the Reuters RFA adapter for 32-bit Linux. Customers using Linux can still subscribe to RMDS 5 feeds using the embedded Thomson Reuters Enterprise Platform for Real-Time Subscribe Adapter (formerly named the Thomson Reuters RMDS Subscribe adapter).

Support for Visual Studio 2010

This release adds Microsoft Visual Studio 2010 to the list of supported compilers for building custom C++ clients and .NET clients on Windows. This means StreamBase now supports version 4 of the .NET framework when used with Visual Studio 2010. See Configure Visual Studio 10.0 Projects to Build Clients for details.

Windows Native SDK Kit Now a Separate Installation

In previous releases, the primary StreamBase kit included the DLL and library files required to build C++ clients and custom functions on Windows. Starting with release 7.2.0, those files are now in a separate kit with its own installation package.

To develop C++ native code for Windows, after you install StreamBase, you must now install the Windows Native SDK Package from the installer file provided as a separate download from download.streambase.com. The same kit is on the StreamBase DVD-ROM and on the downloaded ISO image file. In all cases, the installer file's name is in the form StreamBase-windows-native-SDK-release-datecode.msi. There is one installer package for both 32-bit and 64-bit editions of Windows. Development in a .NET language does not require this kit. See Configuring Visual C++.

Support for Vertica 5.0

This release adds support for Vertica 5.0, both for JDBC access and for high-performance bulk loading with native connectivity.

Logback Version Updated

The bundled version of Logback logging was updated from 0.9.26 to 0.9.30. The version of SLF4J is now 1.6.3.

 Sample Updates 

The sample modules and applications included in the StreamBase kit were updated as follows:

New Sample: Capture Fields for Generic Data Store

Demonstrates how to use a capture field in the schema of a Query Table to make that table reusable in different copies of its containing module. Each instance of the table holds key-value data with different value data types for different instances. See Capture Fields for Generic Data Store Sample.

New Sample: Capture Fields and Parent Schemas

Demonstrates how to use capture fields in conjunction with parent schemas to create a reusable module that can match orders for FX trading in one instance and can match orders for Equities trading in another copy of the identical, unchanged module. The module uses abstract schemas for its input stream and Query Table that become concrete schemas in actual use. See Capture Fields and Parent Schemas Sample.

New Sample: Read Table

Provides sample Java code that illustrates the new StreamBaseClient.ReadTable() method, which is used to display all or a specified number of rows from a Query Table or Materialized Window.

New Sample: Table Operator

Provides sample Java code that illustrates the use of methods in the TableAccessor class that lets Java operators and adapters interact with Query Tables. In particular, this class lets you insert and replace rows, read a single row based on the primary index, perform more complex multi-row queries, delete rows, and truncate entire tables.

Client Sample Updated

The client sample was updated to provide a solutions file for Visual Studio 2010, and to use the new header file, as recommended in API Changes above.

 Documentation Updates 

The StreamBase documentation for release 7.2.0 included the following updates independent of the above updates:

  • A new page in the Authoring Guide, Copy-Paste of EventFlow Components, describes a procedure to prepare a new target module to accept a copy of components that reference schemas or variables in the origin module.

StreamBase 7.1.x Release History

This section lists the significant changes in the StreamBase 7.1.x release series.

What Was New in StreamBase 7.1.12

Fixes

StreamBase 7.1.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.22.

New and Updated Features

StreamBase 7.1.12 added the following updates and new features:

Small Control Stream Behavior Change

When a container, A, is added to a running StreamBase Server, and that container has a connection to the system.control stream, container A no longer receives the STARTING tuple on the control stream. However, other control-connected containers in the same Server instance do receive the STARTING tuple for container A. See The Container Subsystem.

Expression Language Function Updated

The tojson() function was updated to accept an optional second argument, boolean verbosity. By default, or with the second argument expressed as true, the function returns a string formatted as a JSON object, as defined on http://www.json.org. With the second argument expressed as false, the function returns a JSON array.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates

The StreamBase documentation for release 7.1.12 included the following updates independent of the above changes:

  • The StreamBase Path Notation page was updated and clarified, along with better descriptions of the Queues View in both StreamBase Monitor and StreamBase Manager pages. On the Execution Order and Concurrency page, clarified in several places that parallel region is meant where thread was previously used.

  • The StreamBase expression language has silently supported the between-and operator for many releases. Documentation for this operator is now in place in the Expression Language Features page in this section.

  • The Adapter Guide's FIX Adapter page was updated to clarify the difference between the two configuration files required by the StreamBaseFIX engine, and to make explicit that the complete set of XML elements for the first configuration file is documented in the provided example. Examples of the two configuration files on that page are now identical to those shipped with the FIX adapter sample.

  • The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.

  • The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.

What Was New in StreamBase 7.1.11

Fixes

StreamBase 7.1.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.11 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.22.

New and Updated Features

StreamBase 7.1.11 added the following updates and new features:

Studio: New Layout File Behavior for Existing EventFlow Files

To better support StreamBase projects saved in version control systems, this release provides a small behavior change when first opening EventFlow module files that do not have an associated layout file. In previous releases, under these circumstances, Studio would interpolate the layout information and save it back to the EventFlow file (to the .sbapp file). Now, Studio always creates a separate layout file (an .sblayout file) to contain the layout information.

Studio still honors the preference setting as before that determines whether or not to create a separate layout file when creating a new .sbapp file. The new behavior only affects the case when no matching .sblayout file exists when first opening an existing .sbapp file.

Studio: X O Shortcut Has New Behavior for Module References

Studio has provided the X O keyboard shortcut for several releases: drag an operator to the canvas, then press X O, and the output port of the newly dropped component acquires an arc connecting to an output stream automatically named OutputStream. If the newly placed operator has more than one port, X O adds output streams to all ports. This keyboard shortcut performs the same function as right-clicking an output port and selecting Add Output Stream to Port.

This release adds special behavior to both the Add Output Stream context menu and the X O keyboard shortcut if the component dragged to the canvas is a module from the Package Explorer view. In this case, X O adds output streams as before, but it now names them the same as the corresponding streams in the referenced module.

XML to Tuple Operator and its Sample Updated

The XML to Tuple operator was updated to eliminate unnecessary console messages when parsing XML comments and repeated elements that map to a list. The operator's sample was updated to include a new application that parses a complex, hierarchical XML input string, using a FIXML message as the example. See XML to Tuple and Tuple to XML Operator Sample.

RSS Reader Adapter is Now Proxy-aware

The RSS Reader Input adapter was updated with three new properties: Use Proxy, Proxy Host, and Proxy Port. Use these properties to specify a proxy server through which the RSS feed of interest is visible.

EBS Adapter Updated

The EBS adapter was updated with a new data dictionary that supports both EBS Ai FIX 1.3 and 1.4.

Documentation Updates

The StreamBase documentation for release 7.1.11 included the following updates independent of the above changes:

  • The Excel adapter's documentation page now includes a section that describes the server configuration file settings to allow adapter instances to connect to StreamBase Server when its security features are enabled.

  • The Runtime Tracing page in the Test/Debug Guide was updated with better command-line examples and was clarified throughout.

  • Both StreamBase Manager and StreamBase Monitor pages were updated to clarify how weighted moving averages are calculated.

What Was New in StreamBase 7.1.10

Fixes

StreamBase 7.1.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.10 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.21.

New and Updated Features

StreamBase 7.1.10 added the following updates and new features:

New XML to Tuple Converter and Tuple to XML Converter Operators

This release introduces two new Palette operators, the XML to Tuple Converter and the Tuple to XML Converter. These operators are found by dragging the Java Operators icon from the Palette to the canvas, selecting one of the new operators from the list, then pressing Enter.

As their names imply, the new operators are inverses of each other. In fact, the best way to learn the XML syntax expected by the XML to Tuple Converter is to run the same schema through the Tuple to XML Converter.

The XML to Tuple Converter takes a single string field as input, with the string expected to contain a well-formed, XML-encoded message. The operator emits one tuple for each input XML message. The operator has a standard Edit Schema tab in its Properties view in which you specify the schema of the tuple you want to extract from the input XML string. The tuple's schema does not need to describe the entire XML string, which lets you extract only the elements of interest, as long as the schema preserves the hierarchy of the incoming XML. The operator provides a method to extract attributes of incoming XML elements.

The Tuple to XML operator converts StreamBase tuples to XML-encoded messages. Each field in the operator's input port schema populates an element or attribute in the resulting XML message. Each tuple enqueued to the operator results in a single XML message emitted on its output port.

The new operators share a new sample that provides examples that convert both element-only XML and XML that has elements with attributes. The sample EventFlow modules use named schemas to define elements that may include attributes. See XML to Tuple and Tuple to XML Operator Sample.

Studio: Union Operator Behavior Change

The behavior of the Union operator was changed slightly as follows: when dragging an arc to a Union operator, the standard create-new-port behavior is only triggered when the Union operator has no available input ports.

Studio: New Problems View Entries

StreamBase Studio now places entries in the Problems view when it detects semantic errors in the server configuration file that affect the current project's typechecking environment. For example, referring a custom function to a Java operator that does not exist now shows a Problems view entry with the name of the function that could not be configured. Resolve such errors early in the development process.

Log Adapter Now Logs Asynchronously By Default

The Log Asynchronously property for new Log adapters is now enabled by default.

IBM WebSphere MQ Adapters Updated

The IBM WebSphere MQ subscribe (input) and publish (output) adapters were updated to provide support for topics as well as queues. For the input adapter, the following new properties control the use of topics: Use Topics, Default Topic, Allow Dynamic Topics, and Max Topic Count. See IBM WebSphere MQ Input Adapter.

The output adapter has the following new properties: Use Topics, Default Topic, and Topic Field Name. See IBM WebSphere MQ Output Adapter.

Thomson Reuters TREP-RT Adapter Updated

The Thomson Reuters TREP-RT Subscribing Input adapter was updated to add a new property, Derive Update Type from Market Feed Data, which is active when the current message model is Market Feed (RMDS 5). When enabled, this property causes the adapter to derive the specific update message type from the raw market feed data. This might be used when the useMarketfeedUpdateType property in the RFA configuration file does not function as expected in certain Thomson Reuters environments. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

What Was New in StreamBase 7.1.9

Fixes

StreamBase 7.1.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.9 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.20.

New and Updated Features

StreamBase 7.1.9 added the following updates and new features:

Server Configuration File Smart Merge Improvements

This release extends and updates the Smart Merge feature for server configuration files, supplementing the support for standard XInclude with a new configuration file element <sb-include>, described in Using Modular Configuration Files in the Administration Guide.

This release also introduces a new utility, sbconfutil, which allows you to see as a single file the merged results of multiple inclusions. See the sbconfutil reference page, which is also available as a man page on UNIX platforms.

New 64-bit .NET Redistributables Kit

StreamBase installation DVD-ROMs and installation download sites now include both 32-bit and 64-bit versions of the StreamBase .NET Redistributables kits. Unlike the 32-bit version, the 64-bit version includes only the required StreamBase assemblies and supporting DLLs, and does not attempt to install a .NET framework. Install either kit, but not both, to support running StreamBase .NET client programs on machines without StreamBase installed. See Redistributing the .NET Client Library.

Aggregate Operator Updated

In the Edit Dimension dialog that you open from the Dimensions tab of the Aggregate operator, the default size of the Open, Emit, and Close fields is now wider, and you can now use the F2 key to open a secondary Edit Expression pop-up dialog for each field. When you save a long expression in one or more of these fields, the dialog resizes when reopened to show as much of the expression in each field as possible.

New Bloomberg Tradebook FX FIX Adapter

This release includes the Bloomberg Tradebook FX FIX adapter that allows a StreamBase application to connect to the trading infrastructure provided by Bloomberg Tradebook FX, and to exchange FIX messages with it. See Bloomberg Tradebook FX FIX Adapter.

New CME Market Data Platform FIX/FAST Input Adapter

The CME Market Data FIX/FAST adapter allows a StreamBase application to connect to CME's Market Data Platform to receive market data in the form of FIX/FAST messages. The adapter uses the high-speed, low-latency StreamBaseFIX engine to decode the incoming FAST messages. The adapter is described in CME Market Data Platform FIX/FAST Input Adapter and has a sample.

New Apache Flume External Adapters

This release supports new Apache Flume External Input and Output adapters, which allow a StreamBase application to integrate with Apache Flume 1.1 or later as either a Flume sink or source. The Flume adapters are separately licensed and, like other external adapters, this adapter pair has a separate installer downloadable from your usual download site. See Apache Flume External Adapters for details.

New Recovery Option for Adapters Supporting FIX/FAST

A new property was added to the BM&FBovespa UMDF Input adapter and to the CME Market Data FIX/FAST adapter, which specifies a preference for the method to be used for recovering missing incoming FAST messages. The options are between either the TCP-based Historical FIX channel or the UDP-based Market FAST channel.

Exegy Input and Monitoring Adapters Rewritten

The Exegy Input adapter and Exegy Monitoring adapter were rewritten to take advantage of the Exegy Java API, resulting in the following changes:

  • The Exegy adapters are now supported on all StreamBase platforms.

  • The adapters require an Exegy-supplied JAR file, XCAPI.jar, in the CLASSPATH, and the names of the required .so or DLL files have changed.

  • For the Exegy Input adapter, some properties were renamed: Level 2 Book Depth to Price Book Depth; Add Performance Trace to Add Adapter Latency; Include Receipt Nanotime to Include Callback Nanotime. The Add Ticker Plant Latency property was added.

  • The field XC_ADAPTER_LATENCY_MICROS was renamed to XC_ADAPTER_LATENCY_NANOS, and now contains entries in nanoseconds, not microseconds.

  • In the Exegy Monitoring adapter, the LinesOut schema was changed as follows: the HIRATE_TIMESPAN and BURSTRATE_TIMESPAN top-level fields were removed; PEAK_QUOTE_HIRATE, PEAK_TRADE_HIRATE, PEAK_QUOTE_BURSTRATE, and PEAK_TRADE_BURSTRATE fields were changed from per-line to top-level fields; and LINE_STATE values no longer have an XLNST_ prefix. For example, XLNST_UP is now UP.

New Keyboard Shortcut for Clean File

Release 7.1.8 added the StreamBaseClean File context menu option to clean and rebuild individual EventFlow modules. Starting with this release, you can use the Ctrl+Alt+T keyboard shortcut to initiate the same action.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_31. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Methods for C++ Client Library

The C++ Client Library was augmented with two methods added to the sb::ClientSettings class:

unsigned int ClientSettings::getMaxDequeuerQueueSize()
void ClientSettings::setMaxDequeuerQueueSize(unsigned int dqSize)

The associated setting controls the maximum number of tuples stored in the client's internal dequeuer queue before applying back pressure on the connected StreamBase Server. See the Doxygen documentation for details.

StreamBase Release-Build Number Now Visible

For most purposes, StreamBase releases are well distinguished by their release numbers in three-position major.minor.maintenance format, such as 7.1.9. On rare occasions, you may need to report the fourth position build number. Starting with this release, the full four-position release number is visible from the command prompt in STREAMBASE_HOME/doc/VERSION.txt and in the documentation at the top of the Release Notes page.

Documentation Updates

The StreamBase documentation for release 7.1.9 included the following updates independent of the above changes:

  • A new page in the Authoring Guide, String Values in Parameters, suggests a standard way to pass string values to expression language contexts without using escaped quotes or quotes within quotes in the parameter definition.

  • The StreamBase Java System Properties page was reorganized, clarified, and extended.

What Was New in StreamBase 7.1.8

Fixes

StreamBase 7.1.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.8 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.18.

New and Updated Features

StreamBase 7.1.8 added the following updates and new features:

New Smart Merge for XIncluded Fragments of Server Configuration Files

Release 7.0 added the ability to use the XInclude standard to break server configuration files into reusable pieces. This release extends that support with a new smart merge feature that allows you to XInclude an entire server configuration file into another, including the root element, with any duplicated elements merged together into one element in the resolved file. Child elements that do not conflict are simply merged, while child elements with conflicting definitions are resolved, usually with the last definition winning. See the revamped Using Modular Configuration Files page for details.

Beta Feature: Module Signature Change Analysis

This release includes a preview of the module signature feature, which is expected to be added to a future release. To enable, use WindowPreferences, open the StreamBase StudioTypechecking panel, and select the check box labeled Enable module signature change analysis during builds. This directs Studio to store a hash of the signature for all modules and all intermediate stream schemas in the metadata of each module file. This in turn allows Studio to build dependent modules only when the hash value changes, which means only when the module itself has changed. For large, complex applications with many modules, this setting speeds up building of the application as a whole.

Use Parameter to Specify Disk vs Memory Query Table Type

In the Properties view for a Query Table, in the Table Settings tab, the radio button control to select In memory or On disk table types was replaced with a drop-down list whose third entry is a blank line. Select the blank line to enter the name of a parameter in the form ${param-name}, which allows you to specify the choice of table type at runtime. For example, if you set the Type control to the parameter ${tabletype}, then the module that contains the table must contain or be passed a parameter of that name with either disk or memory as its value.

Several Studio Updates to Support Minimizing Imports

This release introduces several new features in StreamBase Studio that help you detect and eliminate any schemas or constants imported into a module that are not currently being used by that module. Eliminating unused imports speeds up the build times for large StreamBase applications. These features are discussed in a new page in the Authoring Guide, Minimizing Module Imports.

New Context Menu Option: Clean File

In large StreamBase applications with many module references, building the entire application can take a noticeable amount of time. Starting with this release, you can specify building of one module at a time instead of building the entire application. To do this, select an individual EventFlow module's name in the Package Explorer view, right-click, and select StreamBaseClean File. This option does not appear for StreamSQL modules.

Configuration File Typechecking Improved

In previous releases, if you changed anything in a project's server configuration file, Studio would re-typecheck the build environment for the entire project. As of this release, Studio detects the type of changes made to server configuration files, and only rebuilds when necessary. For example, a change in XML comments no longer rebuilds the project.

New Ignore Labels Layout Option

A new preference setting, Ignore label widths during auto-layout was added to the EventFlow Rendering page of StreamBase Studio preferences. This setting is disabled by default; enable it to direct Studio to ignore the width of component labels when running Layout Application (Ctrl+L), which allows long labels to overlap on the canvas. For the most compact canvas display for large modules, enable this option and disable the slanted arcs preference.

sb-config Command Updated

The sb-config command was updated to provide better support on UNIX for directories named with spaces. The Windows version of the command was not changed, and on UNIX, the Java-related command options were not changed. See the sb-config reference page for details.

Exegy Adapter Updated

The Exegy input adapter now has an Include Receipt Nanotime property, which, when enabled, adds an XC_ADAPTER_INITIAL_NANOTIME field to the Equities, Commodities, and PriceBook output ports. See Exegy Input Adapter.

Thomson Reuters TREP-RT Subscribing Adapter Updated

The Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter was updated to support a new property, Disable Market Price View Requests. When enabled while using the Market Price message model, the OMM View Request optimization for subscribing to a selected set of fields is disabled.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_30. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updates
  • The descriptions for the strptime(), parse_time(), strftime(), and format_time() functions were extended and corrected to clarify the differences in time zone handling between the four functions. The Absolute Timestamps section of the Expression Language Functions page now has a Usage Note on the same subject.

  • Support for lowercase and uppercase %Z format strings to parse time zone information was added to the strptime() function in release 7.1.0. However, documentation for those options was inadvertently omitted in release 7.1.5. The current release restores the missing documentation.

  • This release includes new features and technical fixes for Studio Help and sbhelp:

    • Studio Help and sbhelp have a new tab at the bottom of the left column. Select the second tab on the bottom to see index entries for the entire set of guides. This is the same index information found in the topic index linked from the main Contents column and from the home page, but now available as part of the Eclipse help system. In the 7.1 release series, which is based on Eclipse 3.6, index entries only appear when the current Scope is set to All topics.

    • A technical fix improved search results, especially for search phrases that include the word "StreamBase".

    • The Contents tab on the left side of Studio Help and sbhelp was slightly reorganized to provide links to the Javadoc, Doxygen, and PyDoc documentation at the top level of the API Guide.

    • The top-level Contents page for the API Guide is now automatically generated. The former API Guide Contents page is now one level down.

    • Likewise, the Samples Guide contents page is now automatic, and the book's former contents page in table form is one level down.

    • The Contents page of several more books now carries the blue Reference Pages box for quick jumps to frequently needed pages.

    • Formerly, only the Getting Started Guide had Next and Prev links that allow you to page through the book in sequence without resorting to the Contents column. In this release, these links were added to the Installation Guide and StreamSQL Guide.

What Was New in StreamBase 7.1.7

Fixes

StreamBase 7.1.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.7 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.12 and 6.6.18.

New and Updated Features

StreamBase 7.1.7 added the following updates and new features:

New Velocity Analytics Adapters

This release includes two adapters contributed by Thomson Reuters for connecting to the Thomson Reuters Enterprise Platform for Velocity Analytics. These are the Velocity Analytics Broadcast Server Input Adapter and the Velocity Analytics UTSS Output Adapter. Both adapters are illustrated in a new set of samples, described in Thomson Reuters Velocity Analytics Samples.

New Exegy Adapters

Release 7.1.6.2 included a new adapter for the Exegy Ticker Plant data feed. The adapter is described in Exegy Input Adapter in the Adapters Guide, and has a sample, described in Exegy Adapter Sample in the Samples Guide.

In addition, there is a new Exegy Monitoring adapter described in Exegy Monitoring Adapter. The Exegy sample includes modules that illustrate both the Exegy Input and Exegy Monitoring adapters.

Behavior Change for Server Configuration File Errors

Certain typecheck errors in a server configuration file can result in the entire file considered invalid and discarded for a particular run of StreamBase Server. The handling of these errors was changed as of this release.

In previous releases, an error such as a failure to locate the files that support a custom function class would result in logging a warning to the Error Log or Problems view. To ensure that errors of this type are not missed (since they are often the root cause of other application typecheck errors), Studio now shows these errors as an error against the server configuration file itself.

PATH Changes for Studio-Launched Server

The PATH environment variable passed to StreamBase Server when launched from Studio now includes the streambase-install-dir/bin directory appropriate for the platform. This feature only affects the ability to locate StreamBase utility commands when run from within StreamBase Server by means of an External Process operator or the SB Admin operator. For Linux, a Studio-launched Server's PATH includes /opt/streambase/bin. For 32-bit Windows and for a 32-bit Server launched from 64-bit Windows, the Studio-launched Server PATH includes streambase-install-dir\bin. For 64-bit Windows, the PATH includes streambase-install-dir\bin64;streambase-install-dir\bin.

The Return of Slanted Arcs

As of this release, there is a new preference setting in the WindowPreferencesStreamBase StudioAuthoringEventFlow Rendering panel, Use slanted arcs during arc routing and auto-layout.

When enabled (the default), arcs placed by the Layout Application (Ctrl+L) and Reroute Arcs (Ctrl+Alt+L) functions are shown with an angled slant between components. When disabled, arcs are only placed horizontally or vertically, with right angles for every direction change. This feature restores to release 7.1.7 and later the layout cosmetics of StreamBase releases 6.6 and earlier. In addition, an automatically laid out module is now slightly denser than in earlier 7.x releases.

Expression Language Updates

This release adds the getParallelRoot() function.

Pattern Operator Now Accepts Parameters for Window Size

In the Pattern operator, the Window Size field in the Pattern Settings tab now accepts a module parameter in the form ${ParamName}.

FIX/FAST Support Added to FIX Schema Designer

The FIX Schema Designer (FSD), added in release 7.1.3, now supports the FIX/FAST protocol. FAST stands for FIX Adapted for STreaming, and is a FIX variation used by some trading venues. To design a schema to communicate with such a venue, select FAST Data Dictionary File in the FSD's Select Data Dictionary dialog, then navigate to select the dictionary file provided by the venue. In all other ways, the FSD works the same as before.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

Thomson Reuters TREP-RT Subscribing Input Adapter Updated

The Thomson Reuters Enterprise Platform for Real-Time (TREP-RT) Subscribing Input adapter (formerly known as the Thomson Reuters RMDS Subscribing Input adapter) now supports thin tuples for the MarketPrice message model. Previously, thin tuples were supported for the MarketFeed message model only, although the adapter incorrectly allowed thin tuples to be configured for other message models.

In addition, the adapter gained a new property, Include Subscribe Pass-Thru Field property on the Tuple Properties tab of its Properties view. When selected, this property requires a field named PassThru to be added to the schema of the DynamicSubscribe input port. There are no constraints on this field's data type. The adapter copies the value from this field to a corresponding field of each each market data tuple emitted as a result of the subscription.

TIBCO Rendezvous Input Adapter Updated

The TIBCO Rendezvous Subscribing Input Adapter has a new property, Ignore Advisory Messages. When enabled, the adapter discards messages with subjects that begin with _RV.

E-mail Sender Output Adapter Updated

The E-mail Sender Output Adapter has two new properties, Enable Event Port and Event on Send Success. When the first is enabled, the adapter gains an event output port that emits event tuples when errors occur sending e-mail. When the second property is enabled, the event port also emits a tuple when e-mail is successfully sent.

Platform Support Changes

This release adds support for Vertica 5.0, both for JDBC access and for high-performance bulk loading with native connectivity, and drops support for Vertica 3.5.

The JAR files supporting the StreamBaseFIX FIX engine were updated to version 2.10.7. The JAR files supporting FIX/FAST were updated to version 2.11.8.

Documentation Updates

What Was New in StreamBase 7.1.6

Fixes

StreamBase 7.1.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.6 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.11 and 6.6.17.

New and Updated Features

StreamBase 7.1.6 was reissued in December, 2011 to include a new adapter:

New Exegy Adapter

This release includes a new adapter for the Exegy Ticker Plant data feed. The adapter is described in Exegy Input Adapter in the Adapters Guide, and has a sample, described in Exegy Adapter Sample in the Samples Guide.

StreamBase 7.1.6 added the following updates and new features:

Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
New Summary Column in Thomson Reuters Schema Designer View

The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains Yes. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.

Update for Several StreamBase Utility Commands

The StreamBase utilities jsbadmin, jsbc, sbbundle, and sbfeedsim were updated to accept the -J option anywhere on the command line instead of its former required first position. You can now specify -J options with or without a following space.

Update for the eval() Function

The expression language's eval() function gained an optional fourth parameter to specify the evaluation cache size. See eval().

What Was New in StreamBase 7.1.5

Fixes

StreamBase 7.1.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.11 and 6.6.17.

New and Updated Features

StreamBase 7.1.5 added the following updates and new features:

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

Timeout Setting per Query Operator for JDBC Connections

The Query operator associated with a JDBC data construct has a new property, Timeout, on the Query Settings tab of the Properties view. Use this field to specify an integer time in milliseconds after which this particular query times out. You can still use the jdbc-query-timeout option in the <data-source> element of the server configuration file to specify a default timeout for all queries to that data source.

New Property for JDBC Connections

This release adds the Java system property streambase.jdbc.max-repeat-exceptions. The default value of 1 tells StreamBase Server that a single instance of a JDBC exception is regarded as an exception. Specify zero to mean that JDBC exceptions can be repeated without limit. Use an integer, n, greater than 1 to specify that JDBC exceptions might occur n times before succeeding.

C++ Client Library Update

The Timestamp class in the C++ Client Library now uses snap to end of month semantics for the setMonth() method. The following code fragment illustrates how this works:

Timestamp tm;
tm.setYear(2011);
tm.setMonth(10);
tm.setDayOfMonth(31);
// tm now represents October 31, 2011
tm.setMonth(2);
// tm now represents February 28, 2011
New Option for the sbd Command

The sbd command has a new option, --override-version-check. By default, when you ask StreamBase Server to run a bundle file, it checks the StreamBase version that created the bundle and refuses to run a bundle not created with the same major.minor release number. You can use the new option to direct the server to override this check and try to run the bundle file anyway. Incompatibilities between the bundled application and the server may still prevent the bundle from running.

New and Updated Options for the sbargen Command

The --if-modified option of the sbargen command, when determining whether an application needs to be re-archived, now ignores changes in files whose names match the following default regular expression patterns:  .*\.log,  .*\.bak,  .*~, and  #.*#

You can customize the list of exclusion patterns with the new --exclude-pattern option, which can be specified multiple times.

New Expression Language Function

The expression language gained the join() function, the opposite of split(). Use join() to return a string formed by concatenating the members of a list of any type, and interposing a specified character or string between each element.

Excel Adapter Updated

The Excel External adapter was updated such that the buffer-size configuration parameter and TUPLENUM tag are now limited to values between 1 and 1000. Prior to this change, there was no limit on buffer-size, and TUPLENUM was limited to values between 1 and 999.

JMS Adapter Updated

The embedded JMS Input and Output adapters were updated such that the following events are now sent to the Status output port:

Connecting
Connection Failed
Connection Retries Exceeded

In addition, both adapters have a new property Log Full Call Stacks. When selected, exception call stacks are shown independent of the adapter's Log Level setting.

29West LBM Adapters Updated

The 29West LBM Subscribing and Publishing adapters were updated to support pre-defined messages. Enable support for this feature with the new Enable Pre-defined Messages property. The adapters have several other new properties that control how a publish and subscribe adapter pair agree on message definitions in cooperation with the StreamBase schema.

Documentation Updates

The StreamBase documentation for release 7.1.5 included the following changes independent of the above updates:

  • On the Expression Language Functions page, the descriptions for the strptime(), strftime(), and strpinterval() functions now have tables that describe the supported format pattern strings, instead of off-page references to Open Group documentation. The interval() function refers back to strftime() for its pattern string descriptions.

    Likewise, the description of the format_time() function now has a table of the supported pattern characters from the Java SimpleDateFormat class, instead of references to the Java documentation. The parse_time() and timestamp() functions refer back to format_time().

    These changes make it easier for StreamBase developers working on a computer with no Internet access.

What Was New in StreamBase 7.1.4

Fixes

StreamBase 7.1.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.10 and 6.6.16.

New and Updated Features

StreamBase 7.1.4 added the following updates and new features:

Beta Feature: Background Typechecking

This release includes a preview of the background typechecking feature, which is expected to be added to a future release. To enable, use WindowPreferences, then open the StreamBase StudioTypechecking panel and select the check box labeled Typecheck EventFlow Editors in background. This directs Studio to run typechecking operations as a background task, with details visible in the Progress view. In the default disabled state, Studio shows a modal dialog box during long typecheck operations.

This feature allows you to enable the Automatically typecheck components preference even when editing large modules with long typecheck requirements. If you encounter any issues using this feature, report them to StreamBase Technical Support.

Windows Installers Are Now Digitally Signed

As of this release, all Windows MSI installer files are digitally signed, including the installers for external adapters and Frameworks.

Aggregate Operator Updated

The field name qualifier input. is now valid in expressions in the Aggregate operator, and has the same meaning as the input1. qualifier.

JMX Management Bean Extended

Since release 7.0, StreamBase Server has been instrumented with a JMX-compliant Managed Bean that provides access to status information and provides control methods similar to the sbadmin command. As of this release, JMX support is extended to allow management of dynamic variable values, and to allow several profiler operations. See JMX Support.

Better Support For Multiple Editor Windows on the Same File

This release of Studio provides better support for opening two or more EventFlow Editor sessions on the same EventFlow file. This feature is described on the EventFlow Editor Canvas topic of the StreamBase Studio Reference.

Studio Now Allows Multiple-Selection Deletes in the Definitions Tab

In the Definitions tab of the EventFlow Editor, the Delete key is no longer blocked if you selected multiple constants, schemas, and table schemas at the same time. This allows you to delete multiple related items in one pass.

Studio New Menu Now Includes Java Class and Interface

As a convenience, the New menu in Studio now includes entries for Class and Interface, which lets you create new Java class or interface files without switching to the Java perspective. If you start this release with an existing Studio workspace from a previous release, you must run WindowReset Perspective to make this feature visible.

Studio New Feature: Insert Global Java Operator Directly Into Arc

Release 7.1.0 introduced the ability to drag an operator from the Palette view and insert it directly into an arc, with automatic reconnection of the arc to the operator's input and output ports. As of 7.1.4, you can now insert a global Java operator into an arc in the same ways. This feature does not work for the StreamBase Admin operator (which has only an input port by default), but works for the other four global Java operators and for any custom Java operators that have at least one input and one output port. The same feature works by selecting the arc of interest, then invoking the O V keyboard shortcut. This feature is described in Inserting a Component Into an Arc.

Imported Projects Now Create java-src Folder

When exporting a Studio project to an archive file, Studio does not add the java-src folder to the archive if the folder is empty. In previous releases, when importing that archive file into Studio, the project would fail typechecking only because of the required but missing java-src folder. Starting with this release, when importing projects from an archive file, Studio automatically adds the java-src folder if not present in the archive.

Two New Expression Language Functions

The functions new_tuple_subset() and new_tuple_subset_loose() were added to the expression language.

.NET Client Library Updated

To provide better alignment of the StreamBase .NET Client Library with the Java Client Library, the .NET API was updated to add new field creation methods to StreamBase.SB.Schema, and to deprecate older field creation methods.

Java Client Library Updated

In the com.streambase.sb.unittest package, in class SBServerManager, the startContainers() methods that accept an initial Set<String> argument were extended to accept null as an empty set. The result is to start all containers.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support through version 7.7.2 of the Trading Technologies data dictionary.

Wombat MAMA Input Adapter Supports MAMA API Version 5

The Wombat MAMA Input adapter was updated to support version 5 of the MAMA API. To specify the use of MAMA version 5, in the adapter's Properties view, for the MAMA Version property, select 4.x and above, which is now the default setting.

TBF Input Adapter Updated

The TBF Input adapter was updated to add new configuration options, QueueCapacity, RequestRetransmitOnHeartbeatTimeout, and to increase the default blocking capacity of the adapter.

IBM WebSphere MQ Adapter Updated

JAR files provided by IBM that support WebSphere MQ are no longer shipped as part of the StreamBase kit. Documentation topics for the IBM WebSphere MQ Input and Output adapters and sample were updated to describe where to install the MQ JAR files you obtain from IBM.

Deutsche Bank AutobahnFX Trading System Adapter Updated

JAR files provided by Deutsche Bank that support the AutobahnFX Trading System are no longer shipped as part of the StreamBase kit. Documentation topics for the AutobahnFX Trading System adapter and its sample were updated to describe where to install the Autobahn FX JAR files you obtain from Deutsche Bank.

UBS FIX Adapter Updated

The data dictionary for the UBS FIX adapter was updated to the latest version.

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter was updated to send its e-mail messages in a separate, background thread and to add the new Outgoing Message Queue Capacity property. Set this to a value large enough to accommodate the maximum expected e-mail message burst.

Log Output Adapter and Sample Updates

The Log Output Adapter sample was revised to show three examples of formatting that the adapter can apply to log messages. The Log Output adapter topic in the Adapters Guide was revised, corrected, and expanded, and now describes the Log Asynchronously option. The sample's topic in the Samples Guide was revised and expanded.

Binary File Reader Adapter Updated

The Binary File Reader adapter now emits a close event tuple when it finishes reading a file.

Documentation Updates

The StreamBase documentation for release 7.1.4 included the following changes independent of the above updates:

  • The instructions for configuring Visual C++ to build StreamBase clients and custom functions for Windows were expanded and clarified. See Configuring Visual C++.

  • In the Authoring Guide topic for the Query operator, the Output Settings Tab section was reorganized and expanded, and has a new subsection, Using Aggregate Functions. The Group Options Tab section was entirely rewritten and corrected.

  • Notes were added to the Expression Language Features and Dynamic Variables topics to clarify that, in any expression anywhere in StreamBase, unqualified names are resolved first against the names of any dynamic variables in the current module, and then against the names of fields in currently available streams. This means that a dynamic variable named foo can inadvertently mask a field also named foo, depending on context.

  • The section for the -b option on the sbd reference page, and the Background Mode on Windows section of the Server Background Mode and Logging page were rewritten to emphasize and better explain why we discourage running sbd -b on Windows.

  • The expression language's nanotime() function was moved from the Timestamp category to the System category with an updated description.

What Was New in StreamBase 7.1.3

Fixes

StreamBase 7.1.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.3 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.8 and 6.6.14.

New and Updated Features

StreamBase 7.1.3 added the following updates and new features:

New FIX Schema Designer

This release introduces the FIX Schema Designer, which provides a way to generate named schemas for a set of FIX message types for use with the FIX adapter or any StreamBase adapter that uses the FIX protocol. See FIX Schema Designer View for details.

If you use an existing Studio workspace after installing this release, the FIX Schema Designer view may not appear by default. In this case, either run WindowReset Perspective for the SB Authoring perspective, or directly open the new view with WindowShow ViewOtherStreamBase FIXFIX Schema Designer.

New Private Folders Feature

In the Module Search Path panel of the Project Properties dialog, you can now designate folders as private. Modules and interfaces in private folders remain in the module search path for the containing project, but are removed from the module search for any referencing projects. See Private Module Folders on the Module Search Path page.

New Feature: Insert Adapter Directly Into Arc

Release 7.1.0 introduced the ability to drag an operator from the Palette view and insert it directly into an arc, with automatic reconnection of the arc to the operator's input and output ports. As of 7.1.3, you can now insert an input or output adapter into an arc in the same ways. This feature only works for adapters whose default configuration has at least one input port and at least one output port. If the adapter has more than one input or output port by default, the arc is connected to the first port on that side. Adapters that do not meet this criterion are dropped onto the canvas as before at the arc's location. This feature is especially useful for inserting a Log Output adapter into an arc by dragging the Output Adapter icon from the Palette view to the arc. This feature is described in Inserting a Component Into an Arc.

StreamBase Authentication Updates

StreamBase Server authentication against LDAP servers that formerly required using the StreamBase Proxy Server was moved to StreamBase Server itself, and was updated to authenticate and authorize users against multiple LDAP domains. These features are enabled by means of the following new or updated child elements of the security element of the server configuration file:

  • localhost-only element.

  • param names enabled, truststore, and truststore-password for the ssl-authentication element.

  • The ldap-server-algorithm param now supports the first-hit value in addition to round-robin.

  • New param names role-root, role-search, and role-attribute for the server element allow you to define Active Directory or other LDAP servers using root-dn/password credentials, and to query and retrieve user role information from the LDAP server.

Initial documentation for these features is in comments in the skeleton configuration file generated with sbd -s.

Copy Schema From Dialog Now Supports Interfaces

You can now copy schemas from streams and components in interface files as well as from EventFlow and StreamSQL modules, when using the Copy Schema From dialog. See Copying Schemas in the Authoring Guide.

Studio Now Remembers Selected Output Streams Between Application Runs

For each application or module run in StreamBase Studio, Studio now stores the output streams you select for viewing in the Application Output view, and restores the same stream selection the next time you run the same application. The saved stream selections persist even if Studio is closed and reopened. When you launch another application for the first time, the stream selection in the Application Output view is reset to All Streams.

Module Call Hierarchy View Updated

Entries in the Module Call Hierarchy View now show the name of an Extension Point first, followed by the StreamBase interface file implemented by that extension point. This more accurately reflects the action to expect from double-clicking an extension point name, which is to select and highlight that extension point in the EventFlow Editor for the containing module. To open the interface file itself, right-click and select Open Module File from the context menu, as before.

Trace Debugger Color Legend

The Trace Debugger view now has a link that pops up a reminder of the color legend for the debugger.

.NET Client Library Update

In the .NET Client Library, the StreamBase::SB::Timestamp class was made serializable.

New BM&FBovespa UMDF Adapter

The BM&FBovespa UMDF adapter allows a StreamBase application to connect to BM&FBovespa's Unified Market Data Feed to receive market data in the form of FIX/FAST messages. The adapter uses the high-speed, low-latency StreamBaseFIX engine to decode the incoming FAST messages. The adapter is described in BM&FBovespa UMDF Input Adapter and has a sample, described in BM&FBOVESPA UMDF Input Adapter Sample.

Excel External Adapter Updated

The Microsoft Excel External adapter was updated to optionally prompt for a password, which it automatically enciphers and passes to StreamBase Server for authentication. Enable this feature by setting the prompt-for-password element's value to true in the adapter's configuration file. This feature is described in the Configuration File section of the Excel adapter documentation.

Thomson Reuters RMDS Subscribing Input Adapter Sample Updated

The sample for the Thomson Reuters RMDS Subscribing Input adapter was updated to add useMarketfeedUpdateType=true to its default configuration file. For SSL connections when using the Market Feed message model only, this directs the adapter to emit Market Feed corrections as CORRECTION messages.

Lime Citrius Adapter Updated

The Lime Citrius Quote adapter was updated to use version 2.0.6 of the Lime Citrius API.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a STAMP configuration parameter, RetranRetryWaitTime.

FXall Provider Adapter Updated

The output adapter in the FXall Relationship Trading Provider adapter set was updated to add the Log XML Messages and INFO Level property. Previously, only the input adapter of this adapter set supported this option.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support version 7.6.5.29 of the Trading Technologies data dictionary.

Documentation Updates

The StreamBase documentation for release 7.1.3 included the following changes independent of the above updates:

  • The Rules of StreamBase Execution Order were updated and extended.

  • The Microsoft Excel External Adapter documentation was updated to extend and correct the sample code for publishing tuples to StreamBase from Excel.

  • The reference pages (and man pages on UNIX) for several commands were updated to reflect support for the -J option to specify per-invocation JVM arguments. The -J option is an updated and more convenient alternative to using the STREAMBASE_JVM_ARGS environment variable for this purpose. The commands affected are: jsbadmin, jsbc, jsbclientgen, sbargen, sbbundle, sbcipher, sbd, sbfeedsim, sbprofile, sbproxy, sbrecord, and sbtest. The following commands from external adapter kits also support -J: sb-ems-* and sb-jdbc.

  • The Drools Operator page was updated to reflect the name change of the optional third-party package from Drools Expert to Drools Core and to rework the steps for downloading and installing it.

  • Documentation for the operator-parameter element of the server configuration file was updated and expanded, both in the skeleton configuration file comments and in the StreamBase Server Configuration File XML Reference.

What Was New in StreamBase 7.1.2

Fixes

StreamBase 7.1.2 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.2 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.7 and 6.6.14.

New and Updated Features

StreamBase 7.1.2 added the following updates and new features:

Thomson Reuters Velocity Analytics Database Now Supported

The Velocity Analytics tick-store database from Thomson Reuters is now supported for standard JDBC access.

New Studio Typecheck Behavior

In a project refresh, Studio now runs typechecking only for modules that are currently visible in the foreground, and defers typechecking for modules whose tab is in the background. Project refresh occurs when you run StreamBaseRefresh Project Typecheck Environment (Ctrl+F5) or when you save a module or interface used by other modules. Any deferred typechecking runs when you bring a background module to the foreground, including when prompted to save the module on Studio shutdown.

New Studio Typecheck Logging

An SLF4J Logger named EventFlowEditorTypecheck now reports whenever an Editor session typechecks. You can see these logs in the Studio Support Console with StreamBase Logging Level set to DEBUG or higher, or you can specify custom logging for this Logger in your logging configuration file. See Using StreamBase Logging.

Typecheck Warnings in Properties View

Typecheck warnings, introduced in release 7.1.0, are now shown at the top of the Properties view for a component with a warning condition. See Typecheck Warnings.

New Studio Save Optimization

To provide better compatibility with version control systems, in cases where only layout changes have occurred, Studio now saves only the module's .sblayout file. In previous releases, Studio would save both .sbapp and .sblayout files for any change.

StreamBase Authentication Now Supports Enciphered Passwords

Basic StreamBase authentication now supports connecting to StreamBase Server with URLs that include an enciphered password, as described in Enciphering Passwords. This affects all client access to the server, including StreamBase-provided clients such as sbc and sbadmin, and affects access from most adapters.

EventFlow Debugger Performance Improvement

The performance of the EventFlow Debugger was dramatically improved for applications that carry very large schemas with a large number of fields.

Adapter Wizard Updates

The New Adapter Wizard now automatically refreshes the current project's typecheck environment on completion of the wizard, so that the newly created adapter's icon automatically appears in the Project Adapters folder of the Insert Input Adapter or Insert Output Adapter dialog, as appropriate. (The New Operator Wizard gained this functionality in release 7.1.0.) Documentation for both wizards was updated and clarified. See Using the StreamBase Embedded Adapter Wizard and Using the Java Operator Wizard.

New JDBC Query Timeout Parameter

In StreamBase Server configuration files, the param child element of the data-source element accepts a new value, jdbc-query-timeout. This parameter specifies an integer number of milliseconds that StreamBase waits for each JDBC query operation to execute. The default is 0, which means wait forever for each query to return; this default matches the behavior of StreamBase before this parameter was added. Specify a value such as 15000 (15 seconds) to prevent StreamBase Server from hanging in rare cases where the JDBC server never responds to a query. See StreamBase Server Configuration File XML Reference.

Stricter Operator.postShutdown() Behavior

The postShutdown() method of the Operator class was updated to more strictly wait for an operator or adapter's run threads to exit (or time out) before running. This strict behavior of postShutdown() is the default behavior as of this release, and improves the shutdown behavior of all operators and adapters, whether provided by StreamBase or custom. You can restore the postShutdown() method's non-strict behavior by setting the streambase.java-operator.unsynchronized-shutdown system property to true.

Independent Threads Now Registerable for Operators and Adapters

Custom operators and adapters can now register independent threads that are not derived from the Operator class for purposes of thread CPU tracking in StreamBase profiling tools. In the Javadoc for the StreamBase Client Library, see registerUnmanagedThread() and unregisterUnmanagedThread() in Operator.RuntimeEnvironment.

Drools Operator Updated

The Drools operator was updated to add an optional status port specified with the new Enable status port property. This port conveys the status of rules entered at runtime on the dynamic rule port. The documentation page for the operator was updated to clarify the format of rules entered on this port.

Thomson Reuters RMDS Subscribing Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to better distinguish quotes from trades. The market data output port now contains an optional ResponseType field, which supersedes the UnsolicitedRefresh field. The field is enabled by selecting the Include OMM Response Type Field property in the Tuple Properties tab in the adapter's Properties view. The field contains SOLICITED or UNSOLICITED for refresh messages, or contains QUOTE, TRADE, CORRECTION, and so on, for update messages.

JMS Adapters Updated

The JMS embedded adapters were updated to support connections to OpenMQ without JNDI.

Deutsche Bank AutobahnFX Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support ladder rungs for swaps and to provide performance enhancements.

CitiFX FIX Adapter Updated

The CitiFX FIX adapter was updated to support the Executable Streaming Prices for Forwards product as well as ESP for Spot. Continue to select the Spot option in the adapter's Properties view for either ESP product.

TBF Adapter Updates

The TBF Input adapter was updated to support the new MaxQueueLength and RetransRetryCount properties in the STAMP session configuration file. See TBF Input Adapter for details.

Documentation Updates

The StreamBase documentation for release 7.1.2 included the following changes independent of the above updates:

What Was New in StreamBase 7.1.1

Fixes

StreamBase 7.1.1 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.1.1 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.6 and 6.6.13. Thus, StreamBase 7.1.1 included the following changes added in 6.6.13:

  • Properties View, Concurrency Tab now accepts parameters.

  • New regexreplace() function.

  • New Bloomberg BPOD Subscribing Input adapter.

  • New Wombat MAMA Publishing Output adapter.

  • Thomson Reuters RMDS adapter updated.

  • Deutsche Bank Trading System adapter updated.

  • Alpha Trading System adapters updated to use Alpha API 4.5.

  • Thomson Reuters RFA adapter updated.

  • API change: new method, confFilePath(), was added to the ServerManagerFactory class.

And included the following updates added in 7.0.6:

  • Extract as Module updates.

  • Studio now supports canvas highlighting after Eclipse text searches.

  • New sbprofile options --roll-size and --roll-time.

  • New options for External Process and StreamBase Admin operators.

  • E-mail Sender Output adapter Properties view has a new X-Header tab.

See the 6.6.13 New and Noteworthy and 7.0.6 New and Noteworthy for details.

New and Updated Features

StreamBase 7.1.1 added the following updates and new features:

New StreamBaseFIX FIX Engine Available

Starting with this release, the FIX adapter can be configured to take advantage of a new FIX engine, StreamBaseFIX, in addition to the QuickFIX/J, CameronFIX, and Appia FIX engines already supported. StreamBaseFIX is derived from the B2Bits Antenna FIX engine from EPAM Systems, and allows high-speed, low-latency communication using the FIX protocol.

StreamBaseFIX can be used with the FIX adapter and with all StreamBase adapters that use the FIX protocol, including the Bolsa Commercio Santiago FIX, Bovespa, CitiFX FIX, Currenex, EBS, FXall FIX, Goldman Sachs Electronic Trading FX, Integral FX Inside FIX, LavaFX, Lime FIX, Nomura FX FIX, Raptor, Trading Technologies, and UBS FIX adapters.

The StreamBaseFIX engine is included with the base StreamBase kit, but its use is separately licensed. Contact StreamBase Systems Technical Support or your StreamBase Sales Engineer for further details.

New Support for Container Connections Within One Container

In previous releases, container connections were restricted to streams exiting one container and entering a stream in a separate container. As of this release, that restriction is relaxed, and you can configure stream to stream connections within the same container, where the destination and source container names are the same. Intra-container connections must be Asynchronous, and the same access restrictions apply: that is, streams you wish to connect to or from in sub-modules must be marked as Always exposed in EventFlow modules, or public in StreamSQL modules.

New Search Path Order Display for Module Explorer

The Module Explorer view shows all StreamBase module files and folders containing such files in the module search path of the currently open EventFlow or StreamSQL module. The default display order is to list files and folders in alphabetical order. Starting with this release, there is a Search Path Order button in the view's toolbar. Click this button to show the view in module search path order. The button's selected state persists between Studio sessions.

Filter for Module Call Hierarchy View

The Module Call Hierarchy view now has a Filter field that lets you show only modules and interfaces whose names match a pattern you specify.

Feed Simulation Editor's Data File Options Dialog Updated

In the Data File Options dialog invoked from the Feed Simulation Editor, the column headings of the File preview grid are now numbered instead of blank when the First row as header option is in its default disabled state. This helps you line up data file columns to field names when using the Map to file control of the same dialog.

In addition, the First row as header option is now automatically dimmed and unavailable if the stream for which you are building a data file specifies an empty schema. Why use a data file as input to a stream with no fields? It is possible to use the Timestamp from column feature even with an empty schema stream, as described in Using Timestamp from Column with Empty Schemas.

New Expression Language Functions

The new nullif() function evaluates two arguments. If the arguments are equal, the function returns null; otherwise, the first argument is returned. This function can be used to evaluate fields before and after an event, and to send a field downstream only if it has changed, otherwise null.

The new eval() function takes either two or three arguments. With two arguments, the function evaluates a simple expression entered as a string and returns the result using the data type of the second argument. With three arguments, the second field contains a tuple, and the expression in the first field can be evaluated against any fields in that tuple. The third argument specifies the return data type. Because of environment limitations, the eval() function does not run successfully at the command prompt with sbd --eval, but runs as expected in EventFlow and StreamSQL expressions.

Reuters Adapter Family Rebranded as Thomson Reuters

The six StreamBase adapters that connect StreamBase applications to the Reuters infrastructure were rebranded as Thomson Reuters adapters. Functionality for all Thomson Reuters adapters remains the same as before.

QuickFIX/J FIX Engine Now Supports Rolling Log Files

The FIX adapter, and all StreamBase adapters that use the QuickFIX/J FIX engine, were updated to take advantage of the version of the LogBack logging libraries included with the StreamBase base kit. This allows you to configure adapter-specific entries in your logback.xml file that specify file rolling for log files that capture QuickFIX/J messages. Contact StreamBase Technical Support if you need help configuring this option.

ActivFeed Input Adapter Updated

The ActivFeed Input adapter was updated to support Activ's Service.WorkstationService address to support multiple connections with shared user credentials. See ActivFeed Input Adapter in the Adapters Guide.

What Was New in StreamBase 7.1.0

Fixes

StreamBase 7.1.0 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Inherited from Previous Releases

StreamBase 7.1 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.0.5 and 6.6.12.

New and Updated Features

StreamBase 7.1 added the following updates and new features:

 Behavior Changes 
On-Disk Query Table Format Changed

The on-disk format for disk-based Query Tables was updated for release 7.1.0 to improve performance, and to plan for more flexible table and row metadata. Before migrating your application to 7.1, move all files in your Query Table data directory to a backup location. Then proceed as follows, depending on how you use disk-based Query Tables:

  • If your application uses disk-based Query Tables for transient storage, such as for counters or sequence numbers, then move all files out of your Query Table data directory (or specify a new, empty data directory) before migrating your application to this release. StreamBase 7.1 will recreate your transient Query Tables in the new format.

  • If your application loads a Query Table from a file on startup, perhaps for use as a lookup table, then your table's data is already preserved. Move all files out of your Query Table data directory or specify a new, empty data directory. StreamBase 7.1 will create empty Query Tables in the new format, which will then be reloaded with data by your application.

  • If your application uses persistent data stored in a disk-based Query Table that was created with StreamBase 7.0 or earlier, then you must extract the persistent data from your current Query Table to a CSV file and reload the data in StreamBase 7.1 in a one-time operation. Use steps like the following:

    1. Open your application in your current StreamBase release.

    2. Add an Input Stream, Query operator, and CSV File Writer adapter. Connect the Query operator to the Query Table of interest.

    3. Use the Query operator to send a Read operation that reads all rows from the table, and outputs all rows unmodified.

    4. Configure the CSV File Writer adapter to accept the stream from the Query operator and write all rows to disk in CSV format.

    5. Start StreamBase 7.1 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.

    6. In StreamBase 7.1, use a CSV File Reader adapter and another Query operator to reload the data from the CSV file into the new Query Table.

    Preserve an installation of your current StreamBase release to read the old Query Table data until you are confident the data has been migrated successfully to release 7.1. Contact StreamBase Support for assistance in implementing this procedure.

New Error Tuple Format

The schema of the standard StreamBase error tuple was changed to preserve the failing incoming tuple in a more easily parsable form as a string field in JSON object format, rather than a blob field as before. An associated new feature is the parsejson() function that you can use to reconstruct the original failing tuple for further processing. The Error Streams sample was updated to illustrate extracting the failing tuple from the error tuple using parsejson().

This change causes a typecheck error in any module created with an earlier release, when loaded into StreamBase 7.1.0 or later, if the module uses Error Streams or error ports on components.

This release provides a Java system property and environment variable that directs StreamBase Server to emit error tuples using the schema of previous releases. You can set this property to continue working in 7.1.0 or later with a large application in which many modules emit and manipulate error tuples. When you have migrated all modules to take advantage of the new schema, change this property or variable to specify using the new error tuple schema.

You can either set the system property for the JVM that will host StreamBase Server or set the environment variable in the environment in which StreamBase Server will run. The following table shows the settings.

System Property or Environment Variable Value Meaning
streambase.appgen.error-schema-version

STREAMBASE_APPGEN_ERROR_ SCHEMA_VERSION

1 Emit error tuples using the pre-7.1 schema, with the originalTuple field emitted as a blob.
2 Default setting in 7.1+. Emit error tuples using the 7.1+ schema, with the originalTuple field emitted as a JSON object string.
Breakpoints Must Be Removed and Re-added

To allow significant improvements to the EventFlow Debugger, the internal format of breakpoints was changed. Before migrating an existing Studio workspace from a previous release to release 7.1:

  1. Open all EventFlow modules that have breakpoints set.

  2. Remove all breakpoints, keeping notes of which arcs have breakpoints.

  3. After opening the same workspace in release 7.1, re-add your breakpoints.

System Property streambase.uri Deprecated

Starting with release 7.1.0, the JVM hosting StreamBase Server no longer sets the streambase.uri or streambase.sbd.leadership-status system properties. This allows separate server instances hosted on the same JVM (such as can occur when running StreamBase JUnit tests) to respond with separate URIs.

Update any expressions that use systemproperty("streambase.uri") to instead use the new getServerURI() function. To obtain the current leadership status, use the getLeadershipStatus() function.

In Java code, use getRuntimeEnvironment().getURI() to request the server's URI. Do not use the StreambaseURI.fromEnvironment() method in any Java operator or Java function that runs within the server.

Separate .sblayout Files Now the Studio Default

StreamBase Studio's default preference setting for newly created projects is to keep EventFlow layout information in separate .sblayout files. Projects migrated from earlier releases, including some sample projects, retain their previously set layout settings.

As before, Studio respects and preserves the layout status it detects for each individual EventFlow application or module. That is:

  • If Studio detects an .sbapp file with no matching .sblayout file, then it draws the canvas based on the layout information in the .sbapp file. On save, Studio stores any changed layout information back to the .sbapp file.

  • If Studio detects an .sbapp file with matching .sblayout file, then it uses the layout information in the .sblayout file to draw the canvas. On save, Studio stores any changed layout information back to the .sblayout file.

As before, you can create new layout files for one or more application files using StreamBaseEventFlow LayoutExtract to Layout File. For details, see EventFlow Layout Options.

Keyboard Shortcut Behavior Change

When using keyboard shortcuts in StreamBase Studio, be aware of the following new behavior. When components are placed onto the canvas with a keyboard shortcut (or by dragging from the Palette view), the component is now selected, with a cell edit window opened for you to immediately name the new component. When using keyboard shortcuts in sequence to add several components at once, you must now press Esc or Enter to close the edit window before entering the next shortcut. For example, in previous releases, the following shortcut sequence adds an input stream, Map operator, and output stream:

S I    O M    S O

With the new default behavior in StreamBase 7.1.x, this sequence now becomes:

S I Enter   O M Enter   S O Enter

As an alternative, you can temporarily disable the Automatically edit names of newly inserted components option in WindowPreferences, StreamBase StudioAuthoring. Then, run your keyboard sequence without Enter keystrokes, and re-enable the preference afterwards.

 Platform Changes 
New RHEL 6 Support

StreamBase 7.1 adds 64-bit Red Hat Enterprise Linux Server 6 to its list of supported platforms.

Studio Now Based on Eclipse 3.6.2

The version of Eclipse that serves as a foundation for StreamBase Studio was updated to Eclipse 3.6.2, and retains backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_24. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Trial Kits Available in 64-bit Versions

Trial installation kits of StreamBase Developer Edition are now available in both 32-bit and 64-bit versions for both Windows and Linux.

 EventFlow Language Features 
Typecheck Warnings

StreamBase now supports warning messages issued during typechecking in addition to the typecheck error messages long supported. Warnings provide guidance on settings that may cause complications, but do not prevent the EventFlow or StreamSQL module from compiling and running. For example, you might see a warning for a Query operator connected to a Query Table that a proposed Read operation will result in a full table scan.

Warning icons appear in the tab for a module that has warnings, on its entry in the Package Explorer view, in hover text over the component that has the warning, and as an overlay for that component's icon on the canvas. Typecheck warnings can also be issued on the console by StreamBase Server at runtime.

You can suppress warnings by category from appearing on the canvas by means of a new Preferences page, WindowPreferences, StreamBase StudioTypechecking, as described on Studio Preference Settings. The number and type of warnings, and the number of ways to suppress warnings, are both expected to increase in future releases. See Typecheck Warnings for further details.

Support for Empty Schemas

In StreamBase 7.1+, it is no longer a typecheck error to leave most schemas empty and undefined. This feature is described in a new page in the Authoring Guide, Using Empty Schemas, and empty schemas are referenced on relevant pages throughout the documentation.

List Coercion

Lists of numeric data types now participate in the StreamBase data type coercion rules described in Data Type Coercion. For example, a list(int) and a list(long) will successfully merge as the two inputs of a Union operator, with the list(int) elements automatically promoted to longs. Two list(tuple) will merge if an adequate supertype of both tuple schemas can be found.

Coercion rules are not applied for output streams with declared schemas.

Escaped Identifiers

The naming rules for StreamBase identifiers were broadened. StreamBase now supports a syntax for escaping identifier names that contain reserved characters, as described on Identfier Naming Rules. The escaped identifier syntax is #"name", a pound or hash symbol, with the string in double quotes. Escaped identifiers work throughout StreamBase for the names of all components, including schemas, fields, operators, tables, lock sets, modules, containers, and data sources. For example, you can use this syntax to name a field the same as a StreamBase reserved word, such as #"AS". As before, identifier names can include Unicode characters as long as Unicode support is enabled for both Studio and Server, as described in Unicode Support.

Where Clauses on Container Connections

You can now specify a where clause for a container connection that specifies a predicate expression that limits the tuples sent over that connection. Since you can make more than one container connection to the same stream, you can now connect to one stream multiple times, with a different filter predicate for each. Container connection where clauses are expressed in any of the following ways:

  • With the --where "expression" argument to the sbadmin modifyContainer command.

  • With the where="expression" attribute of the <container-connection> element in StreamBase deployment files.

  • With the Container connection filter expression field in the Advanced tab of the Properties views for input streams and output streams.

New Options for sbadmin listConnections

The sbadmin listConnections command now supports the following options:

--current  Shows active client connections currently conveying tuples.
--old  Shows clients still running but disconnected from the server.
--all  Shows both current and old client connections.
--clearOld  Removes client connections that are running but disconnected from the server.
Static Evaluation for Some Expressions

StreamBase now avoids having to call at runtime any functions that return the same for every call, and that have no side effects. This improves runtime performance for expressions that do not need to be computed for every tuple.

Profiling Now Collects JVM Garbage Collection Statistics

The CSV output of the sbprofile command now includes statistic lines with prefix G that show garbage collection events for the JVM hosting StreamBase Server. See Profiling for details, and see the StreamBaseMonitor API changes that support this feature.

 StreamBase Server: New Features 
New Low Latency Switch

This release supports a new system property, streambase.low-latency-mode. This provides a single switch that enables several other properties to direct StreamBase Server to run in low latency configuration. Setting this property to true performs the following subordinate actions:

  • Enables the low latency option on all StreamBase to StreamBase adapters, including those used internally to implement remote container connections.

  • Enables the streambase.tcp-nodelay system property, which disables the Nagle algorithm on network connections.

  • Sets the system property streambase.queue-flush-interval to zero, which disables queue flushes for client connections.

  • Sets low latency mode on dequeue output queues.

 Studio: New Features 
Skip Deep Typechecking Option

The StreamBase StudioAuthoring page in Studio Preferences has a new option that allows you to avoid full-depth typechecking of Extension Points and Module References that have all output schemas explicitly set. This can greatly speed up typechecking for some large applications.

Refactor, Rename, and Extract Interface Changes

Studio 7.1 has the following changes to support easier renaming of components and refactoring of names throughout a project, and to create a new interface by extracting its components and definitions from an existing module.

  • The context menu for the EventFlow Editor canvas now includes Refactor, with a submenu.

  • The Extract as Module menu command formerly at the top level of the canvas context menu was moved to RefactorExtract as Module.

  • There is a new RefactorExtract Interface menu command. This command operates only when the current module (independent of the current selection) includes streams defined with named schemas and Query Tables with shared or placeholder status and defined with a table schema. In this case, Studio extracts the streams, components, named schemas, and table schemas from the selected components and creates a new StreamBase interface file with those definitions.

  • There is a new SchemaRefactor to Table Schema menu command that operates only when the current selection is a Query Table defined with a private table schema. Use this option to promote a table's private schema to a named table schema in the Definitions tab.

  • In the Definitions tab of the EventFlow Editor, and in the Interface Editor, the context menu for existing schemas and constants now includes both RefactorRename and RefactorMove.

    • RefactorRename opens a dialog for you to specify a new name. The new name is then propagated to all locations (optionally including all expressions) where the old name was used in all modules and interfaces in the current module search path.

    • RefactorMove opens a dialog with a drop-down list of all modules and interfaces in the current module search path. Select a module or interface, and the current definition is moved to that file.

  • You can now rename components and groups directly on the canvas by selecting the component, pressing F2, and typing into the cell editor that appears. You can also invoke the rename cell editor by invoking Rename from the canvas context menu. F2 renames the component in the local module only, and does not propagate the name change.

  • When you drop a component onto the canvas by dragging from the Palette view or with a keyboard shortcut, the newly dropped component's name is now automatically selected and in edit mode. Type a name for the new component and press Enter or press Esc to close the cell editor and accept the default name. This new behavior is enabled by default, but can be disabled in the Studio Preferences dialog.

  • Names entered with non-alphanumeric characters are automatically escaped with the #"name" syntax described above.

Extract as Module Updates

In previous releases, the RefactorExtract as Module command (in the context menu of the EventFlow canvas) was extracting all parameters and their settings from the parent module to the new child module. The command was updated such that it now extracts only parameters actually used by the components selected for extraction. Parameters with default values in the parent module are copied with the same values to the child module. Parameter settings in the child module are updated to link to the parent module's parameter values, in the form ParamName = ${ParamValue}.

At extraction time, you can now specify the location of the new child module to be extracted. This can be a subfolder of the current project, or another project folder in the module search path. These changes are described on the rewritten Extract as Module page in the Authoring Guide.

Create New Ports On the Fly While Dragging

For operators that have a user-controlled number of ports (including Split, Union, Filter, Gather, and Pattern), in previous releases, you had to specify a new port in the target operator's Properties view, then go back and drag an arc to the new port (or from the new port, for a Split).

Starting with this release, you can now drag an arc to or from a hover port that appears in gray in the bottom right corner while the mouse hovers over the operator. The hover port for a Filter operator is circled in red in the following illustration:

Drag an arc from the hover port to another component, or drag an arc from another component and drop it onto the hover port, and a new input or output port is created for that operator automatically.

New Behavior for Dragging Module or Extension Point to Canvas

In previous releases, dragging an Extension Point icon to the canvas dropped a new, unconfigured Extension Point for which you still needed to specify the interface that the operator referenced. Similarly, dragging a Module icon to the canvas dropped an unconfigured Module Reference and a reminder dialog.

Starting in 7.1.0, dragging a Module icon to the canvas opens a File Chooser dialog showing all EventFlow and StreamSQL files in the current module search path (essentially duplicating in the dialog what the Module Explorer view shows). Dragging an Extension Point icon to the canvas opens a File Chooser dialog showing all interface files in the module search path. In both cases, select the desired module or interface, and a Module Reference or Extension Point is placed on the canvas, ready for final configuration. See Referencing a Module for the behavior differences between the two methods.

Manual Input View Shows Field Descriptions

If an input stream's schema has field-level descriptions, the description text for a field can now be seen in the Manual Input view as a tooltip when the cursor is in that field.

Studio Supports Canvas Highlighting After Eclipse Text Searches

This release adds Studio highlight and location support for text searches in StreamBase file types in the Studio workspace initiated by the Eclipse SearchFile dialog. After a search, in the Search view, use the up and down arrow buttons (or the Ctrl+. shortcut) to select each found location in sequence. Starting with this release, selecting a found location in the Search view opens the editor for the StreamBase file in which the search phrase was found, and highlights the containing line. For EventFlow files, the component that contains the search phrase is selected and centered on the canvas. This feature is described in a new Authoring Guide page, Text Search in Studio.

Regular Expression Filtering for Trace Files

When generating trace files for a running application that you will use for tuple tracing in the StreamBase Trace Debugger, you can now specify a regular expression filter string to narrow the tuples collected in the trace file. Specify this regular expression in the Advanced tab of the Launch Configuration dialog for the module of interest.

Better Reporting of Typecheck Progress

For long-running typecheck operations, the Progress Information dialog now reports component names as they are being checked, information about a module when typechecking passes into one, and, for JDBC Query operators, the JDBC data source.

Garbage Collection Statistics Now Included in sbprofile Output

The StreamBaseMonitor API was updated to collect garbage collection statistics from a running application, along with the statistics already collected. The CSV output format of the sbprofile command was modified to display garbage collection statistics in output lines with the prefix G. See Profiling.

New Application Compilation Statistics

The StreamBase panel of the Properties dialog for EventFlow and StreamSQL files now shows statistics for the selected file after it has been compiled by StreamBase Server at least once. Statistics are shown for the selected module and all submodules it references. See Application Statistics on the new StreamBase File Properties page.

New Context Menu Shortcuts to Populate Module Search Path

For subfolders in a Studio project folder in the Package Explorer view, the StreamBase option in the context menu now offers two new sub-menu options: Add to Module Search Path and Add to Resource Search Path. If the selected folder is already in one of those search paths, the Add to is seen as Remove from.

Application-Running Information Bar Now Includes Full StreamBase URI

The currently running text message is shown in the information bar at the top of the Editor canvas of a running application now shows the full StreamBase URI, including container name, if not default. See Running Applications in Studio.

Studio Function Assistance Updates

In Studio's Properties view, when you first open the Chooser sub-panel of the Functions tab, the list of functions now opens only to the category level. Open individual categories to browse for a function, or used the filter text field to search for a function name or pattern.

Eclipse Quick Fix to Add Client Library

When editing Java code in StreamBase Studio in a project to which you have not yet added the StreamBase Client Library to the Java Build Path, invoking the Eclipse Quick Fix options with Ctrl+1 now offers to add the Library for you.

File Locks by Team Provider Plug-ins Now Supported

StreamBase Studio now supports file locks imposed by Eclipse team provider plug-ins that implement version control systems.

Descriptions Now Supported for Constants, Table Schemas, Streams in Interfaces

You can now add a description field to document the purpose of constants defined in the Definitions tab of the EventFlow Editor. The Add Table Schema dialog has a new Description tab in which you can document the purpose of a table schema definition as a whole. (You can still populate the separate Description field in the Schema tab of the same dialog, which documents the purpose only of the schema aspect of a Table Schema definition.) In the Interface Editor, you can now add a description for a stream, independent of the description for the stream's schema.

See Using Table Schemas and EventFlow Editor Definitions Tab for details.

New Launch Configuration Option: Filter Trace Data

The Advanced tab of the Launch Configuration dialog has a new option. The check box for the Filter trace data using this regular expression when tracing field allows you to specify a regular expression that narrows the tuples stored in trace output being collected in that run. See The Advanced Tab on the Editing Launch Configurations page.

Tooltip Changes

When dragging an arc to an input port of a Module Reference or Extension Point, the tooltip for that port now appears, which allows you to see which input stream in the referenced module that port is mapped to.

The tooltip text for a failing component, shown when the mouse hovers over the component, shows typecheck error and warning text first, before the component's description.

Open StreamBase Command Shell Menu on Linux

For many releases on Windows, Studio has provided the Open StreamBase Command Prompt menu option in the StreamBase context menu for project folders in the Package Explorer view. Starting with 7.1.0, Studio on Linux now provides an analogous option, Open StreamBase Command Shell.

Background Option for Load Component Exchange Dialog

The Import from StreamBase Component Exchange dialog now provides a check box labeled Download components in the background.

URLs in Studio Text Contexts Can Appear as Hyperlinks

A well-formed URL in any text-based editor in Studio now becomes a clickable hyperlink by holding down the Ctrl key while hovering the cursor over the URL. This applies to Studio text editors for README.txt files, server configuration and deployment files, StreamSQL files, and EventFlow files viewed as text. This also applies to URLs in the Description tab in the EventFlow Editor.

Outline View Changes

The Outline view now shows different icons to distinguish Query Tables and JDBC Tables. Query operators now have different icons depending on whether they are configured for Read, Write, or Delete operations.

Keyboard Shortcut Changes

As in previous releases, the keyboard shortcut O Q drops a Query operator on the canvas, but the operator's icon does not show its Read, Write, or Delete overlay decoration until you configure the operator. Release 7.1.0 supports the following new keyboard shortcuts, which drop a Query operator onto the canvas with its overlay decoration already in place. After you connect the newly dropped Query operator to a data construct, the Operation field in the Query Settings tab is preselected.

Q  R — Drops a Query operator with Read overlay decoration
Q  W — Drops a Query operator with Write overlay decoration
Q  D — Drops a Query operator with Delete overlay decoration

These shortcuts and many more are described on the newly reorganized and expanded Studio Keyboard Shortcuts page.

Java Operator and Adapter Wizard Changes

The New Java Operator and Adapter Wizards were updated to include Schema in the drop-down list of Property types in the New Operator/Adapter Property dialog invoked by the Add button on the wizard's second page. Select this property type to generate an Edit Schemas tab in the Properties view for your generated operator or adapter. See the table in Property Data Type Determines Generated Control on the Using the Embedded Adapter Wizard page for further details.

In addition, the New Java Operator wizard now automatically refreshes the current project's typecheck environment on completion of the wizard, so that your new operator automatically appears in the Project Operators folder of the Insert Java Operator dialog.

 Studio: Component and Canvas Updates 
JDBC Query Operator Changes

The Query operator when connected to a JDBC Table data source was updated as follows:

  • Tabs in the operator's Properties view were reorganized and renamed for clarity.

  • The SQL statement field on the Query Settings tab now prompts with field name suggestions when composing your SQL statement.

  • Escaped braces now work in the SQL statement field on the Query Settings tab.

  • The Output Settings tab now uses one or two field grids plus an Additional Expressions grid like the ones used by the Map, Query, and Gather operators.

    • For Query Read operations, this tab has three grids: SQL Result Fields, Input Fields, and Additional Expressions.

    • For Query Update, Delete, and Insert operations, this tab has two grids: Input Fields and Additional Expressions.

  • In the Result Settings tab, when specifying explicitly declared fields for the SQL Results fields, a new option Execute query and populate fields allows you to fill in the declared fields grid automatically. This setting has the advantage of no longer requiring a database query during typechecking.

  • In the Result Settings tab, the Ignore Any Results from Query option was removed from the options for the SQL Results fields.

In addition, the following performance changes were made when using the JDBC Query operator:

  • JDBC queries are now double buffered and batches are run asynchronously.

  • Precompiled archive files (.sbar files) that contain JDBC queries now allow the use at runtime of a different database instance with a compatible schema.

  • A new parameter is available for the <data-source> element in the StreamBase Server configuration file. Set param name="jdbc-connection-timeout" value=integer, where integer specifies the number of milliseconds to wait before JDBC connections will time out.

Gather Operator Changes

The Gather operator's Output Settings tab in its Properties view was updated to use field output grids and an Additional Expressions grid, like the ones used in the Output Settings tabs of the Map and Query operators. See Using the Gather Operator.

Aggregate Operator Changes

In the Properties view for Aggregate operators, presentation of the settings for existing dimensions was simplified in the Dimensions tab. The same information is shown as before, but now reduced from seven to three columns, with the details of each dimension's settings explained in simple text, instead of in columns that might be empty for a particular predicate. The Edit Dimension dialog did not change, only the presentation of the results in the Dimension tab.

Filter Operator Changes

In the Filter operator, the behavior of the Up and Down arrows in the Predicates grid was improved. In previous releases, on the Predicate Settings tab of a Filter operator's Properties view, the up and down arrows allowed you to reorder which predicate applied to which output port.

Starting with 7.1.0, the Up and Down arrows also move the arcs connected to each output port without needing to remove and reconnect them. Thus, for example, if a Filter operator's port 2 is connected to an output stream named BigTradesOnly, you can move the predicate for port 2 to port 1 with the Up arrow, after which port 1 is the port connected to stream BigTradesOnly.

Query Table Connecting to Module with Placeholder Table

When connecting a data arc from a Query Table to a Module Reference that contains only one Query Table marked as a placeholder table, in the Tables tab of the Module Reference, the placeholder table association is now filled in automatically.

New XML Normalizer Operator

The XML Normalizer operator, previously available as an external operator with a separate installation package, is now included in the base StreamBase package. Drag the Java Operators component to the canvas, and select XML Normalizer Operator from the resulting dialog. As before, the operator does not support list and tuple data types. The operator is described in Using the XML Normalizer Operator and has a sample, described on XML Normalizer Operator Sample.

Color Setting Changes

Starting with release 7.0.0, you can change the default colors and fonts for most elements of the Studio interface in the Studio Preferences dialog, in GeneralAppearanceColors and FontsStreamBase. This feature was extended in release 7.1 in the following ways:

  • A reminder link to the Colors and Fonts preferences page is now at the top of the StreamBase StudioAuthoringEventFlow Rendering preferences page.

  • The default background color for Groups is now specified in the Colors and Fonts dialog.

  • The default background color for Module References and Extension Points can now be set independent of the color for other components.

Group Changes

EventFlow Groups have the following updates in this release:

  • Group information is now stored in .sblayout files, if those are in use.

  • You can lock the current layout of a Group by selecting the Lock Layout check box in the Group's Properties view. When locked, everything inside the Group keeps its orientation relative to each other during a request to re-layout the containing module. Groups inside a locked Group are also locked, and the inner Group's Properties view has its Lock Layout check box disabled.

Note Changes

You can now set the background color for individual Notes independently for each Note in the General tab of the Properties view for the Note. The setting for each note is independent of the default Note background color, which is specified, as before, in the GeneralAppearanceColors and FontsStreamBase page of Studio Preferences. There is now a keyboard shortcut to place a new Note on the canvas: / (a single slash). On Windows, you can also drag text from another drag-enabled Windows application to the EventFlow canvas, which creates a Note containing that text.

 Studio: Debugger Improvements 

The EventFlow Debugger in StreamBase Studio was improved in the following ways:

  • The Debugger was sped up dramatically, reducing the impact on server-side throughput and latency while running the debugger. In test applications running under the debugger, the time of one tuple passing through a complicated execution path was reduced by a factor of 50.

  • The rendering of execution paths through an EventFlow module was improved. Among other changes, there is now a black border around the current operator and arc.

  • Breakpoints now support hit counts, accessible in the Breakpoint Property Editor.

  • The contents of disk-based Query Tables can now be inspected in the Debugger's Variables view. (Memory-based Query Tables were already viewable while debugging in previous releases.)

  • The contents of dynamic variables can now be inspected in the Variables view. Be aware that the Sequence operator uses dynamic variables as part of its implementation, so you will see a dynamic variable entry for the sequence IDs generated by Sequence operators in the module through which you are stepping.

  • The Debugger now supports exporting and importing breakpoint settings. Use FileExport, then Run/DebugBreakpoints to save all or a selection of breakpoints in a release 7.1.x EventFlow module. Use FileImport to load a set of exported breakpoints into the same or a very similar EventFlow module in 7.1.x.

    Because of this release's change in breakpoint format, you cannot use the Export-Import feature to export breakpoints from a module in a previous release and then import them into the release 7.1.x version of that module.

Be sure to remove all breakpoints before opening a Studio project in 7.1.x that you last saved in a prior release. Open the project first in the prior release, remove the breakpoints and take notes on where they are. Then open the project in 7.1.x and re-add the same breakpoints.

See Limitations and Suggestions on the Using the EventFlow Debugger page for further suggestions on making the best use of the EventFlow Debugger.

Known Limitations

 Expression Language Updates 

The StreamBase expression language gained the following new aggregate functions:

  • andall(f) — Performs an AND operation on all values in window or column f and returns the boolean result.

  • orall(f) — Performs an OR operation on all values in window or column f and returns the boolean result.

  • firstnonnullval(f) — Like firstval(), but returns the first non-null value in window or column f.

  • lastnonnullval(f) — Like lastval(), but returns the last non-null value in window or column f.

  • maxn(count, f) — Returns a list with count elements containing the count number of maximum non-null values in window or column f.

  • minn(count, f) — Returns a list with count elements containing the count number of minimum non-null values in window or column f.

  • firstn(count, f) — Returns a list with count elements containing the first count non-null values in window or column f.

  • lastn(count, f) — Returns a list with count elements containing the last count non-null values in window or column f.

    When using the last four functions with an Aggregate operator, the value of count must remain the same for the duration of the Aggregate's window.

The expression language gained the following new simple functions:

  • andall(bool b1, bool b2, bool b3, ...) — Performs an AND operation on the provided boolean arguments and returns the boolean result.

  • orall(bool b1, bool b2, bool b3, ...) — Performs an OR operation on the provided boolean arguments and returns the boolean result.

  • getServerURI() — Returns the StreamBase URI of the currently running StreamBase Server. (This function was also introduced in the 7.0.5 release.)

  • tojson() — Accepts a tuple argument and returns the tuple's field values as a JSON list (not a StreamBase list).

  • parsejson() — Accepts a JSON-formatted string, in either JSON array or JSON map format, and returns a tuple.

  • The existing strptime() function now accepts %Z and %z formatting strings to specify the time zone.

Both simple and aggregate andall() and orall() functions have special null handling behavior described on their respective pages.

Functions whose values do not change over the lifetime of an Aggregate window can now be used within aggregate expressions. For example: sum(x/firstval(x)) and sum(x/openval("dimension1")).

 Adapter Changes 
64-bit Excel Adapter

The Microsoft Excel External adapter is now available in both 32-bit and 64-bit editions. The two editions provide identical functionality for their target Excel editions. Each edition has a separate installer, and the two editions cannot coexist on the same PC. If you have the 64-bit edition of Excel 2010, the 64-bit Excel adapter supports connectivity to large-scale StreamBase data.

The 64-bit Excel adapter is only appropriate for use with the 64-bit edition of Office 2010 on 64-bit Windows; having 64-bit Windows and 32-bit Office 2010 is not sufficient. Be aware that Office 2010's default and recommended configuration is to install 32-bit Office 2010, even on 64-bit Windows, to retain maximum compatibility with third-party plug-ins, most of which are still 32-bit. Run FileHelp in Excel to determine whether your Excel installation is the 32-bit or 64-bit edition. If you are running 64-bit Excel 2010, then you must install the 64-bit Excel Adapter kit.

Updates for the StreamBase to StreamBase Adapters

The StreamBase to StreamBase input and output adapters were updated as follows:

  • Both adapters have a new Low Latency property on the Adapter Properties page of their Properties views. Select this check box to configure an adapter instance to favor low latency over throughput.

  • Both adapters now accept more than one connection to streams in other containers hosted in the same StreamBase Server:

    • In the StreamBase to StreamBase Input adapter's Properties view, you can configure up to ten output streams from which to receive tuples, and you can specify a different filtered subscription predicate for each stream connection.

    • In the StreamBase to StreamBase Output adapter's Properties view, you specify the primary downstream stream's name on the Adapter Properties tab, then add any number of downstream streams in the grid on the Additional Streams tab.

 API Changes 

The StreamBase Client Library was updated as follows:

  • The previously deprecated Schema#sameFieldDescriptions was removed.

  • #sameSchemaDescriptions was previously marked @exclude, and is now removed.

  • In both the C++ and Java APIs, two methods were added: StreamBaseClient.getTupleEnqueueCount() and StreamBaseClient.getTupleDequeueCount(). This allows your client applications to obtain the number of tuples they have enqueued or dequeued.

  • The StreamBaseMonitor API for both Java and .NET now supports reporting JVM garbage collection data. Look for getGCollectors() in the SystemInfo class, and a new class SystemInfo.GCInfo.

  • The Java package com.streambase.sb.client has a new class, ClientSettings. Use this class to set and modify various settings for StreamBaseClient and StreamBaseAdminClient client applications. There are new ctors on StreamBaseClient and StreamBaseAdminClient that take a ClientSettings object as an argument.

  • In the Java API, there are new interface classes Operator.SharedObject and Operator.SharedObjectManager that implement and manage objects that can be shared between operators in the same container.

 Documentation Updates 

The StreamBase documentation for release 7.1.0 included the following updates independent of the changes noted above:

StreamBase 7.0.x Release History

This section lists the significant changes in the StreamBase 7.0.x release series.

What Was New in StreamBase 7.0.12

Fixes

StreamBase 7.0.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.12 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.18.

New and Updated Features

StreamBase 7.0.12 added the following updates and new features:

Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

StreamBase to StreamBase Adapters Updated

Starting with this release, the Connect on adapter init property of the StreamBase to StreamBase input and output adapters no longer has any effect. Both adapters now behave as though the property is disabled (meaning they do not connect on startup), which conforms to StreamBase best practices. This change applies only to the 7.0.x release series.

FIX/FAST Support Added to FIX Schema Designer

The FIX Schema Designer (FSD), added in release 7.0.8, now supports the FIX/FAST protocol. FAST stands for FIX Adapted for STreaming, and is a FIX variation used by some trading venues. To design a schema to communicate with such a venue, select FAST Data Dictionary File in the FSD's Select Data Dictionary dialog, then navigate to select the dictionary file provided by the venue. In all other ways, the FSD works the same as before.

Update for Several StreamBase Utility Commands

The StreamBase utilities jsbadmin, jsbc, sbbundle, and sbfeedsim were updated to accept the -J option anywhere on the command line instead of its former required first position. You can now specify -J options with or without a following space.

Documentation Updates

What Was New in StreamBase 7.0.11

Fixes

StreamBase 7.0.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.11 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.17.

New and Updated Features

StreamBase 7.0.11 added the following updates and new features:

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

C++ Client Library Update

The Timestamp class in the C++ Client Library now uses snap to end of month semantics for the setMonth() method. The following code fragment illustrates how this works:

Timestamp tm;
tm.setYear(2011);
tm.setMonth(10);
tm.setDayOfMonth(31);
// tm now represents October 31, 2011
tm.setMonth(2);
// tm now represents February 28, 2011
New Expression Language Function

The expression language gained a join() function, the opposite of split(). Use join() to return a string formed by concatenating the members of a list of any type, and interposing a specified character or string between each element.

Excel Adapter Updated

The Excel External adapter was updated such that the buffer-size configuration parameter and TUPLENUM tag are now limited to values between 1 and 1000. Prior to this change, there was no limit on buffer-size, and TUPLENUM was limited to values between 1 and 999.

29West LBM Adapters Updated

The 29West LBM Subscribing and Publishing adapters were updated to support pre-defined messages. Enable support for this feature with the new Enable Pre-defined Messages property. The adapters have several other new properties that control how a publish and subscribe adapter pair agree on message definitions in cooperation with the StreamBase schema.

Documentation Updates

The StreamBase documentation for release 7.0.11 included the following changes independent of the above updates:

  • On the Expression Language Functions page, the descriptions for the strptime(), strftime(), and strpinterval() functions now have tables that describe the supported format pattern strings, instead of off-page references to Open Group documentation. The interval() function refers back to strftime() for its pattern string descriptions.

    Likewise, the description of the format_time() function now has a table of the supported pattern characters from the Java SimpleDateFormat class, instead of references to the Java documentation. The parse_time() and timestamp() functions refer back to format_time().

    These changes make it easier for StreamBase developers working on a computer with no Internet access.

What Was New in StreamBase 7.0.10

Fixes

StreamBase 7.0.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.10 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.16.

New and Updated Features

StreamBase 7.0.10 added the following updates and new features:

.NET Client Library Updated

To provide better alignment of the StreamBase .NET Client Library with the Java Client Library, the .NET API was updated to add new field creation methods to StreamBase.SB.Schema, and to deprecate older field creation methods.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support through version 7.7.2 of the Trading Technologies data dictionary.

Wombat MAMA Input Adapter Supports MAMA API Version 5

The Wombat MAMA Input adapter was updated to support version 5 of the MAMA API. To specify the use of MAMA version 5, in the adapter's Properties view, for the MAMA Version property, select 4.x and above, which is now the default setting.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a new configuration option, RequestRetransmitOnHeartbeatTimeout.

IBM WebSphere MQ Adapter Updated

JAR files provided by IBM that support WebSphere MQ are no longer shipped as part of the StreamBase kit. Documentation topics for the IBM WebSphere MQ Input and Output adapters and sample were updated to describe where to install the MQ JAR files you obtain from IBM.

Deutsche Bank AutobahnFX Trading System Adapter Updated

JAR files provided by Deutsche Bank that support the AutobahnFX Trading System are no longer shipped as part of the StreamBase kit. Documentation topics for the AutobahnFX Trading System adapter and its sample were updated to describe where to install the Autobahn FX JAR files you obtain from Deutsche Bank.

UBS FIX Adapter Updated

The data dictionary for the UBS FIX adapter was updated to the latest version.

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter was updated to send its e-mail messages in a separate, background thread and to add the new Outgoing Message Queue Capacity property. Set this to a value large enough to accommodate the maximum expected e-mail message burst.

Log Output Adapter and Sample Updates

The Log Output Adapter sample was revised to show three examples of formatting that the adapter can apply to log messages. The Log Output adapter topic in the Adapters Guide was revised, corrected, and expanded. The sample's topic in the Samples Guide was revised and expanded.

Binary File Reader Adapter Updated

The Binary File Reader adapter now emits a close event tuple when it finishes reading a file.

Documentation Updates

The StreamBase documentation for release 7.0.10 included the following changes independent of the above updates:

  • In the Authoring Guide topic for the Query operator, the Output Settings Tab section was reorganized and expanded, and has a new subsection, Using Aggregate Functions. The Group Options Tab section was entirely rewritten and corrected.

  • Notes were added to the Expression Language Features and Dynamic Variables topics to clarify that, in any expression anywhere in StreamBase, unqualified names are resolved first against the names of any dynamic variables in the current module, and then against the names of fields in currently available streams. This means that a dynamic variable named foo can inadvertently mask a field also named foo, depending on context.

  • The section for the -b option on the sbd reference page, and the Background Mode on Windows section of the Server Background Mode and Logging page were rewritten to emphasize and better explain why we discourage running sbd -b on Windows.

  • The expression language's nanotime() function was moved from the Timestamp category to the System category with an updated description.

What Was New in StreamBase 7.0.9

Fixes

StreamBase 7.0.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.9 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.15. See the 6.6.15 New and Noteworthy for details.

New and Updated Features

StreamBase 7.0.9 added the following updates and new features:

Aggregate Operator Updated

The field name qualifier input. is now valid in expressions in the Aggregate operator, and has the same meaning as the input1. qualifier.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a configuration option, QueueCapacity, and to increase the default blocking capacity of the adapter.

Windows Installers Are Now Digitally Signed

As of this release, all Windows MSI installer files are digitally signed, including the installers for external adapters and Frameworks.

Documentation Updates

The StreamBase documentation for release 7.0.9 included the following changes independent of the above updates:

  • The instructions for configuring Visual C++ to build StreamBase clients and custom functions for Windows were expanded and clarified. See Configuring Visual C++.

  • Documentation for the operator-parameter element of the server configuration file was updated and expanded, both in the skeleton configuration file comments and in the StreamBase Server Configuration File XML Reference.

What Was New in StreamBase 7.0.8

Fixes

StreamBase 7.0.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.8 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.14.

New and Updated Features

StreamBase 7.0.8 adds the following updates and new features:

New FIX Schema Designer

This release introduces the FIX Schema Designer, which provides a way to generate named schemas for FIX message types for use with the FIX adapter or any StreamBase adapter that uses the FIX protocol. See FIX Schema Designer View for details.

If you use an existing Studio workspace after installing this release, the FIX Schema Designer view may not appear by default. In this case, either run WindowReset Perspective for the SB Authoring perspective, or directly open the new view with WindowShow ViewOtherStreamBase FIXFIX Schema Designer.

Copy Schema From Dialog Now Supports Interfaces

You can now copy schemas from streams and components in interface files as well as from EventFlow and StreamSQL modules, when using the Copy Schema From dialog. See Copying Schemas in the Authoring Guide.

Module Call Hierarchy View Updated

Entries in the Module Call Hierarchy View now show the name of an Extension Point first, followed by the StreamBase interface file implemented by that Extension Point. This more accurately reflects the action to expect from double-clicking an Extension Point name, which is to select and highlight that Extension Point in the EventFlow Editor for the containing module. To open the interface file instead, right-click and select Open Module File from the context menu, as before.

Trace Debugger Color Legend

The Trace Debugger view now has a link that pops up a reminder of the color legend for the debugger.

Stricter Operator.postShutdown() Behavior

The postShutdown() method of the Operator class was updated to more strictly wait for an operator or adapter's run threads to exit (or time out) before running. This strict behavior of postShutdown() is the default behavior as of this release, and improves the shutdown behavior of all operators and adapters, whether provided by StreamBase or custom. You can restore the postShutdown() method's non-strict behavior by setting the streambase.java-operator.unsynchronized-shutdown system property to true.

StreamBase Authentication Now Supports Enciphered Passwords

Basic StreamBase authentication now supports connecting to StreamBase Server with URLs that include an enciphered password, as described in Enciphering Passwords. This affects all client access to the server, including StreamBase-provided clients such as sbc and sbadmin, and affects access from most adapters.

Independent Threads Now Registerable for Operators and Adapters

Custom operators and adapters can now register independent threads that are not derived from the Operator class for purposes of thread CPU tracking in StreamBase profiling tools. In the Javadoc for the StreamBase Client Library, see registerUnmanagedThread() and unregisterUnmanagedThread() in Operator.RuntimeEnvironment.

.NET Client Library Update

In the .NET Client Library, the StreamBase::SB::Timestamp class was made serializable.

New BM&FBovespa UMDF Adapter

The BM&FBovespa UMDF adapter allows a StreamBase application to connect to BM&FBovespa's Unified Market Data Feed to receive market data in the form of FIX/FAST messages. The adapter uses the high-speed, low-latency StreamBaseFIX engine to decode the incoming FAST messages. The adapter is described in BM&FBovespa UMDF Input Adapter and has a sample, described in BM&FBOVESPA UMDF Input Adapter Sample.

Thomson Reuters RMDS Subscribing Input Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to add useMarketfeedUpdateType=true to its default configuration file. For SSL connections when using the Market Feed message model only, this directs the adapter to emit Market Feed corrections as CORRECTION messages.

Deutsche Bank AutobahnFX Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support ladder rungs for swaps and to provide performance enhancements.

CitiFX FIX Adapter Updated

The CitiFX FIX adapter was updated to support the Executable Streaming Prices for Forwards product as well as ESP for Spot. Continue to select the Spot option in the adapter's Properties view for either ESP product.

TBF Adapter Updates

The TBF Input adapter was updated to support the new MaxQueueLength, RetransRetryCount, and RetranRetryWaitTime properties in the STAMP session configuration file. See TBF Input Adapter for details.

Lime Citrius Adapter Updated

The Lime Citrius Quote adapter was updated to use version 2.0.6 of the Lime Citrius API.

FXall Provider Adapter Updated

The output adapter in the FXall Relationship Trading Provider Adapter set was updated to add the Log XML Messages and INFO Level property. Previously, only the input adapter of this adapter set supported this option.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support version 7.6.5.29 of the Trading Technologies data dictionary.

Documentation Updates

The StreamBase documentation for release 7.0.8 included the following changes independent of the above updates:

  • The Rules of StreamBase Execution Order were updated and extended.

  • The Microsoft Excel External Adapter documentation was updated to extend and correct the sample code for publishing tuples to StreamBase from Excel.

  • The description of the sbd --eval command was updated with a note listing the functions that are not expected to work with that command. The description of each of those functions on the Expression Language Functions page was updated to reflect the same issue.

  • The reference pages (and man pages on UNIX) for several commands were updated to reflect support for the -J option to specify per-invocation JVM arguments. The -J option is an updated and more convenient alternative to using the STREAMBASE_JVM_ARGS environment variable for this purpose. The commands affected are: jsbadmin, jsbc, jsbclientgen, sbargen, sbbundle, sbcipher, sbd, sbfeedsim, sbprofile, sbproxy, sbrecord, and sbtest. The following commands from external adapter kits also support -J: sb-ems-* and sb-jdbc.

  • The Drools Operator page was updated to reflect the name change of the optional third-party package from Drools Expert to Drools Core and to rework the steps for downloading and installing it.

What Was New in StreamBase 7.0.7

Fixes

StreamBase 7.0.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.7 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.13.

New and Updated Features

StreamBase 7.0.7 added the following updates and new features:

Thomson Reuters Velocity Analytics Database Now Supported

The Velocity Analytics tick-store database from Thomson Reuters is now supported for standard JDBC access.

New Support for Container Connections Within One Container

In previous releases, container connections were restricted to streams exiting one container and entering a stream in a separate container. As of this release, that restriction is relaxed, and you can configure stream to stream connections within the same container, where the destination and source container names are the same. Intra-container connections must be Asynchronous, and the same access restrictions apply: that is, streams you wish to connect to or from in sub-modules must be marked as Always exposed in EventFlow modules, or public in StreamSQL modules.

New Studio Save Optimization

To provide better compatibility with version control systems, in cases where only layout changes have occurred, Studio now saves only the module's .sblayout file. In previous releases, Studio would save both .sbapp and .sblayout files for any change.

New Search Path Order Display for Module Explorer

The Module Explorer view shows all StreamBase module files and folders containing such files in the module search path of the currently open EventFlow or StreamSQL module. The default display order is to list files and folders in alphabetical order. Starting with this release, there is a Search Path Order button in the view's toolbar. Click this button to show the view in module search path order. The button's selected state persists between Studio sessions.

New JDBC Query Timeout Parameter

In StreamBase Server configuration files, the param child element of the data-source element accepts a new value, jdbc-query-timeout. This parameter specifies an integer number of milliseconds that StreamBase waits for each JDBC query operation to execute. The default is 0, which means wait forever for each query to return; this default matches the behavior of StreamBase before this parameter was added. Specify a value such as 15000 (15 seconds) to prevent StreamBase Server from hanging in rare cases where the JDBC server never responds to a query. See StreamBase Server Configuration File XML Reference.

Drools Operator Updated

The Drools operator was updated to add an optional status port specified with the new Enable status port property. This port conveys the status of rules entered at runtime on the dynamic rule port. The documentation page for the operator was updated to clarify the format of rules entered on this port.

New Expression Language Functions

The new nullif() function evaluates two arguments. If the arguments are equal, the function returns null; otherwise, the first argument is returned. This function can be used to evaluate fields before and after an event, and to send a field downstream only if it has changed, otherwise null.

The new eval() function takes either two or three arguments. With two arguments, the function evaluates a simple expression entered as a string and returns the result using the data type of the second argument. With three arguments, the second field contains a tuple, and the expression in the first field can be evaluated against any fields in that tuple. The third argument specifies the return data type. Because of environment limitations, the eval() function does not run successfully at the command prompt with sbd --eval, but runs as expected in EventFlow and StreamSQL expressions.

Thomson Reuters RMDS Subscribing Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to better distinguish quotes from trades. The market data output port now contains an optional ResponseType field, which supersedes the UnsolicitedRefresh field. The field is enabled by selecting the Include OMM Response Type Field property in the Tuple Properties tab in the adapter's Properties view. The field contains SOLICITED or UNSOLICITED for refresh messages, or contains QUOTE, TRADE, CORRECTION, and so on, for update messages.

QuickFIX/J FIX Engine Now Supports Rolling Log Files

The FIX adapter, and all StreamBase adapters that use the QuickFIX/J FIX engine, were updated to take advantage of the version of the LogBack logging libraries included with the StreamBase base kit. This allows you to configure adapter-specific entries in your logback.xml file that specify file rolling for log files that capture QuickFIX/J messages. Contact StreamBase Technical Support if you need help configuring this option.

ActivFeed Input Adapter Updated

The ActivFeed Input adapter was updated to support Activ's Service.WorkstationService address to support multiple connections with shared user credentials. See ActivFeed Input Adapter in the Adapters Guide.

JMS Adapters Updated

The JMS embedded adapters were updated to support connections to OpenMQ without JNDI.

Documentation Updates

The StreamBase documentation for release 7.0.7 included the following changes independent of the above updates:

What Was New in StreamBase 7.0.6

Fixes

StreamBase 7.0.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.6 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.13. Thus, StreamBase 7.0.6 included the following changes added in 6.6.13:

  • Properties View, Concurrency Tab now accepts parameters.

  • New regexreplace() function.

  • New Bloomberg BPOD Subscribing Input adapter.

  • New Wombat MAMA Publishing Output adapter.

  • Thomson Reuters RMDS adapter updated.

  • Deutsche Bank Trading System adapter updated.

  • Alpha Trading System adapters updated to use Alpha API 4.5.

  • Thomson Reuters RFA adapter updated.

  • API change: new method, confFilePath(), was added to the ServerManagerFactory class.

See the 6.6.13 New and Noteworthy for details.

New and Updated Features

StreamBase 7.0.6 added the following updates and new features:

New StreamBaseFIX FIX Engine Available

Starting with this release, the FIX adapter can be configured to take advantage of a new FIX engine, StreamBaseFIX, in addition to the QuickFIX/J, CameronFIX, and Appia FIX engines already supported. StreamBaseFIX is derived from the B2Bits Antenna FIX engine from EPAM Systems, and allows high-speed, low-latency communication using the FIX protocol.

StreamBaseFIX can be used with the FIX adapter and with all StreamBase adapters that use the FIX protocol, including the Bolsa Commercio Santiago FIX, Bovespa, CitiFX FIX, Currenex, EBS, FXall FIX, Goldman Sachs Electronic Trading FX, Integral FX Inside FIX, LavaFX, Lime FIX, Nomura FX FIX, Raptor, Trading Technologies, and UBS FIX adapters.

The StreamBaseFIX engine is included with the base StreamBase kit, but its use is separately licensed. Contact StreamBase Systems Technical Support or your StreamBase Sales Engineer for further details.

Reuters Adapter Family Rebranded as Thomson Reuters

The six StreamBase adapters that connect StreamBase applications to the Reuters infrastructure were rebranded as Thomson Reuters adapters. Functionality for all Thomson Reuters adapters remains the same as before.

Extract as Module Updates

In previous releases, the Extract as Module command (in the context menu of the EventFlow canvas) was extracting all parameters and their settings from the parent module to the new child module. The command was updated such that it now extracts only parameters actually used by the components selected for extraction. Parameters with default values in the parent module are copied with the same values to the child module. Parameter settings in the child module are updated to link to the parent module's parameter values, in the form ParamName = ${ParamValue}.

Studio Supports Canvas Highlighting After Eclipse Text Searches

This release adds Studio highlight and location support in text searches for StreamBase file types in the Studio workspace initiated by the Eclipse SearchFile dialog. After a search, in the Search view, use the up and down arrow buttons (or the Ctrl+. shortcut) to select each found location in sequence. Starting with this release, selecting a found location in the Search view opens the editor for the StreamBase file in which the search phrase was found, and highlights the containing line. For EventFlow files, the component that contains the search phrase is selected and centered on the canvas. This feature is described in a new Authoring Guide page, Text Search in Studio.

New sbprofile Options

When using sbprofile to generate a profiling output file, you can now append a --roll-size or --roll-time option to automatically roll over the output file when it reaches a specified size or when a certain time has elapsed. See sbprofile for syntax details.

New Options for External Process and StreamBase Admin Operators

The External Process and StreamBase Admin operators both gained a new property, Number of async worker threads. For the StreamBase Admin operator, this property is on the Operator Properties tab; for the External Process operator, the property is on the Advanced tab and is only active when the Run this command asynchronously check box is selected. The default value of 1 means that the operator's commands are performed serially, and this default behavior is new for both operators. Positive values specify a limit on the number of threads to spawn to perform the operator's requested operations. Negative or 0 means the operator spawns an unlimited number of threads (which is the default behavior in previous releases).

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter now has a new X-Headers tab in its Properties view, which allows you to specify multiple X-Header lines to be included in the emitted e-mail. See E-mail Sender Output Adapter in the Adapters Guide.

Documentation Updates

The StreamBase documentation for release 7.0.6 included the following updates independent of the changes described above:

What Was New in StreamBase 7.0.5

Fixes

StreamBase 7.0.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.12 and 6.5.13.

New and Updated Features

StreamBase 7.0.5 added the following updates and new features:

Studio Now Based on Eclipse 3.6.2

The version of Eclipse that serves as a foundation for StreamBase Studio was updated to Eclipse 3.6.2, which retains backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_24. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New getServerURI() Expression Language Function

The expression language gained the new getServerURI() function that returns the StreamBase URI of the currently running server in the form sb://localhost:10000. The function reports the URI from the server's point of view, and thus always returns localhost as the host name. Use this function to obtain the port number plus any appended authentication parameters from a running server.

In previous releases, StreamBase samples and documentation recommended using systemproperty("streambase.uri") to retrieve this information. As of this release, the HA samples and documentation now show the use of getServerURI() instead.

Sites that run multiple instances of StreamBase Server in the same JVM need a way to distinguish the port number from the URI of separate server instances, which is not possible with a JVM-wide property. StreamBase Server continues to provide the streambase.uri system property in the 6.6.x and 7.0.x release series, but the property will be deprecated in a future release. StreamBase Systems recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of the streambase.uri property.

New isInterval() Expression Language Function

The expression language was enhanced with a new function, isinterval(), that returns true if its timestamp argument is an interval timestamp.

New System Property for Some Cases of Running Bundle Files

Under some circumstances, StreamBase Server can emit warning messages at startup that indicate an environment variable has changed since the application was compiled. In most cases, these warnings have no consequences and can be ignored. However, when the server is loading a bundle file that includes a precompiled archive file, an environment variable warning message has the unintended side effect that the server ignores the bundled archive file and recompiles the application from the bundled source files. The bundled application does run normally, but for very large applications, at the cost of the recompilation time. To avoid recompiling a bundled archive file, you can now set the following system property:

streambase.check-app-environment-variables-changed=false
New Application Compilation Statistics

In Studio, the StreamBase panel of the Properties dialog for EventFlow and StreamSQL files now shows statistics about the selected file after it has been compiled by StreamBase Server at least once. Statistics are shown for the selected module and all submodules it references. See Application Statistics on the new StreamBase File Properties page.

Stricter Behavior for sbd --working-directory

The -w or --working-directory options for the sbd command were added in release 7.0.3. As of release 7.0.5, these options change earlier in the sbd startup sequence to the specified working directory path. This change means that every file the server needs to reference, including files specified on the sbd command line, must be specified relative to the working directory, or must be absolute paths.

For example, in 7.0.3 and 7.0.4, sbd -w subdir myApp.sbbundle required that myApp.sbbundle exist in the directory from which you entered the sbd command. Starting with this release, myApp.sbbundle must exist in subdir.

New sbargen Switch

The sbargen command has a new option, --if-modified. When used, it directs sbargen to check the target .sbar file's dependencies, and only rebuild the target if it is older than its dependencies.

SBJunit Method Extended

The SBServerManager.loadApp() method in the com.streambase.sb.unittest package now loads precompiled archive files (.sbar files) as well as EventFlow and StreamSQL files. As before, specified files are located on the module search path.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was updated with the following enhancements: See FXall Relationship Trading Provider Adapter for details.

  • The adapter now supports the Use Custom Order Schema and Custom Order Schema properties on the adapter's Studio Properties page. Enable the Use option to specify the use of a custom schema with which to emit order tuples on the event port. Specify the custom schema itself in the Custom Order Schema field.

  • The adapter now includes a field in the event output port that conveys the nanotime value at the time each callback was made from the FXall API into the adapter.

  • The new Log XML Messages at INFO Level property specifies that received XML messages are to be logged at the INFO level.

  • The new Set Requirement Maker IDs property adds support for populating the Maker ID of each requirement of each leg during SentPickup commands.

  • The following output adapter properties were not used and were removed: Maker ID, Maker Name, Maker Group Name.

  • The sample associated with this adapter was refactored into separate modules.

Deutsche Bank Trading System Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support a new Include Latency Data property in the adapter's Properties view. When selected, this property adds two latency measurement fields to the Quotes output tuple expressed in nanoseconds. The QuoteArrivalTime field records the time between delivering a quote to the adapter and the time that quote arrives in the containing adapter. The QuoteHandoffTime field records the time a Quotes tuple spends enqueued after the adapter has called sendOutputAsync().

29West LBM Adapter Updated

The 29West LBM adapter was updated such that all instances of the adapter now share a context if they specify the same LBM configuration file and section.

Hotspot FX Adapter Updated

The Hotspot FX Control adapter (part of the Hotspot TXTrading System adapter suite) now supports two new actions: connect and disconnect. See Hotspot FX Trading System Adapter.

Reuters RMDS Subscribing Input Adapter Updated

In processing update messages, the Reuters RMDS Subscribing input adapter now uses cached item state to populate metadata fields for OMM message models, as it has been doing for the non-OMM MarketFeed model.

Documentation Updates

The StreamBase documentation for release 7.0.5 included the following updates independent of the changes described above:

  • The StreamBase File Properties page was added to the Authoring Guide to provide a place to document the new Application Compilation Statistics feature described above. This provided an opportunity to clarify the differences between Project Builder settings and the Builder Options you specify for individual files.

  • The documentation page for the Hotspot FX Trading System adapter incorrectly listed some fields in the control adapter's input port as ints rather than strings. This was corrected.

What Was New in StreamBase 7.0.4

Fixes

StreamBase 7.0.4 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.4 added the following updates and new features:

Improved Support for Running Bundled Applications

This release includes several related features that improve the ability to run bundled StreamBase applications:

Include Third-Party Resource Files in Bundles

This release introduces both Studio and command-line mechanisms to specify the inclusion in a bundle of certain files that are not automatically bundled, and to optionally place those files in a particular relative path in the bundle. The Studio implementation is the new Bundling page in the Project Properties settings, while the command-line implementation is found in the sbbundle -I or --include options.

Bundles are Now Extracted to Disk Before Being Run

In releases 7.0.0 through 7.0.3, when giving a StreamBase bundle file name as an argument to the sbd command, the sbd startup code would run the bundled application directly from the bundle archive file. Starting with release 7.0.4, bundle contents are unzipped to disk by the sbd startup code and then run. This restores the bundle behavior of the 6.6.x release series. See How Bundles Are Run on the Application Bundling page.

Recently Added sbd Working Directory Switch

Release 7.0.3 introduced the -w and --working-directory options for the sbd command that allow you to specify a path to an existing directory from which to run StreamBase applications. When used in conjunction with a bundle file, this switch specifies the directory into which the bundle is unzipped before running its contents.

New Delete on Exit Behavior for Bundles

In previous releases, a temporary working directory where a bundle's contents were unzipped was automatically created and used, and was silently and automatically deleted on sbd exit. Starting with release 7.0.4, the unzipped bundle's working directory contents are still deleted on exit under two circumstances:

  • You do not specify a working directory with -w, in which case an automatically determined temporary directory is created and deleted.

  • You use -w, and specify an empty working directory.

If you use -w, but specify a path to a directory with any existing contents, that directory is preserved on sbd exit. You can use the new streambase.sbd.delete-working-bundle-dir system property to modify this delete on exit behavior. Set -Dstreambase.sbd.delete-working-bundle-dir=true to delete the working directory's contents even if you specify a non-empty path with -w. You can use the sbd command's -J option to specify the system property on the sbd command line.

New Custom Logging Switch for the sbd Command

The new sbd switch --use-custom-logging has the same effect as setting the STREAMBASE_USE_CUSTOM_LOGGING environment variable, as described in Using StreamBase Logging. The advantage of the new switch is that it can be used when sbd is configured to run as a Windows service, so that an alternate logging system can be specified without needing to set a global environment variable.

New Expression Language Function

The expression language was enhanced with the replace() function for strings. The new function operates much like the Java String.replace() function.

Copy-free Tuple Setter Methods Added

Zero copy Tuple setter methods were added to the Java API. See the Javadoc for Tuple.getAllocatedTuple() and the comments added for Tuple.getTuple() and Tuple.setTuple().

New Feature for Embedded JMS Adapters

The JMS Reader and JMS Writer embedded adapters were updated to support creating JMS endpoints dynamically, if the target JMS server supports this feature. See Dynamic Endpoints on the JMS Input and Output Adapters page for details.

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 7.0.4, the Vhayu Subscription and Vhayu Query adapters were removed from the StreamBase base kit. Vhayu Technologies was acquired by Thomson Reuters in August, 2009, and Vhayu's proprietary subscribe and publish API was replaced with the standard Reuters RMDS protocol. Thus, to subscribe to or publish to a Vhayu Velocity or Reuters Tick Capture Engine tick-store database, you can now use the Reuters RMDS Subscribing Input and Publishing Output adapters.

Documentation Updates

The StreamBase documentation for release 7.0.4 included the following updates independent of the changes described above:

  • The Using StreamBase Logging page was once again extensively rewritten and reorganized to describe new behavior, to clarify the default settings for Logback logging, and to provide a better description of the criteria that must be met to configure StreamBase to use the Log4J logging back end.

  • Reworked the Unicode Support page to clarify the configuration for StreamBase client applications as well as for Studio and Server.

  • Added \f and \uXXXX as valid string literals in Specifying Literals in Expressions on the Expression Language Features page.

What Was New in StreamBase 7.0.3

Fixes

StreamBase 7.0.3 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.3 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.3 adds the following updates and new features:

New Feature for the sbd Command

The sbd command now recognizes the -w or --working-directory option that takes an absolute or relative path as an argument. If used, the sbd startup code changes to the specified directory before starting the Server. See the sbd reference page for further details.

System.control Stream Updates

Events sent by the container subsystem of the system container's control stream were changed to report STARTING, STOPPING, and STOPPED events for containers in addition to the existing START event. Connections to the system.control stream can now be synchronous, but only when used with caution. See Using Control Stream Features for the details of these changes and a discussion of the caution. That page also adds documentation for the existing heartbeat subsystem of the control stream.

FIX Adapter Updated

When using the FIX Adapter with the Appia FIX engine, time-based FIX fields (UTCTimestamp, LocalMarketTime, and so on) are mapped to StreamBase field types differently than for other supported FIX engines. For details, see Field Type Mapping on the FIX Adapter documentation page.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.3: RSS Reader, TIBCO Embedded Input and Output, Vertica Load, XML File Writer, and XML Over HTTP adapters.

Documentation Updates

The StreamBase documentation for release 7.0.3 includes the following updates independent of the above updates:

What Was New in StreamBase 7.0.2

Fixes

StreamBase 7.0.2 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.2 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.2 added the following updates and new features:

Reroute Arcs Function Restored

The Reroute Arcs function ( button or Ctrl+Alt+L) returns to Studio as of release 7.0.2, and the automatic arc layout feature of releases 7.0.0 and 7.0.1 is now disabled. As in the 6.6 release series, the Reroute Arcs function routes arcs around components, using curves and bends in the arcs as needed. With no arcs selected, this function acts on all arcs on the current canvas; with one or more arcs selected, it acts only on the selected arcs. Use this function when you are satisfied with the component layout of the current canvas, but want to add curved arcs.

The Rearrange components and arcs function ( button or Ctrl+L) now runs the Reroute Arcs function automatically. In 6.6.x, these were independent controls that required running each in sequence. These functions are discussed in Component and Arc Layout Controls on the EventFlow Editor Canvas page.

StreamBase Manager Now Has Automatic Reconnection

The context menu in the Servers view of StreamBase Manager has a new option, Connect Automatically. This option connects to the selected server URI and stores persistent connection information; statistics from that server begin to display when the connection is made. If the connected server goes down and restarts, StreamBase Manager automatically reconnects and continues monitoring. If you exit and restart StreamBase Manager later, you only need to select the server's entry in the Servers View to reestablish the connection. See StreamBase Manager.

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_23. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Minor Linux and Solaris Installation Changes

The names of the .bin files that contain both RPM and archive installation options for Linux and Solaris were extended to include a build number as well as architecture and platform tags. This helps you distinguish similar installation files when installing an upgrade on several platforms. See Installing StreamBase on Linux and Installing StreamBase on Solaris.

The installers now check the current platform and architecture, and issue a warning if you attempt run a non-matching installer version. Finally, the unpack option for the archive installer on Linux was improved, as described in Installing StreamBase on Linux.

sbd command: Cannot Use -f Option with Bundle File Arguments

StreamBase bundle files contain a generated bundle-specific server configuration file, as described on Application Bundling. For this reason, starting with this release, an error message results if you use sbd -f sbd.sbconf with a bundle file argument.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.2: Lime Citrius, Regular Expressions Reader, Regular Expressions Socket Reader, Sybase RAP4, Reuters RMDS Publishing, Reuters RMDS Subscribing, and the StreamBase to StreamBase input and output adapters.

Documentation Updates

The StreamBase documentation for release 7.0.2 included the following updates independent of the above updates:

What Was New in StreamBase 7.0.1

Fixes

StreamBase 7.0.1 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.

Updates from Previous Releases

StreamBase 7.0.1 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.10 and 6.5.11.

New and Updated Features

StreamBase 7.0.1 added updates and new features in the following categories:

Platform Updates
Studio and Profiling Updates
Adapter Updates
API, SBX, and Documentation Updates

If you are new to the StreamBase 7.x series, be sure to see the New and Noteworthy for release 7.0.0, as well as Migrating From StreamBase 6 to 7.

 Platform Updates 
JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_22. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Studio Now Based on Eclipse 3.6.1

The version of Eclipse that serves as a foundation for StreamBase Studio was updated to Eclipse 3.6.1, which retains backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

SLF4J and Logback Versions Updated

The version of the SLF4J front end logging system was updated to release 1.6.1. The Logback back end logging system was updated to release 0.9.26. See Using StreamBase Logging for details.

 Studio and Profiling Updates 
Updates for Profiling and the sbprofile Command

The sbprofile command was updated to support the -t option, which suppresses thread information in the profile report. The output of sbprofile now includes System statistics, as well as Operator, Queue, and Thread statistics. Each row of the CSV profiling report now includes an initial field that shows the type of statistics information in that line: O for operator statistics, Q for queue statistics, T for thread statistics, or S for system statistics.

When running sbprofile interactively with a connection to a live server, you can request a description line preceding each operator statistics line in the CSV output format, that shows the type of the following operator. These description lines have a D in the first column, and are not available when using sbprofile to analyze a saved statistics stream file.

Studio: New Autocompletion Feature in Deployment File Editor

When editing a StreamBase deployment file in Studio's Deployment File Editor, you can now press Ctrl+Space between the quotes for the value of the dest or source attributes of the <container-connection> element, and the Editor shows a list of container-qualified names of the top-level streams in all modules in the module search path. See Deployment File Editor.

Studio: Improvement for Arc Endpoint Moves

In release 7.0.0, moving an arc's endpoint from one component to another required precise placement of the cursor. In release 7.0.1, you can pick up an arc's endpoint by clicking and holding any part of the arc near that endpoint.

Studio: Mismatched Schema Errors Now Offer Schema Comparison

There are EventFlow locations where two schemas are expected to match, such as when specifying a declared schema in an output stream, or specifying strict options in a Union operator. As of release 7.0.1, mismatched schema error messages now offer to automatically open the Compare Schemas dialog showing the two mismatched schemas.

In the Union operator, right-click the red X error icon to get to the Compare Schemas dialog.

Studio: New Keyboard Shortcut to Toggle Breakpoint

The EventFlow Editor now honors the Eclipse-standard Toggle Breakpoint keyboard shortcut when an arc is selected. When more than one arc is selected, continue pressing the keyboard shortcut to toggle each selected arc in order. The Toggle Breakpoint shortcut is defined as Ctrl+Shift+B by default.

Studio: Up and Down Arrows in Module Reference Ports Tabs

The Port associations grids in the Input Ports and Output Ports tabs of a Module Reference's Properties view now include Up and Down arrows. This lets you rearrange which streams or components connect to a module's various ports without disconnecting and reconnecting arcs.

Studio: Update for Application Output View

In previous releases, when running an application module in Studio, when you clicked the Application Output View's Disable Dequeuing button (), the grid of output tuples was disabled. Starting with release 7.0.1, when dequeuing is disabled, the grid of recent output tuples stops being populated, but is still active. You can still scroll and select any row to see individual output tuples in the Details Pane.

Studio: Extension Point Modules Can Be Reordered

In the Modules tab of the Properties view of an Extension Point operator, you can now use Up and Down buttons to reorder the list of modules in the Module instances grid.

Studio: Outline View Now Includes Notes

The Outline View now includes Notes in the tree of components.

Studio: Java Hover Text Warns About Non-Public APIs

When editing Java code in StreamBase Studio, the pop-up hover text for classes and methods now shows a warning if you try to use a non-public method or class in the StreamBase Client Library.

 Adapter Updates 
New Reuters Contribution Adapter

The new StreamBase Reuters RMDS Contribution Adapter allows a StreamBase application to contribute market data via off-stream OMM POST messages to a Reuters Posting Provider. Contributed data is then typically published to Reuters subscribers. See Thomson Reuters RMDS Contribution Output Adapter in the Adapters Guide. The adapter has a sample, described in Reuters RMDS Contribution Output Adapter Sample.

New Morningstar Quotes Feed Input Adapter

This release adds the Morningstar Quotes Feed input adapter, which allows a StreamBase application to receive market data from Morningstar servers, as described in Morningstar Quotes Feed Input Adapter in the Adapters Guide. The adapter has a sample described in Morningstar Quotes Feed Adapter Sample.

FIX Adapter Updated

The FIX adapter, and all adapters that inherit from the baseline FIX adapter, were updated to support two new commands for the Command port when using the QuickFIX/J FIX engine: ConnectionStatus and ConnectionStatusAll. As a response, one or more tuples (depending on the command and the number of configured FIX sessions) is issued on the Admin Message port with __ExtraInfo set to either Connected or Disconnected. SenderCompID and TargetCompID are also correctly set to identify the session in question. See FIX Adapter.

360T SuperSonic Adapter Updated

The 360T SuperSonic TEX adapter's FIX data dictionary was updated to the latest specification.

EBS Adapter Updated

The EBS Ai adapter's FIX data dictionary was updated to conform to the latest specification.

Alpha Adapters Updated

The Alpha Trading Systems EMAPI Market Data Feed adapter was updated to use version 4.4 of the Alpha Trading Systems API.

Lime Citrius Adapter Updated

The Lime Citrius Quote Input adapter was updated to support the following property settings: Enable Aggregate by Price, Enable Snapshot Book, Enable Trade Replay. See Lime Citrius Quote Input Adapter.

Log Adapter Updated

The Log adapter was updated to support two new properties, Logger Name and Message Prefix, that together replace the Message Identifier property; plus a third new property, Custom MessageFormat. The adapter's description in the Adapters Guide was extended and clarified. See Log Output Adapter for details.

E-mail Sender Adapter Updated

The E-mail Sender adapter was updated to support SSL connections to an SMTP server and to support specifying the content type of messages (text/plain, text/html, and so on). See E-mail Sender Output Adapter.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.1: Activfeed, Binary File Reader, Binary File Writer, CSV File Writer, CSV Socket Writer, Digitec D3, Deutsche Bank AutobahnFX, E-mail Sender, Hotspot FX, Hotspot Itch, InfoReach TMS, and Interactive Data PlusFeed, HTTP Reader, IRC Reader, POP3 Reader, and SMTP Reader.

 API, SBX, and Documentation Updates 
Get/Set Dynamic Variable Methods Added to .NET API

Release 7.0.0 saw the addition of setDynamicVariable() and related get methods to the Java Client Library. As of release 7.0.1, the .NET Client Library now has StreamBaseClient.setDynamicVariable() and getDynamicVariables().

Site-Specific Component Exchange Sites Now Support HTTPS

Customer sites can configure and support site-specific StreamBase component exchanges, as described in Studio Preference Settings and StreamBase Component Exchange. Starting with releases 6.6.8 and 7.0.1, in-house component exchanges can use the HTTPS protocol, in which case, StreamBase Studio prompts for credentials on the specified server before allowing access to components.

Documentation Updates

The StreamBase documentation for release 7.0.1 included the following updates independent of the above updates:

What Was New in StreamBase 7.0.0

Fixes

StreamBase 7.0.0 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.

Inherited from Previous Releases

StreamBase 7.0.0 inherited the new adapters and new features added to previous maintenance releases, through releases 6.4.14, 6.5.10 and 6.6.6.

New and Updated Features

StreamBase 7.0.0 added the following updates and new features:

 Behavior Changes 
Migrating from StreamBase 6.x to 7.x

The Migration Notes section of the Installation Guide includes Migrating from StreamBase 6 to 7. Study this important page to understand the behavior changes and API changes in the new release.

Close All 6.x EventFlow Modules in 6.x Before Opening in 7.0

Studio 7.0 includes a new EventFlow Editor with advanced features, as described in EventFlow Editor 7.x Differences. All EventFlow files open automatically in the new Editor if you start with a new, blank Studio workspace. If you open an existing 6.x workspace in Studio 7.x, EventFlow files might open in the Legacy EventFlow Editor instead. To prevent this, follow these steps:

  1. Open Studio 6.x.

  2. Close ALL Editor sessions, so that you end with a large gray area where the canvas usually is, and an empty Palette view.

  3. Close Studio 6.x and open Studio 7.0 using the same workspace.

  4. With one exception, all EventFlow files you open in Studio 7.0 now open in the new EventFlow Editor.

The exception is that any EventFlow file you ever opened using the Open With context menu in Studio 6.x might still open in the Legacy EventFlow Editor in 7.0. In this case, close the Editor session and reopen it one time in Studio 7.0 using the Open WithEventFlow Editor context menu. Thereafter, that file opens in the new Editor.

Reset Your Perspectives

This release adds menu items, views, and editors to the standard StreamBase Studio perspectives. If you are re-using an existing Studio workspace, you must run WindowReset Perspective to see the newly added items. Do this for all perspectives you used in the existing workspace, especially SB Authoring and SB Test/Debug.

Beta Users, Delete Studio Configuration Directory

If you installed and ran a beta release of StreamBase 7.0.0, remove Studio's configuration directory before installing and running the final release. This is not your workspace directory, but the configuration directory used by Studio to hold internal data, such as window positions and sizes, and the help index. The location of the Studio configuration directory is described at this link for Windows and this link for Linux.

 Studio: New EventFlow Editor 
Studio: New EventFlow Editor

Release 7.0 introduces a new version of the EventFlow Editor that provides significant usability improvements while maintaining compatibility with existing EventFlow modules. All your existing EventFlow applications and modules will open normally, but the component icons now have a new look.

The many features of the new EventFlow Editor are described on EventFlow Editor 7.x Differences. To become familiar with the benefits of the new Editor, go through the list of new and changed features, trying each feature one by one in your own application files or with sample applications.

 New StreamBase Deployment Files 
New File Type: StreamBase Deployment Files

Release 7.0.0 introduces StreamBase deployment files, a new XML format for files with the .sbdeploy extension. Deployment files are XML configuration files used for two primary purposes:

  • To specify which application modules will run in which containers, along with any container connections, module parameters, or trace instructions to configure at application start time.

  • To specify a set of externally defined modules to which tuples can be dispatched by an Extension Point operator in your application.

The use and advantages of deployment files is discussed in Deployment File Overview. Create new deployment files as described in Creating New Deployment Files, then edit them in Studio with the Deployment File Editor.

Deployment files support most of the <runtime> elements of the server configuration file, plus a new element, <extension-point-contents>, discussed below. The XML syntax of deployment files is described in StreamBase Deployment File XML Reference.

Deployment files are runnable in Studio in several ways, and can be used as arguments to the sbd command. The server configuration file is still supported, of course, and can be used in conjunction with a deployment file:

sbd -f sbd.sbconf fxtrading.sbdeploy

The <runtime> element of the server configuration file is still supported for backward compatibility. If both .sbconf and .sbdeploy files specify application modules and containers, the server reports an error and fails to start. Enciphered values are supported in the deployment files.

Deployment files can be the target of the Studio bundler or the sbbundle command, and can be converted to precompiled archive files with the sbargen command.

New Studio Deployment File Editor

StreamBase Studio includes a new Deployment File Editor that provides typechecking of your deployment file as you compose it. The editor has two modes, Design view and Source view (the Studio default mode), and both modes provide color coding, autocompletion, and context-aware tag proposal of valid elements and attributes by pressing Ctrl+Space:

Invoke the deployment file editor by creating a new deployment file with FileNewStreamBase Deployment File, or by double-clicking the name of an existing .sbdeploy file in the Package Explorer. If you first select the name of an EventFlow or StreamSQL file in the Package Explorer before running NewStreamBase Deployment File, the newly created file is pre-populated with an <application> element to run that module in the default container.

New Samples to Illustrate Deployment Files

There is a new Deployment File sample that illustrates using deployment files to run the same application in two different ways, depending on which deployment file is run. See Deployment File Sample.

The operator group of samples includes a new sample that illustrates the use of deployment files with externally defined Extension Point modules to run an application that dispatches tuples to one of two sub-modules based on a field in the input tuple. See Extension Point Deployment Sample.

 External Configuration of Extension Points 
Extension Points Extended

The Extension Point operator was introduced in release 6.6.0 as a sort of Module Reference for StreamBase interfaces, as described in Using Interfaces with Extension Points and Using the Extension Point Operator.

Release 7.0.0 introduces the ability to use a StreamBase deployment file to define which modules are to run to implement an interface. This provides support for team development of large StreamBase applications, where different teams are assigned the task of creating different modules that each implement the same StreamBase interface. Instead of hard-coding the name of an implementing module into an extension point operator, you can complete the containing application without access to the subordinate implementing modules.

You do this by specifying Defined: Externally in the Extension Point operator's Properties view of the containing module. You then provide a StreamBase deployment file (described above) with an <extension-point-contents> element and an <extension-point> child element. The target-id attribute of the <extension-point> element must match the Extension Point ID field in the Extension Point operator's Properties view. You then specify one or more module names, module identifiers, and optional module parameters for each <extension-point> element.

 Studio: New Features 
Studio Now Based on Eclipse 3.6

StreamBase Studio is now based on Eclipse 3.6, with backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

StreamBase on 64-bit Windows Now Includes 64-bit Studio

Release 7.0 continues to support separate installers for 32-bit and 64-bit Windows. The Windows installers have the following new features for release 7.0:

  • The 64-bit Windows installer now provides a 64-bit version of StreamBase Studio. It continues to provide a 64-bit JDK and both 32-bit and 64-bit StreamBase Servers.

  • The 32-bit Windows installer provides 32-bit editions of Studio and StreamBase Server. As before, you can install 32-bit StreamBase on either 32-bit or 64-bit Windows.

  • You can run both 64-bit and 32-bit installers in either order on the same target PC. The first installer to run provides the majority of StreamBase features; the second installer to run adds only the components not already installed.

  • If you run both 32- and 64-bit installers, there are now separate desktop icons and Start menu entries for 32-bit and 64-bit Studio. Both Studios can be installed without conflict, and each can use the same workspace (but not simultaneously). You might run 64-bit Studio for the majority of your work, then run 32-bit Studio occasionally to support an existing application that loads 32-bit native code for an adapter or custom operator.

Studio: Attach to Running Server

StreamBase Studio now supports attaching to a running remote or local StreamBase Server instance to analyze applications on that server. This feature does NOT provide support for remote debugging. Once connected, you can use most features of the SB Test/Debug perspective on the running application, including the Manual Input view, Application Input and Output views, feed simulations, recordings, and the profiler. This feature is implemented as a new run configuration type, Attach to StreamBase Server. See Attaching to a Running Application.

Studio: Debug Across Container Boundaries

The Studio visual debugger can now step into modules running in non-default containers.

Studio: Manual Input View Now Has Automatic Timestamp Entry

In the Manual Input view, Studio now provides an autocompletion shortcut to enter the current date and time in any timestamp field. To enter a timestamp value, press Ctrl+Space with the cursor in a timestamp field. Studio prompts with an autocompletion message as shown below. Select the message and press Enter to fill the field with a formatted timestamp string. You can accept the string, or edit it to provide another date or time. See Manual Input of Data.

Studio: Manual Input View Now Has Select Link

The Manual Input view now has a select link on the right of the Stream field. When working with large applications with many input streams in several modules, click this link to open a dialog that shows all input streams in the current project's module search path.

Studio: Module and Resource Chooser Dialogs Added

To help select modules in large projects with a large module search path, two places where you select modules now have a Choose button next to their module selection fields. The button opens a Choose Module dialog that lets you browse the files and folder of your project's module search path with a tree view. The two places with the new button are the General tab of the Properties view for the Module Reference icon, and the Modules tab of the Properties view for the Extension Point operator.

Similarly, a Choose button is now shown next to the File Name field for any adapter or operator that allows you to select a resource file. This shows a flattened view of the files and folders in your project's resource search path. The CSV File Reader adapter's Adapter Properties tab is one place where the Choose button now appears.

Studio: Separate Layout Files Now Automatically Renamed, Copied, Deleted

If you elect to keep EventFlow layout information in a separate layout file, the .sblayout file is now copied and deleted automatically when you copy or delete the corresponding EventFlow file. If you rename the EventFlow file, its corresponding .sblayout file is automatically renamed. The reverse is not true: you can copy, delete, and rename .sblayout files without affecting the corresponding EventFlow file.

Studio: Toolbar Typecheck Button Now Toggles State

The Typecheck button () in the Studio toolbar now has a drop-down arrow and menu that allows you to toggle the state of automatic typechecking without opening Studio Preferences.

Studio: Feed Simulation Editor Update

In the Data File Options dialog (invoked from the first Options button in the Feed Simulation Editor), the Map to Leaf Fields check box was renamed, and now only appears when it can be used. If the schema of one of the input streams of the simulation includes one or more fields of type tuple, the check box appears in the Data File Options dialog, now labeled Map data file columns to sub-fields of tuple fields. The same option was also renamed in the StreamBase Test Editor, and is described in Map to Sub-Fields Option.

Studio: Edit Table Schema Dialog Now Indicates Primary Key

When editing a table schema, the primary key is now marked with an asterisk in the Schema tab's field grid.

Studio: Hover to See Origin of Imported Items

In the Manage Module Imports section of the EventFlow Editor's Definitions tab, you can now hover the mouse over an imported application or interface's name to show the path of the originating Studio project, rooted at the Studio workspace.

Studio: Variables View Brought to Front at Breakpoint

When debugging an EventFlow application and hitting a breakpoint, the Variables view is now automatically brought to the front to show the tuple contents at the breakpoint. You can toggle this behavior with the StreamBase button in the Variables view's toolbar, or with a Studio preference setting.

Studio: Running a StreamBase JUnit Test No Longer Switches Perspective

When running a StreamBase JUnit Test in Studio, the JUnit view now appears in the bottom pane of the SB Authoring perspective instead of switching to the SB Test/Debug perspective. This allows you to edit and re-run the test file with fewer delays.

Studio: New Application Wizard Can Extend an Extension Point

In the New EventFlow Application wizard, you can now opt to create the new application module to extend an existing Extension Point in the selected project. See Creating an Application to Extend an Extension Point.

Studio: New Launch Configuration Option

The Run Configuration dialog (and its Debug and Trace equivalents) has a new option on the Main tab. Select Compile StreamBase application in separate process if StreamBase Server fails to start because of heap or memory issues on memory-constrained systems such as 32-bit Windows. See Editing Launch Configurations for details.

Studio: Updates for Module Call Hierarchy View

Introduced in release 6.6, the Module Call Hierarchy view shows a tree view of modules and interfaces called by the current EventFlow module (the callee view). Starting with release 7.0, the Module Call Hierarchy view can also show a tree view in the other direction of modules that call the currently active module (the caller view). You switch between caller and callee views with buttons in the top right corner of the view. Release 6.6's graphical view option was removed. See Module Call Hierarchy View.

Studio Now Includes Subversive

In addition to the CVS plug-in, StreamBase Studio now includes the Subversive plug-in, which provides support for the Subversion version control system. Documentation for Subversive is now included as part of Studio's help system.

The plug-in requires, but does not include, a connector component. When you first use the Subversive plug-in, the Subversive Connector Discovery dialog prompts you to download and install a connector that matches the Subversion release in use at your site. This is a one-time selection and does not need to be repeated.

This dialog only comes up one time per Studio session, and reappears when Studio starts as long as you have not made a selection. Follow these steps to force the dialog to come up:

  1. Open the Subversive plug-in's perspective with WindowOpen PerspectiveOtherSVN Repository Exploring.

  2. If the dialog does not appear after a moment, exit Studio, leaving that perspective active.

  3. Restart Studio and wait for the dialog to appear. (The dialog must contact an external web site, so it might take a moment to populate and appear.)

StreamBase Systems recommends using the SVN Kit connector that matches the Subversion release in use at your site.

Migration Wizard for 3.x Projects Removed

In release 6.3.0, Studio stopped autodetecting and automatically converting Studio projects created with StreamBase 3.x. As of release 7.0.0, Studio no longer includes the wizard that automated the conversion of such projects. If you still have StreamBase 3.x projects to migrate, you can convert them in an earlier StreamBase release, then import the converted project to release 7.x. If this is not feasible, contact TIBCO StreamBase Technical Support for assistance.

 Server Configuration File Changes 
Application Element Deprecated

The <application> element of the server configuration file's XML syntax is now deprecated. The server still supports the <application> element in server configuration files for backward compatibility, but StreamBase Systems now recommends migrating to the <application> element in StreamBase deployment files, as discussed in New StreamBase Deployment Files above.

New Menu Placement

The various New menus in Studio now include StreamBase Server Configuration File at their top level, instead of in the Other menu tree. As before, invoke the New menu from FileNew, or from the New button in the toolbar, or from the Package Explorer context menu.

Studio Can Now Generate an Empty Configuration File

When using Studio to generate a new server configuration file, you can now optionally create an empty file without explanatory comments. This creates a bare-bones configuration like the example below, to which you add the lines you want, rather than removing the explanatory commented lines.

<?xml version="1.0" encoding="UTF-8"?>
<streambase-configuration 
  xmlns:xi="http://www.w3.org/2001/XInclude" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:noNamespaceSchemaLocation="http://www.streambase.com/schemas/sbconf/">
  
</streambase-configuration>
New Configuration File Editor

Studio's Configuration File Editor, in addition to typechecking your configuration file as you compose it, now provides two editor modes, Design view and Source view (the Studio default mode), and provides color coding, autocompletion, and context-aware tag proposal of valid elements and attributes by pressing Ctrl+Space:

Server Configuration Files Now Support Include Files

Release 7.0.0 introduces support for breaking a complex server configuration file into component pieces, and then including smaller portions into a master configuration file. This feature allows for greater reusability of standard or site-specific configuration file settings. Include-files are supported only for server configuration files, and not for any other StreamBase file type. Include file support is provided by the XML Inclusions specification, commonly called XInclude. See Using Modular Configuration Files for instructions.

Suggested Defaults for Garbage Collection Policy Now Included

The skeleton server configuration file generated with sbd -s, and the configuration file generated in Studio with comments enabled, both now include suggested default settings for configuring Java garbage collection policy for StreamBase Server. These settings are discussed in Garbage Collection Policy Settings.

New Option for Automatic HA Setting

The enabled parameter of the <high-availability> element of the server configuration file now has three possible settings: auto, custom, and ha-off. This change was made to support a distinction between two situations where automatic HA is disabled: one where you are writing custom HA support, and the other where the application is not an HA application at all. The former true and false settings are still supported for backward compatibility. See <high-availability> and Using Automatic HA for details.

Operator Parameters Can Be Defined Narrowly

When using the <operator-parameter> element of the server configuration file, you can now narrow the setting to apply only to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. Previously, operator parameter settings applied globally. See <operator-parameter> in the server configuration XML reference.

 New StreamBase Server Features 
Speed Increase from String Representation Change

The internal representation of strings was optimized to avoid many internal string copies, resulting in a speed increase for all StreamBase applications. StreamBase Systems tests on real-world applications have shown an improvement of up to 20% faster.

Finer Resolution in Profiling Statistics

CPU profiling resolution was improved. The base clock is more accurate and, while CPU profiling is still statistically sampled, the sample interval is now configurable. The default sample rate of 10 milliseconds is unchanged from previous releases, but you can now set the system property streambase.profile.intervalMS to an integer representing an alternate number of milliseconds between samples. For example, a setting of streambase.profile.intervalMS=1 takes a CPU sample every millisecond and provides roughly millisecond sampling accuracy. StreamBase Manager, sbmonitor, and sbprofile all benefit from the increased accuracy. The sbprofile command now reports microseconds per cycle for operator CPU time.

New Support for JMX Management Bean

StreamBase Server is now instrumented with a JMX-compliant Management Bean that provides access to limited status information and provides some control methods similar to the sbadmin command. This allows the server to be visible to JMX-compliant network management tools such as Java JConsole or HP Openview. See JMX Monitoring.

Tuple Sub-Field Data Coercion

When entering data to a stream whose schema contains a field of type tuple, StreamBase now attempts to coerce the data into the sub-tuple fields using the same rules as for a loose union in the Union operator.

 Utility Command Changes 
New options for sbc and sbadmin

The sbc command has two new subcommands, getDynamicVariable and setDynamicVariable. The first argument for both subcommands is a StreamBase path to a dynamic variable in the form container.module.dynvar-name. The second argument for setDynamicVariable is the value to set for that variable. As before, the sbadmin command inherits all sbc subcommands. See sbc.

The sbadmin command now has an addDeploy subcommand much like the addContainer command, except that the application, container, and all options are specified in a deployment file. Four subcommands (addContainer, addDeploy, modifyContainer, and removeContainer) now have a --verbose flag; if used, these subcommands report success instead of returning silently. See sbadmin.

New option for sbc list

The sbc list command now supports –a to produce a list of all streams, containers, and schemas in the connected application, including intermediate streams, but not including any system streams. The sbc list –a command was present in StreamBase 5.0, and was removed in subsequent releases. This release restores the –a option.

New options for sbbundle

When you create a StreamBase bundle in Studio, the bundler takes advantage of its access to Studio configuration metadata (such as the module search path, resource search path, Java build path, and so on). Release 7.0.0 introduces the same capability to the sbbundle command with the new –p and –P options. See the sbbundle reference page and Application Bundling.

 Adapter Updates 
StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase input and output adapters were updated with a new check box property, Connect on adapter init. With the default setting of enabled, the adapters attempt to connect to the other server during adapter initialization, which can block the startup of the containing StreamBase Server. When disabled, the adapters start at the time they are needed. You can specify this property in the form ConnectOnInit as a parameter in the URI of a container connection string, as described in Container Connections.

HA Heartbeat Adapter Updated

The HA Heartbeat adapter now sends the leadership status of the other node in an HA pair in its heartbeat event tuples. This change adds a field to the HA Heartbeat event tuple's schema, and could thus affect existing applications that use this adapter.

 Sample Updates 
New Load StreamBase Sample Dialog

The Load StreamBase Sample dialog in StreamBase Studio was updated to add a search field, which lets you narrow the list of samples to those matching your search string. Sample categories for adapter-related samples were reorganized by the functionality provided; some adapter samples are listed in more than one category. All categories can now be collapsed and expanded; the dialog first opens with all categories collapsed, and thereafter remembers your expand and collapse settings for individual categories. When you load a sample, the README file for that sample now automatically opens in Studio (unless you disable that option). See Loading StreamBase Samples.

Operator Sample Group Reorganized

The operator sample group in the Data Constructs and Operators category was significantly reorganized and clarified. In the Package Explorer, this sample group now shows only the top-level EventFlow application for each operator plus the HTML README file for each application and several deployment files. Modules called by the Extension Point samples are now in the Modules folder, while feed simulation and related data files are now in the ResourceFiles folder.

New Samples to Illustrate Deployment Files

As described above in  New StreamBase Deployment Files , there are two new samples that illustrate StreamBase deployment files: Deployment File Sample and Extension Point Deployment Sample.

Updates for HA Samples

A new HA Finite State Machine sample was added to show the use of a finite state machine to deal with state transitions in an HA design pattern. See High Availability Finite State Machine Sample.

The primary HA sample was updated to illustrate the new settings for the enabled parameter of the <high-availability> element of server configuration files described above.

The table replication HA sample was updated to take advantage of and illustrate the new ConnectOnInit container connection parameter described above.

 Expression Language Updates 
New random_tuple() Function

The expression language was augmented with the new random_tuple() function that allows you to generate tuples filled with random field values given a schema.

New Bitwise Functions

The expression language with augmented with the following bitwise operation functions: bitand(), bitnot(), bitor(), bitxor(), lshift(), rshift(), and unsignedrshift(). In previous releases, the language had undocumented versions of these functions, but with names beginning with x_. Remove the initial x_ from any uses of the undocumented functions.

New Signatures for format(), systemproperty(), systemenv()

Three functions no longer accept a string length argument. In any application that uses format(), systemproperty(), or systemenv(), adjust the expression to remove the extra argument.

 API Changes 
Deprecated Methods Now Removed

Some methods in the StreamBase Client API that were marked as deprecated in previous releases have been removed in release 7.0.0.

New Methods Added

The Client API was extended to add:

  • Methods that can get and set dynamic variable values for a module from a client application.

  • Methods that give Java operators access to StreamBase Server facilities.

 Platform Changes 
JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

 Documentation Changes 
Documentation Updates Independent of New Features

StreamBase release 7.0.0 included the following documentation updates and corrections that were incorporated independent of the new features discussed above:

StreamBase 6.6.x Release History

This section lists the significant changes in the StreamBase 6.6.x release series.

What Was New in StreamBase 6.6.25

StreamBase 6.6.25 is a maintenance release that fixes a product limitation, as described in the Resolved Limitations section of the Release Notes.

In addition, StreamBase 6.6.25 adds the following updates and new features:

Adobe Flex Adapter Fully Deprecated

Adobe Flex 2 adapter was removed from the 6.6.x release cycle. This removal affects all future releases of StreamBase Server.

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Support for NDF in Deutsche Bank AutobahnFX Trading System Adapter

This release provides full support for non-deliverable forward (NDF) pricing for subscribe and unsubscribe requests for the Deutsche Bank AutobahnFX Trading System adapter.

What Was New in StreamBase 6.6.24

StreamBase 6.6.24 was a maintenance release that fixed a product limitation, as described in the Resolved Limitations section of the Release Notes.

In addition, StreamBase 6.6.24 added the following updates and new features:

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

NDF Support for the Deutsche Bank AutobahnFX Trading System Adapter

The Deutsche Bank AutobahnFX Trading System Adapter now supports non-deliverable forward (NDF) pricing. The adapter now requires AutobahnFX Java API, version prod-11-2-5 or above.

Documentation Updated
29West Adapter Pages Updated

The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.

What Was New in StreamBase 6.6.23

StreamBase 6.6.23 was a maintenance release that fixed a product limitation, as described in the Resolved Limitations section of the Release Notes.

In addition, StreamBase 6.6.23 added the following updates and new features:

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Documentation Updated

The StreamBase expression language has silently supported the between-and operator for many releases. Documentation for this operator is now in place in the Expression Language Features page in this section.

What Was New in StreamBase 6.6.22

StreamBase 6.6.22 was a maintenance release that fixed a product limitation, as described in the Resolved Limitations section of the Release Notes.

In addition, the StreamBase documentation for 6.6.22 included the following update:

  • The Runtime Tracing page in the Administration Guide was updated with better command-line examples and was clarified throughout. (In 7.x releases, the same page is now Runtime Tracing and Creating Trace Files in the Test/Debug Guide.)

What Was New in StreamBase 6.6.21

StreamBase 6.6.21 was a maintenance release that fixes a number of product limitations, as described in the Resolved Limitations section of the Release Notes.

What Was New in StreamBase 6.6.20

New and Updated Features

StreamBase 6.6.20 added the following updates and new features:

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_31. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Bloomberg Tradebook FX FIX Adapter

This release includes the Bloomberg Tradebook FX FIX adapter that allows a StreamBase application to connect to the trading infrastructure provided by Bloomberg Tradebook FX, and to exchange FIX messages with it. See Bloomberg Tradebook FX FIX Adapter.

StreamBase Release-Build Number Now Visible

For most purposes, StreamBase releases are well distinguished by their release numbers in three-position major.minor.maintenance format, such as 6.6.20. On rare occasions, you may need to report the fourth position build number. Starting with this release, the full four-position release number is visible from the command prompt in STREAMBASE_HOME/doc/VERSION.txt and in the documentation at the top of the Release Notes page.

Documentation Changes

There is a new page in the Authoring Guide, String Values in Parameters, that suggests a standard way to pass string values to expression language contexts without using escaped quotes or quotes within quotes in the parameter definition.

What Was New in StreamBase 6.6.19

Fixes

StreamBase 6.6.19 fixed product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

New and Updated Features

StreamBase 6.6.19 added the following updates and new features:

Embedded JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_30. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

sb-config Command Updated

The sb-config command was updated to provide better support on UNIX for directories named with spaces. The Windows version of the command was not changed, and on UNIX, the Java-related command options were not changed. See the sb-config reference page for details.

What Was New in StreamBase 6.6.18

Fixes

StreamBase 6.6.18 fixed product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

New and Updated Features

StreamBase 6.6.18 added the following updates and new features:

Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

Documentation Updates

The description of the Queues View was updated and corrected for both StreamBase Monitor and StreamBase Manager.

What Was New in StreamBase 6.6.17

Fixes

StreamBase 6.6.17 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.17 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.5.13.

New and Updated Features

StreamBase 6.6.17 added the following updates and new features:

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

C++ Client Library Update

The Timestamp class in the C++ Client Library now uses snap to end of month semantics for the setMonth() method. The following code fragment illustrates how this works:

Timestamp tm;
tm.setYear(2011);
tm.setMonth(10);
tm.setDayOfMonth(31);
// tm now represents October 31, 2011
tm.setMonth(2);
// tm now represents February 28, 2011
Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support through version 7.7.2 of the Trading Technologies data dictionary.

Excel Adapter Updated

The Excel External adapter was updated such that the buffer-size configuration parameter and TUPLENUM tag are now limited to values between 1 and 1000. Prior to this change, there was no limit on buffer-size, and TUPLENUM was limited to values between 1 and 999.

What Was New in StreamBase 6.6.16

Fixes

StreamBase 6.6.16 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.16 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.5.13.

New and Updated Features

StreamBase 6.6.16 added the following updates and new features:

Windows Installers Are Now Digitally Signed

As of this release, all Windows MSI installer files are digitally signed, including the installers for external adapters and Frameworks.

.NET Client Library Updated

To provide better alignment of the StreamBase .NET Client Library with the Java Client Library, the .NET API was updated to add new field creation methods to StreamBase.SB.Schema, and to deprecate older field creation methods.

Wombat MAMA Input Adapter Supports MAMA API Version 5

The Wombat MAMA Input adapter was updated to support version 5 of the MAMA API. To specify the use of MAMA version 5, in the adapter's Properties view, for the MAMA Version property, select 4.x and above, which is now the default setting.

TBF Input Adapter Updated

The TBF Input adapter was updated to add new configuration options, QueueCapacity, RequestRetransmitOnHeartbeatTimeout, and to increase the default blocking capacity of the adapter.

IBM WebSphere MQ Adapter Updated

JAR files provided by IBM that support WebSphere MQ are no longer shipped as part of the StreamBase kit. Documentation topics for the IBM WebSphere MQ Input and Output adapters and sample were updated to describe where to install the MQ JAR files you obtain from IBM.

Deutsche Bank AutobahnFX Trading System Adapter Updated

JAR files provided by Deutsche Bank that support the AutobahnFX Trading System are no longer shipped as part of the StreamBase kit. Documentation topics for the AutobahnFX Trading System adapter and its sample were updated to describe where to install the Autobahn FX JAR files you obtain from Deutsche Bank.

UBS FIX Adapter Updated

The data dictionary for the UBS FIX adapter was updated to the latest version.

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter was updated to send its e-mail messages in a separate, background thread and to add the new Outgoing Message Queue Capacity property. Set this to a value large enough to accommodate the maximum expected e-mail message burst.

Log Output Adapter and Sample Updates

The Log Output Adapter sample was revised to show three examples of formatting that the adapter can apply to log messages. The Log Output adapter topic in the Adapters Guide was revised, corrected, and expanded. The sample's topic in the Samples Guide was revised and expanded.

Binary File Reader Adapter Updated

The Binary File Reader adapter now emits a close event tuple when it finishes reading a file.

Documentation Updates

The StreamBase documentation for release 6.6.16 included the following changes independent of the above updates:

  • The instructions for configuring Visual C++ to build StreamBase clients and custom functions for Windows were expanded and clarified. See Configuring Visual C++.

  • Notes were added to the Expression Language Features and Dynamic Variables topics to clarify that, in any expression anywhere in StreamBase, unqualified names are resolved first against the names of any dynamic variables in the current module, and then against the names of fields in currently available streams. This means that a dynamic variable named foo can inadvertently mask a field also named foo, depending on context.

  • The section for the -b option on the sbd reference page, and the Background Mode on Windows section of the Server Background Mode and Logging page were rewritten to emphasize and better explain why we discourage running sbd -b on Windows.

  • The expression language's nanotime() function was moved from the Timestamp category to the System category with an updated description.

What Was New in StreamBase 6.6.15

Fixes

StreamBase 6.6.15 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.15 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.5.13.

New and Updated Features

StreamBase 6.6.15 added the following updates and new features:

.NET Client Library Update

In the .NET Client Library, the StreamBase::SB::Timestamp class was made serializable.

Thomson Reuters RMDS Subscribing Input Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to add useMarketfeedUpdateType=true to its default configuration file. For SSL connections when using the Market Feed message model only, this directs the adapter to emit Market Feed corrections as CORRECTION messages.

Lime Citrius Adapter Updated

The Lime Citrius Quote adapter was updated to use version 2.0.6 of the Lime Citrius API.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a STAMP configuration parameter, RetranRetryWaitTime.

FXall Provider Adapter Updated

The output adapter in the FXall Relationship Trading Provider Adapter set was updated to add the Log XML Messages and INFO Level property. Previously, only the input adapter of this adapter set supported this option.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support version 7.6.5.29 of the Trading Technologies data dictionary.

Documentation Updates

The StreamBase documentation for release 6.6.15 included the following changes independent of the above updates:

  • The Rules of StreamBase Execution Order were updated and extended.

  • The Microsoft Excel External Adapter documentation was updated to extend and correct the sample code for publishing tuples to StreamBase from Excel.

  • The Authoring Guide's JDBC Data Source Overview page was augmented with a new section that summarizes in one place all the JDBC-related options for the server configuration file.

  • The reference pages (and man pages on UNIX) for several commands were updated to reflect support for the -J option to specify per-invocation JVM arguments. The -J option is an updated and more convenient alternative to using the STREAMBASE_JVM_ARGS environment variable for this purpose. The commands affected are: jsbadmin, jsbc, jsbclientgen, sbargen, sbbundle, sbcipher, sbd, sbfeedsim, sbprofile, sbproxy, sbrecord, and sbtest. The following commands from external adapter kits also support -J: sb-ems-* and sb-jdbc.

  • The Drools Operator page was updated to reflect the name change of the optional third-party package from Drools Expert to Drools Core and to rework the steps for downloading and installing it.

What Was New in StreamBase 6.6.14

Fixes

StreamBase 6.6.14 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.14 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.5.13.

New and Updated Features

StreamBase 6.6.14 added the following updates and new features:

Thomson Reuters Velocity Analytics Database Now Supported

The Velocity Analytics tick-store database from Thomson Reuters is now supported for standard JDBC access.

Stricter Operator.postShutdown() Behavior

The postShutdown() method of the Operator class was updated to more strictly wait for an operator or adapter's run threads to exit (or time out) before running. This strict behavior of postShutdown() is the default behavior as of this release, and improves the shutdown behavior of all operators and adapters, whether provided by StreamBase or custom. You can restore the postShutdown() method's non-strict behavior by setting the streambase.java-operator.unsynchronized-shutdown system property to true.

New Support for Container Connections Within One Container

In previous releases, container connections were restricted to streams exiting one container and entering a stream in a separate container. As of this release, that restriction is relaxed, and you can configure stream to stream connections within the same container, where the destination and source container names are the same. Intra-container connections must be Asynchronous, and the same access restrictions apply: that is, streams you wish to connect to or from in sub-modules must be marked as Always exposed in EventFlow modules, or public in StreamSQL modules.

New JDBC Query Timeout Parameter

In StreamBase Server configuration files, the param child element of the data-source element accepts a new value, jdbc-query-timeout. This parameter specifies an integer number of milliseconds that StreamBase waits for each JDBC query operation to execute. The default is 0, which means wait forever for each query to return; this default matches the behavior of StreamBase before this parameter was added. Specify a value such as 15000 (15 seconds) to prevent StreamBase Server from hanging in rare cases where the JDBC server never responds to a query. See StreamBase Server Configuration File XML Reference.

Drools Operator Updated

The Drools operator was updated to add an optional status port specified with the new Enable status port property. This port conveys the status of rules entered at runtime on the dynamic rule port. The documentation page for the operator was updated to clarify the format of rules entered on this port.

New Expression Language Functions

The new nullif() function evaluates two arguments. If the arguments are equal, the function returns null; otherwise, the first argument is returned. This function can be used to evaluate fields before and after an event, and to send a field downstream only if it has changed, otherwise null.

The new eval() function takes either two or three arguments. With two arguments, the function evaluates a simple expression entered as a string and returns the result using the data type of the second argument. With three arguments, the second field contains a tuple, and the expression in the first field can be evaluated against any fields in that tuple. The third argument specifies the return data type. Because of environment limitations, the eval() function does not run successfully at the command prompt with sbd --eval, but runs as expected in EventFlow and StreamSQL expressions.

Thomson Reuters RMDS Subscribing Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to better distinguish quotes from trades. The market data output port now contains an optional ResponseType field, which supersedes the UnsolicitedRefresh field. The field is enabled by selecting the Include OMM Response Type Field property in the Tuple Properties tab in the adapter's Properties view. The field contains SOLICITED or UNSOLICITED for refresh messages, or contains QUOTE, TRADE, CORRECTION, and so on, for update messages.

Deutsche Bank AutobahnFX Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support ladder rungs for swaps and to provide performance enhancements.

CitiFX FIX Adapter Updated

The CitiFX FIX adapter was updated to support the Executable Streaming Prices for Forwards product as well as ESP for Spot. Continue to select the Spot option in the adapter's Properties view for either ESP product.

TBF Adapter Updates

The TBF Input adapter was updated to support the new MaxQueueLength and RetransRetryCount properties in the STAMP session configuration file. See TBF Input Adapter for details.

Documentation Updates

The StreamBase documentation for release 6.6.14 included the following changes independent of the above updates:

What Was New in StreamBase 6.6.13

Fixes

StreamBase 6.6.13 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.13 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.5.13.

New and Updated Features

StreamBase 6.6.13 added the following updates and new features:

New StreamBaseFIX FIX Engine Available

Starting with this release, the FIX adapter can be configured to take advantage of a new FIX engine, StreamBaseFIX, in addition to the QuickFIX/J, CameronFIX, and Appia FIX engines already supported. StreamBaseFIX is derived from the B2Bits Antenna FIX engine from EPAM Systems, and allows high-speed, low-latency communication using the FIX protocol.

StreamBaseFIX can be used with the FIX adapter and with all StreamBase adapters that use the FIX protocol, including the Bolsa Commercio Santiago FIX, Bovespa, CitiFX FIX, Currenex, EBS, FXall FIX, Goldman Sachs Electronic Trading FX, Integral FX Inside FIX, LavaFX, Lime FIX, Nomura FX FIX, Raptor, Trading Technologies, and UBS FIX adapters.

The StreamBaseFIX engine is included with the base StreamBase kit, but its use is separately licensed. Contact StreamBase Systems Technical Support or your StreamBase Sales Engineer for further details.

Reuters Adapter Family Rebranded as Thomson Reuters

The six StreamBase adapters that connect StreamBase applications to the Reuters infrastructure were rebranded as Thomson Reuters adapters. Functionality for all Thomson Reuters adapters remains the same as before.

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_24. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Delete on Exit Behavior for Bundles

In previous 6.6.x releases, a temporary working directory where a bundle's contents were unzipped was automatically created and used, and was silently and automatically deleted on sbd exit. Starting with release 6.6.13, the unzipped bundle's working directory contents are still deleted on exit under two circumstances:

  • You do not specify a working directory with -w, in which case an automatically determined temporary directory is created and deleted.

  • You use -w, and specify an empty working directory.

If you use -w, but specify a path to a directory with any existing contents, that directory is preserved on sbd exit. You can use the new streambase.sbd.delete-working-bundle-dir system property to modify this delete on exit behavior. Set -Dstreambase.sbd.delete-working-bundle-dir=true to delete the working directory's contents even if you specify a non-empty path with -w. You can use the sbd command's -J option to specify the system property on the sbd command line.

Properties View, Concurrency Tab Now Accepts Parameters

In the Concurrency tab of the Properties view, the Number of instances field now takes a parameter in ${param} format, where param is defined in the Definitions tab of the EventFlow Editor of the same module, or is otherwise passed to the containing module. See Concurrency Options in the Administration Guide.

New getServerURI() Function

The expression language gained the new getServerURI() function that returns the StreamBase URI of the currently running server in the form sb://localhost:10000. The function reports the URI from the server's point of view, and thus always returns localhost as the host name. Use this function to obtain the port number plus any appended authentication parameters from a running server.

In previous releases, StreamBase samples and documentation recommended using systemproperty("streambase.uri") to retrieve this information. As of this release, the HA samples and documentation now show the use of getServerURI() instead.

Customers running multiple instances of StreamBase Server in the same JVM (which can happen when running a StreamBase JUnit test) need a way to distinguish the port number in the URI of separate server instances, which is not possible with a JVM-wide property. StreamBase Server continues to provide the streambase.uri system property in the 6.6.x release series, but the property is deprecated as of release 7.1.0. StreamBase Systems recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of the streambase.uri property.

New regexreplace() Function

The expression language gained the new regexreplace() function, as described on the Expression Language Functions page.

New Bloomberg BPOD Subscribing Input Adapter

The StreamBase base kit now includes the Bloomberg BPOD Subscribing Input adapter, which allows a StreamBase application to receive market data messages from a Bloomberg server. The adapter is described in Bloomberg BPOD Subscribing Input Adapter in the Adapters Guide, and has a sample, described in Bloomberg BPOD Adapter Sample.

New Wombat MAMA Output Adapter

The new Wombat MAMA Publishing Output adapter allows StreamBase applications to publish MAMA messages on a user-specified Wombat MAMA source. The new output adapter joins the existing Wombat MAMA Subscribing Input adapter. There are now two Wombat samples, one each for the Publishing Output and Subscribing Input adapters. These samples can be run together for testing, using one sample to publish messages, the other to receive them. In addition, both Wombat adapters were updated with the ability to load a data dictionary from a file.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was updated with the following enhancements. See FxAll Relationship Trading Provider Adapter in the Adapters Guide for details.

  • The new Log XML Messages at INFO Level property specifies that received XML messages are to be logged at the INFO level.

  • The new Set Requirement Maker IDs property adds support for populating the Maker ID of each requirement of each leg during SentPickup commands.

  • The following output adapter properties were not used and were removed: Maker ID, Maker Name, Maker Group Name.

  • The adapter now has an Order.InstrumentOrders.AdditionalCurrencyInfo tuple field to convey NDF information.

  • The sample associated with this adapter was refactored into separate modules.

Thomson Reuters RMDS Adapter Updated

The Thomson Reuters RMDS Subscribing Input Adapter was updated to include a field in the market data output port to receive the OMM sequence number.

Deutsche Bank Trading System Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support a new Include Latency Data property in the adapter's Properties view. When selected, this property adds two latency measurement fields to the Quotes output tuple expressed in nanoseconds. The QuoteArrivalTime field records the time between delivering a quote to the adapter and the time that quote arrives in the containing adapter. The QuoteHandoffTime field records the time a Quotes tuple spends enqueued after the adapter has called sendOutputAsync().

Alpha Adapters Updated

The Alpha Trading Systems adapters, both EMAPI Market Data Feed and EMAPI Order Entry adapters, were updated to use version 4.5 of the Alpha Trading Systems API.

Thomson Reuters RFA Adapter Updated

The Managed Publishing Adapter for Thomson Reuters RFA was updated to use version rfaj7.0.0.E2 of the RFA/Java library. This corrects a memory leak in that library.

API Changes

A convenience method, confFilePath(), was added to ServerManagerFactory to make it easier to run StreamBase JUnit tests with explicit configuration files.

Documentation Updates

The StreamBase documentation for release 6.6.13 included the following changes independent of the above updates:

What Was New in StreamBase 6.6.12

Fixes

StreamBase 6.6.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.12 and 6.4.14.

New and Updated Features

StreamBase 6.6.12 added the following updates and new features:

New sbd Working Directory Switch

This release introduces the -w and --working-directory options for the sbd command that allow you to specify a path to an existing directory from which to run StreamBase applications. When used in conjunction with a bundle file, this switch specifies the directory into which the bundle is unzipped before running its contents. See sbd(1).

New sbargen Switch

The sbargen command has a new option, --if-modified. When used, it directs sbargen to check the target .sbar file's dependencies, and only rebuild the target if it is older than its dependencies.

New Expression Language Function

The expression language was enhanced with a new function, isinterval(), that returns true if its timestamp argument is an interval timestamp.

SBJunit Method Extended

The SBServerManager.loadApp() method in the com.streambase.sb.unittest package now loads precompiled archive files (.sbar files) as well as EventFlow and StreamSQL files. As before, specified files are located on the module search path.

Copy-free Tuple Setter Methods Added

Zero copy Tuple setter methods were added to the Java API. See the Javadoc for Tuple.getAllocatedTuple() and the comments added for Tuple.getTuple() and Tuple.setTuple().

FIX Adapter Updated

When using the FIX Adapter with the Appia FIX engine, time-based FIX fields (UTCTimestamp, LocalMarketTime, and so on) are mapped to StreamBase field types differently than for other supported FIX engines. For details, see Field Type Mapping on the FIX Adapter documentation page.

29West LBM Adapter Updated

The 29West LBM adapter was updated such that all instances of the adapter now share a context if they specify the same LBM configuration file and section.

Hotspot FX Adapter Updated

The Hotspot FX Control adapter (part of the Hotspot TXTrading System adapter suite) now supports two new actions: connect and disconnect. See Hotspot FX Trading System Adapter.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was enhanced to support the Use Custom Order Schema and Custom Order Schema properties on the adapter's Studio Properties page. Enable the Use option to specify the use of a custom schema with which to emit order tuples on the event port, then specify the custom schema itself in the Custom Order Schema field. In addition, the adapter now includes a field that contains the nanotime value at the time each callback was made from the FXall API into the adapter. See FXall Relationship Trading Provider Adapter for details.

Reuters RMDS Subscribing Input Adapter Updated

In processing update messages, the Reuters RMDS Subscribing input adapter now uses cached item state to populate metadata fields for OMM message models, as it has been doing for the non-OMM MarketFeed model.

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 6.6.12, the Vhayu Subscription and Vhayu Query adapters were removed from the StreamBase base kit. Vhayu Technologies was acquired by Thomson Reuters in August, 2009, and Vhayu's proprietary subscribe and publish API was replaced with the standard Reuters RMDS protocol. Thus, to subscribe to or publish to a Vhayu Velocity or Reuters Tick Capture Engine tick-store database, you can now use the Reuters RMDS Subscribing Input and Publishing Output adapters.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.12: RSS Reader, TIBCO Embedded Input and Output, Vertica Load, and XML File Writer, XML Over HTTP.

Documentation Updates

The StreamBase documentation for release 6.6.12 included the following updates independent of the above updates:

What Was New in StreamBase 6.6.11

Fixes

StreamBase 6.6.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.11 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.12 and 6.4.14.

New and Updated Features

StreamBase 6.6.11 added the following updates and new features:

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_23. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

FXall Relationship Trading Provider Adapter Updated

In the FXall Relationship Trading Provider adapter, the output adapter's input schema was modified to support multiple legs. The top-level Bid and Ask fields have moved under a new top-level PriceLegs field, which contains lists of tuples, the schema of which now contains the former Bid and Ask fields. The Adapters Guide page for this adapter was updated to correct errors in the specification of input schemas. See FXall Relationship Trading Provider Adapter.

Reuters RMDS Subscribing Adapter Updated

The Reuters RMDS Subscribing Input adapter was updated when used with RFA 6.5 that when configured for market price, the adapter now subscribes to just the FIDs corresponding to the fields in its output schema. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

EBS Adapter Updated

The EBS adapter and its data dictionary file were updated to support EBS Ai 6.1 FIX 1.3. See EBS Adapter.

StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase adapters were updated to emit a connection down event tuple when the initial connection fails. See StreamBase to StreamBase Input Adapter.

Minor Linux and Solaris Installation Changes

The names of the .bin files that contain the RPM and archive installation options for Linux and Solaris were extended to include a build number as well as architecture and platform tags. This help you distinguish similar installation files when installing an upgrade on several platforms. See Installing StreamBase on Linux and Installing StreamBase on Solaris.

The installers now check the current platform and architecture and issue a warning if you attempt run a non-matching installer version. Finally, the unpack option for the archive installer on Linux was improved, as described in Installing StreamBase on Linux.

Vertica 4.1 Now Supported

This release adds support for Vertica 4.1, in addition to 3.5 and 4.0.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.11: Hotspot FX, Hotspot Itch, InfoReach TMS, and Interactive Data PlusFeed, HTTP Reader, IRC Reader, POP3 Reader, SMTP Reader, Lime Citrius, Regular Expressions Reader, Regular Expressions Socket Reader, Sybase RAP4, Reuters RMDS Publishing, Reuters RMDS Subscribing, and the StreamBase to StreamBase input and output adapters.

Documentation Updates

The StreamBase documentation for release 6.6.11 included the following updates independent of the above updates:

What Was New in StreamBase 6.6.10

New and Updated Features

StreamBase 6.6.10 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.11 and 6.4.14.

StreamBase 6.6.10 was a maintenance release that fixed several product limitations, as described in the Limitations Resolved in 6.6.x section of the Release Notes.

What Was New in StreamBase 6.6.9

Fixes

StreamBase 6.6.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.9 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.11 and 6.4.14.

New and Updated Features

StreamBase 6.6.9 added the following updates and new features:

Behavior Change in Studio Add Import Dialog

In previous releases of StreamBase Studio, when using the Add Import feature of the Definitions tab for an EventFlow module, you could choose to import all items and, at the same time, import a selection of items. This is no longer supported. You can now import either all items or a set of selected items.

New System Property to Log Properties of Adapters and Custom Operators

This release supports a new Java system property, streambase.operator.parameters.log-level. Specify an integer corresponding to the StreamBase log level in which you want operator property log entries included. Specify 1=ERROR, 2=WARN, or 3=INFO. When set to 1, 2, or 3, StreamBase log messages include one entry for every property setting for all operators and adapters that inherit from the Operator class in the StreamBase Client Library, including any custom Java operators and adapters. See StreamBase Java Properties for an example log entry and further details.

New Features for the 29West LBM Output Adapter

The 29West LBM Publishing Output Adapter was updated to support a new property setting, Idle LBM Source Timeout, to specify the time, in seconds, to wait before an LBM source for an idle topic is discarded, or zero to disable expiring idle sources. See 29West LBM Publishing Output Adapter for details.

This adapter was also updated to support null elements in array fields in LBM messages. This support works in communications between a pair of StreamBase Subscribing and Publish LBM adapters.

Finally, the version of the LBM Java API JAR file included with StreamBase was updated to version 4.1.1.

Log Adapter Updated

In addition to the new fields added in release 6.6.8, the Log adapter was updated to support another new property, Custom MessageFormat. The adapter's description in the Adapters Guide was extended and clarified. See Log Output Adapter for details.

FIX Adapter Now Supports Log4J Logging Alternative

By default, the FIX adapter (and all adapters than inherit from it) participates in the standard StreamBase logging system that uses Logback logging, as described in Using StreamBase Logging. In previous releases, if you configured StreamBase to use Log4J as an alternative logging system, the FIX adapter did not participate. Starting with release 6.6.9, when using the FIX adapter with the QuickFIX/J FIX engine, you can configure the FIX adapter to participate in Log4J logging in cases where the whole StreamBase application is so configured. To do this, add the directive logtype=slf4j to the [Default] section of the FIX adapter's configuration file.

New Method in the StreamBaseMonitor API

The StreamBaseMonitor class in the StreamBase Java Client Library was extended to support the new isClosed() method. Use this method to determine the status of a client connection to StreamBase Server after the initial connection is made.

Documentation Updates

The StreamBase documentation for release 6.6.9 included the following updates independent of the above updates:

What Was New in StreamBase 6.6.8

Fixes

StreamBase 6.6.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.8 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.10 and 6.4.14.

New and Updated Features

StreamBase 6.6.8 added the following updates and new features:

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_22. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Reuters Contribution Adapter

The new StreamBase Reuters RMDS Contribution Adapter allows a StreamBase application to contribute market data via off-stream OMM POST messages to a Reuters Posting Provider. Contributed data is then typically published to Reuters subscribers. See Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter. The adapter has a sample, described on Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample.

FIX Adapter Updated

The FIX adapter, and all adapters that inherit from the baseline FIX adapter, were updated to support two new commands for the Command port when using the QuickFIX/J FIX engine: ConnectionStatus and ConnectionStatusAll. As a response, one or more tuples (depending on the command and the number of configured FIX sessions) is issued on the Admin Message port with __ExtraInfo set to either Connected or Disconnected. SenderCompID and TargetCompID are also correctly set to identify the session in question. See FIX Adapter.

360T SuperSonic Adapter Updated

The 360T SuperSonic TEX adapter's FIX data dictionary was updated to the latest specification.

EBS Adapter Updated

The EBS Ai adapter's FIX data dictionary was updated to conform to the latest specification.

Alpha Adapters Updated

The Alpha Trading Systems EMAPI Market Data Feed adapter was updated to use version 4.4 of the Alpha Trading Systems API.

Lime Citrius Adapter Updated

The Lime Citrius Quote Input adapter was updated to support the following property settings: Enable Aggregate by Price, Enable Snapshot Book, Enable Trade Replay. See Lime Citrius Quote Input Adapter.

Log Adapter Updated

The Log adapter was updated to support two new properties, Logger Name and Message Prefix, that replace the Message Identifier property. See Log Output Adapter for details.

E-mail Sender Adapter Updated

The E-mail Sender adapter was updated to support SSL connections to an SMTP server and to support specifying the content type of messages (text/plain, text/html, and so on). See E-mail Sender Output Adapter.

Operator Parameters Can Be Defined Narrowly

When using the <operator-parameter> element of the server configuration file, you can now narrow the setting to apply only to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. Previously, operator parameter settings applied globally. See <operator-parameter> in the server configuration XML reference.

Site-Specific Component Exchange Sites Nows Support HTTPS

Customer sites can configure and support site-specific StreamBase component exchanges, as described in StreamBase Studio Panel and Site-Specific Component Exchange. Starting with release 6.6.8, in-house component exchanges can use the HTTPS protocol, in which case, StreamBase Studio prompts for credentials on the specified server before allowing access to components.

Monitoring 7.x Servers Not Allowed From 6.x Utilities

Because of changes in StreamBase release 7, StreamBase monitoring utilities such as sbmonitor or StreamBase Manager from release 6.6 cannot connect to or monitor StreamBase Servers from a 7.x release. If you attempt to monitor a 7.x server, you instead receive messages like unable to connect or Monitoring is disabled on this server. Try again using a 7.x monitor utility.

What Was New in StreamBase 6.6.7

Fixes

StreamBase 6.6.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.7 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.10 and 6.4.14.

New and Updated Features

StreamBase 6.6.7 added the following updates and new features:

Support for SQL Server 2008 Added

StreamBase now supports accessing Microsoft SQL Server 2008 from StreamBase applications, using the JDBC interface.

New FXall Relationship Trading Provider Adapter

This release adds the FXall Relationship Trading Provider adapter, allows a StreamBase application to receive quote requests, publish prices, and accept deals in the FXall Request for Quote (RFQ) trading environment. The StreamBase application acts as the Maker in this environment. The adapter is described in FXall Relationship Trading Provider Adapter, and has a sample described in FXall Relationship Trading Provider Adapter Sample.

New Morningstar Quotes Feed Input Adapter

This release adds the Morningstar Quotes Feed input adapter, which allows a StreamBase application to receive market data from Morningstar servers, as described in Morningstar Quotes Feed Input Adapter. The adapter has a sample described in Morningstar Quotes Feed Adapter Sample.

EBS Adapter Updated

The EBS adapter was updated to support the new AllowFixedDateNDFs field that was added to the Logon Request - User Request message by by the EBS Ai FIX 1.1 specification.

The adapter was also updated to recognize new UserData properties added to the EBS Ai specification without requiring a recompiled adapter. New properties only need to be added to the adapter configuration file in a format like this example: UserData.AllowFixedDateNDFs=true For compatibility with previous releases, existing UserData properties do not need to specify the UserData. prefix. For example: AutoCancelDuplSession=true

StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase input and output adapters were updated with a new check box property, Connect on adapter init. With the default setting of enabled, the adapters attempt to connect to the other server during adapter initialization, which can block the startup of the containing StreamBase Server. When disabled, the adapters start at the time they are needed. You can specify this property in the form ConnectOnInit as a parameter in the URI of a container connection string, as described in Remote Container Connection Parameters. The Query Table Replication HA sample was updated to take advantage of and illustrate this new property.

Deutsche Bank AutobahnFX Trading System Adapter Updated

The Deutsche Bank AutobahnFX adapter was updated to support connect and disconnect commands sent to the adapter in the Command field of the Subscriptions input port.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.7: Activfeed, Binary File Reader, Binary File Writer, CSV File Writer, CSV Socket Writer, Digitec D3, Deutsche Bank AutobahnFX, and E-mail Sender.

Server Configuration File's <operator-parameter> Element Extended

The <operator-parameter> element of the server configuration file was extended to accept a qualified name in StreamBase path notation as well as a simple parameter name. When the name attribute specifies a simple parameter name such as ParamOne, as in previous releases, all operators in the application that have a parameter named ParamOne are set with the specified value. You can now narrow the setting to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. If the operator is in a submodule, you must include the module's name in the path: ContainerName.ModuleName.OperatorName.ParamName. This sets the value of ParamName only for the specified operator. All other operators with a parameter named ParamName remain unset.

New Expression Language Function

The expression language was augmented with the new random_tuple() function that allows you to generate tuples filled with random field values given a schema.

Documentation Updates

The StreamBase documentation for release 6.6.7 included the following updates independent of the above updates:

What Was New in StreamBase 6.6.6

Fixes

StreamBase 6.6.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.6 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.10 and 6.4.14.

New and Updated Features

StreamBase announced support for the following feature after the initial release of 6.6.6:

Support for SQL Server 2008 Added

StreamBase added support for accessing Microsoft SQL Server 2008 from StreamBase applications, using the JDBC interface.

StreamBase 6.6.6 added the following updates and new features:

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Raptor Trading Systems Adapter

The Raptor adapter allows a StreamBase application to connect to a Raptor Trading Systems venue and to exchange FIX messages with it. See Raptor Adapter.

New CitiFX Adapter

The CitiFX FIX adapter allows a StreamBase application to connect to and exchange FIX messages with the following Citi products:

  • Executable Streaming Prices for Spot FX

  • RFS for FX Spot, FWD and Swap (also known as RFX)

See CitiFX FIX Adapter.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The IBM WebSphere MQ adapters and the Wall Street Systems adapters were updated with a new property, SSL Cipher Suite. If this property remains empty, the adapter falls back to using a non-SSL connection. Use the property to specify the name of an SSL security package such as SSL_RSA_WITH_RC4_128_SHA. For this to work, the StreamBase Server hosting the adapter must be started with a set of JVM arguments that specify a truststore file and related values. For details, see IBM WebSphere MQ Input Adapter, Wall Street Systems Input Adapter, or their output adapter counterparts.

TIBCO Rendezvous Input Adapter Updated

The TIBCO Rendezvous Subscribing Input Adapter now has a Raw Message Field Name property. Use this to specify the name of a field of type string or blob in the output schema to receive the raw Tibrv message. See TIBCO Rendezvous Subscribing Input Adapter.

Wombat Adapter Updated

The Wombat MAMA Input adapter was updated to allow matches on symbols with spaces appended to the symbol name.

Lime Citrius Adapter Updated

The Lime Citrius Quote Input Adapter now uses version 2.0.4 of the Lime Citrius API. This corrects a bug causing incorrect processing of Modify Execution messages.

Log Adapter Updated

The Log adapter now supports independent error log level settings.

New Load StreamBase Sample Dialog Organization

The categories for adapter samples in the Load StreamBase Sample dialog in Studio were reorganized into functional groups.

Documentation Updates

The StreamBase documentation for release 6.6.6 included the following updates independent of the above updates:

  • The pages describing the StreamBase JUnit test feature were corrected and revised for clarity. See StreamBase JUnit Tests.

  • The two-layer contents structure of the Samples Guide was reorganized to provide a single contents page that matches the new category organization of the Load StreamBase Sample dialog. Documentation for any particular sample is now much easier to find.

  • The New and Noteworthy and Release Note Resolved Limitations pages for previous StreamBase releases were reorganized for clarity into single pages. See New and Noteworthy Archives and StreamBase Release Note Archives.

What Was New in StreamBase 6.6.5

Fixes

StreamBase 6.6.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.9 and 6.4.14. This includes the following recently-added features:

See the 6.5.9 New and Noteworthy for details.

New and Updated Features

StreamBase 6.6.5 added the following updates and new features:

New 360T SuperSonic TEX Adapter

The new 360T SuperSonic TEX adapter allows a StreamBase application to connect to the 360T SuperSonic TEX trading infrastructure and to exchange FIX messages with it. See 360T SuperSonic TEX Adapter.

New Integral FX Inside FIX Adapter

The new Integral FX Inside FIX adapter allows a StreamBase application to connect to the Integral FX Inside trading infrastructure and to exchange FIX messages with it. See Integral FX Inside FIX Adapter.

New 29West LBM Adapters

The new 29West LBM Subscribing Input adapter allows a StreamBase application to receive messages published to one or more 29West LBM topics. The 29West LBM Publishing Output adapter allows a StreamBase application to publish LBM messages to one or more LBM topics. See 29West LBM Subscribing Input Adapter and 29West LBM Publishing Output Adapter.

Vertica Database Support Extended

Support for the Vertica database, either with native connectivity or through JDBC, was extended to support Vertica versions 3.5 and 4.0.

Reuters RMDS Publishing Adapter Updated

The Reuters RMDS Publishing Output adapter was updated to allow publishing OMM REAL32 and REAL64 price fields using a StreamBase tuple field whose schema has exactly two sub-fields. The first sub-field is of type int to publish a REAL32 or type long to publish a REAL64; the second sub-field of type int contains the number of digits to the right of the decimal point. For example, to publish a price of 1.23, use a tuple field whose sub-fields are 123 and 2. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter.

ActivFeed Input Adapter Updated

The ActivFeed Input adapter was updated to use version 1.10.0.0 of the Activ SDK.

Log Adapter Updated

The Log Output adapter was updated to add a new check box, Display Tuple Field Names, on the Adapter Properties tab of the Properties view. See Log Output Adapter.

Documentation Updates

The StreamBase documentation for release 6.6.5 included the following updates inherited from release 6.5.9:

  • The primary page that discusses the StreamBase logging mechanism was corrected, updated, and moved to the Administration Guide: Using StreamBase Logging. All logging-related pages were corrected and updated, including Server Background Mode and Logging.

  • The Expression Language Functions page was slightly reorganized to make certain functions easier to find:

    • The split() and regexsplit() functions were recategorized into the Strings category on both the Expressions page and in Studio's function assistance panel.

    • The zip() and unzip() functions were recategorized into the Lists category in both places.

    • Functions that can operate on either strings or lists are now found in both the Lists and Strings categories on the Expressions page.

    • All section tables of contents were reordered for consistency in down-first-then-over order.

  • The description of the epoch() function now includes usage examples.

  • The description of set_second() was updated and corrected.

What Was New in StreamBase 6.6.4

Fixes

StreamBase 6.6.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.8 and 6.4.14.

New and Updated Features

StreamBase 6.6.4 added the following updates and new features:

Drools Operator Updated

The Drools operator was updated to accept dynamic update of rules without restarting the application. This feature is described in Using the Drools Operator and is illustrated in the Drools sample, Drools Operator Sample.

Venue-Specific FIX Adapters Now Have Default Data Dictionaries

StreamBase adapters that inherit from the FIX adapter now have their venue-specific data dictionaries specified internally as the default for each adapter. You can still override these settings by specifying a custom data dictionary in the FIX engine's configuration file, as described on the primary FIX adapter's page. This change applies to the following adapters: Bovespa, Currenex, EBS/ICAP, FXall, GS, LavaFX, Lime FIX, Trading Technologies, and UBS. (The Nomura FX adapter uses the standard FIX data dictionary, and thus does not need to specify a venue-specific default dictionary.)

UBS FIX Adapter Changes

The UBS Fx2B FIX adapter was renamed the UBS FIX adapter. The adapter continues to allow connections to a UBS FX trading venue using the UBS Fx2B API, which was updated to version 1.11. In addition, the adapter can now connect to a UBS equities trading venue using the DMA, DSA, and/or ATS FIX APIs. You select between FX and Equities connection types using the new Market control in the Adapter Properties tab of the adapter's Properties view. See UBS FIX Adapter.

New Bovespa Adapter

The Bovespa adapter allows a StreamBase application to connect to Brazil's BM&FBovespa stock exchange (commonly known as the Bovespa exchange), and to exchange FIX messages with it.

New Nomura FX FIX Adapter

The Nomura FX FIX adapter allows a StreamBase application to connect to the Nomura B-2-B FX trading infrastructure and to exchange FIX messages with it. See Nomura FX FIX Adapter.

New Lime FIX Adapter

The Lime FIX adapter allows a StreamBase application to connect to a Lime FIX venue, and to exchange FIX messages with it. See Lime FIX Adapter. This new adapter is independent of the existing Lime Citrius Quote Input Adapter.

FIX Adapter Updated

The StreamBase FIX adapter was updated with a new property, Logon When Application Starts, in the Adapter Properties tab of its Properties view. In most cases, leave the check box in its default selected state. When cleared, the adapter connects to its configured FIX venues when it receives a Connect command on its command input port. See FIX Adapter.

IBM WebSphere MQ Adapter Updated

The IBM WebSphere MQ adapter was updated to add a new property, Unicode Encoding. Use this property to specify which of three encoding formats are used to encode and decode Unicode payloads. See IBM WebSphere MQ Input Adapter and IBM WebSphere MQ Output Adapter.

MarketFactory™ Trading Adapter Updated

The schema of the Trading Events output port of the MarketFactory Trading input adapter now has one more field, text. This holds the textual description of a trading event, if available. See MarketFactory™ Trading Adapter.

Documentation Now Searchable Online

StreamBase documentation is now available online with an integrated search feature. The new online documentation is at http://docs.streambase.com. See Using the Help System for assistance using search and other features of the StreamBase Help and Documentation system.

Documentation Updates

The StreamBase documentation for release 6.6.4 included the following updates, independent of the changes above:

What Was New in StreamBase 6.6.3

Fixes

StreamBase 6.6.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.3 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.8 and 6.4.14.

New and Updated Features

StreamBase 6.6.3 added the following updates and new features:

Filtered Subscribe Option for Remote Container Connection URLs

In a previous release, the StreamBase to StreamBase Input adapter was updated to support a filtered subscribe expression for limiting the tuples emitted from the adapter to those matching the expression. As of releases 6.5.8 and 6.6.3, the same feature is allowed in URLs used when specifying a remote container connection, as described in Remote Container Connection Parameters.

New Trading Technologies Adapter

The Trading Technologies adapter allows a StreamBase application to connect to a Trading Technologies venue, and to exchange FIX messages with it. See Trading Technologies Adapter.

New Fields for FIX Input Adapter

The Admin port of the FIX Input adapter was updated to include three fields: MsgSeqNum, SendingTime, and LastMsgSeqNumProcessed.

Better Error Messages from Embedded Adapters

Error messages reported by the Properties view for embedded adapters are now more detailed and provide better reporting of the location of the error. These messages now report, when possible, the exact configuration element with the problem, and provide a hyperlink to take you to that location.

Documentation Updates

The StreamBase documentation for release 6.6.3 included the following updates, independent of the changes above:

What Was New in StreamBase 6.6.2

Fixes

StreamBase 6.6.2 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.2 inherited the updates and new features added to maintenance releases of the 6.5 release series, through and including release 6.5.7.

New and Updated Features

StreamBase 6.6.2 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_20. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Custom File Reader for Feed Simulations

This release introduces support for custom file readers to read non-standard, proprietary, or binary files as the source of a stream of input tuples for feed simulations. Your Java file reading code must extend one of the classes in the com.streambase.sb.feedsim package added to the StreamBase Client Library with this release. StreamBase now provides a way to use your custom class instead of its internal CSV-reading code in conjunction with the Feed Simulation Editor's Data File option. This feature is described in Feed Simulation with Custom File Reader and has a sample, described in Feed Simulation Custom Reader Sample.

New Support for Custom URL for Component Exchange

In StreamBase Studio preferences, you can now specify a site-specific URL from which the StreamBase Component Exchange dialog is to retrieve its list of available components. Use this feature to set up an in-house component exchange site for sharing StreamBase components among a group of developers. Contact StreamBase Technical Support for guidance in setting up an in-house component exchange site.

New Module Chooser Dialog When Adding Modules to an Extension Point Operator

In the Modules tab of the Properties view for an Extension Point operator, clicking the Add or Edit buttons results in the Add or Edit Module Instance dialog. Both dialogs have gained a Choose button that opens a module selection dialog restricted to modules on the current project's module search path.

Behavior Change in Open StreamBase Command Prompt Here

Release 6.5.0 introduced a menu option in the Studio Package Explorer view in Windows: select a project folder, right-click, and from the context menu select StreamBaseOpen StreamBase Command Prompt Here, which opens a StreamBase Command Prompt with the selected project as its current directory. Starting with releases 6.5.7 and 6.6.2, in 64-bit StreamBase installations, this feature automatically opens a 64-bit StreamBase Command Prompt — that is, a command prompt with %STREAMBASE_HOME%\bin64 first in the PATH, ahead of %STREAMBASE_HOME%\bin.

What Was New in StreamBase 6.6.1

Fixes

StreamBase 6.6.1 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.6.1 inherited the updates and new features added to maintenance releases of the 6.5 release series, through and including release 6.5.6.

New and Updated Features

StreamBase 6.6.1 added the following updates and new features:

StreamSQL Wizard Can Now Implement Interfaces

The New StreamBase StreamSQL Application dialog now includes an Implement Interfaces option, like its New EventFlow Application counterpart.

Extract As Module Can Now Include Query Tables

The Extract as Module feature now works if the selection includes a Query Table. See Extracting a Module

New Tervela Message Network Adapters

The StreamBase Tervela Subscribing Input Adapter allows a StreamBase application to receive messages published to one or more Tervela topics. The adapter has two output ports: one that emits status tuples, and a second that emits tuples representing received Tervela messages. See Tervela Subscribing Input Adapter.

The StreamBase Tervela Publishing Output Adapter allows a StreamBase application to publish Tervela messages to one or more Tervela subjects. See Tervela Publishing Output Adapter.

Comstock Adapter Renamed to Interactive Data PlusFeed Adapter

The Comstock adapter was renamed to accurately reflect the current owners of the former Comstock data feed, Interactive Data, and to reflect the current name for the service, PlusFeed. See Interactive Data PlusFeed Input Adapter.

Server Mode for CSV Socket Writer Output Adapter

The CSV Socket Writer output adapter now has an option to operate in server mode, listening for and accepting connections from remote clients. See CSV Socket Writer Output Adapter.

Alpha Adapter Upgrade

The StreamBase Alpha Trading Systems EMAPI Order Entry adapters were updated to support Alpha Release 4.3.1, which includes two new features. The Order Cancel on Disconnect feature is represented by the cancelOnLogout field added to the schema of several of the adapter's input and output ports, while the Passive Only order feature is represented by the passiveOnly field. See Alpha Trading Systems EMAPI Order Entry Adapter for details.

MarketFactory Adapter Update

The MarketFactory™ Trading Adapter was updated to use version 1.80 of the MarketFactory Whisperer Client API.

All Command Line Utilities Now Accept -J

All StreamBase command line utilities were updated to accept one or more –J options to specify arguments and system property settings to pass to the JVM that runs the command. Arguments to –J are passed literally to the JVM. For example: sbd -J-Xmx1g appname.sbapp starts StreamBase Server with the -Xmx1g JVM option. You can use –J as a quick alternative to specifying the STREAMBASE_JVM_ARGS environment variable.

New Option for sbc dequeue

The sbc dequeue command now supports the --all-containers option, which dequeues from all streams in all containers running on the specified Server. Both the --all and --all-containers options now support =input and =output modifiers. For example, --all=input restricts the output to all input streams in the specified container, while --all-containers=output restricts the output to all output streams in all containers. Without an = modifier, both commands dequeue from both input and output streams.

Improvements in sbc and jsbc Error Reporting

The sbc enqueue (and jsbc enqueue) commands now report the line number of an error, and, when possible, report the offending field name. The jsbc command's behavior and error messages were updated to more closely resemble the sbc command.

Version Option for sbargen Command

sbargen --version returns the StreamBase release number.

Expression Language Updates

The following expression language functions were updated:

  • The black_scholes() function was updated to accept an interval timestamp for the exerciseDate field as well as an absolute timestamp. An interval timestamp is taken as the number of days to exercise.

  • The sort() function now accepts an optional argument to specify an ascending (true) or descending (false) sort of the argument list.

What Was New in StreamBase 6.6.0

Fixes

StreamBase 6.6.0 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Inherited from Previous Releases

StreamBase 6.6.0 inherited the new adapters and new features added to previous maintenance releases, through releases 6.4.12 and 6.5.5.

New and Updated Features

StreamBase 6.6.0 added the following updates and new features:

 StreamBase Interfaces 
StreamBase Interfaces

This release introduces the StreamBase interface, which is a defined set of input streams, output streams, Query Tables, constants, and schemas that application modules can implement and extend. Implementing an interface enforces the stream and table definitions in the interface. This lets you design an interface with a known set of components that several modules can implement in different ways. Interfaces can implement other interfaces, which lets you nest a set of definitions in layers and use them in the combinations most appropriate for your applications.

Interfaces are stored in a new StreamBase file type with .sbint extension. Interfaces are edited in the new Interface Editor. See Using Interfaces for an overview.

New Extension Point Operator

StreamBase interfaces can serve in two ways: as templates to enforce streams, tables, and schemas when creating or adding to an application, and in conjunction with the new Extension Point operator. This operator is much like a Module Reference, but for interfaces. When you drag an .sbint file from the Package Explorer to the canvas, it creates an Extension Point. Tuples flowing into an Extension Point can be directed for processing by one or more modules that implement the referenced interface. For example, an Extension Point that references a Multiplier interface can direct tuples to either a Doubler or Tripler module, both of which implement the Multiplier interface.

New StreamBase Extension Points View

This new view shows a tree view of all Extension Point operators in use in any EventFlow or StreamSQL module in the current workspace, along with each module that implements the interface referenced in each Extension Point. The view is placed in the same pane as the Properties view at the bottom of the SB Authoring perspective. See StreamBase Extension Points View.

 New Concurrency Options 
Concurrency Options Revised

The Concurrency tab provided in the Properties view of most operators and adapters now offers a revised set of options. The option set formerly grouped as Data Parallelism was replaced with a group of related Multiplicity options. The separate thread option serves the same purpose as before, but can now be set independently of the Multiplicity options. The settings for these options are described on Concurrency Options, while the background information that describes why you might use concurrency settings is in Execution Order and Concurrency.

New Module Dispatch Styles

One aspect of the new Multiplicity concurrency options is a new set of module dispatch styles. In previous releases, when a module or component was marked to run with multiple instances using the data parallelism options in the Concurrency tab of the Properties view, tuples could be routed to different instances based on an expression that resolved to an integer. This is now known as the Numeric style of dispatching tuples. If you did not specify an expression, tuples were routed in round-robin fashion to all instances.

This release introduces alternate dispatch styles for sending tuples to multiple instances of an operator or to multiple modules. The Broadcast style, the default setting for both EventFlow and StreamSQL applications, routes incoming tuples equally to all operator or module instances. For multiple module instances in a Module Reference, or for multiple operator instances, you can optionally specify the Numeric or Round Robin dispatch styles. For multiple modules referenced in an Extension Point operator, you can specify that tuples are dispatched in the Broadcast or Name styles. See Dispatch Styles.

Per-Stream Dispatch

The new concurrency settings include support for setting the dispatch style independently for different input streams. This applies to Module References where the referenced module has more than one input stream, to Extension Points, and to operators with more than one input stream, including Join, Gather, Merge, and Pattern.

Union and Split Operator Concurrency Change

Starting with this release, the Union and Split operators support only separate thread concurrency, and not multiplicity concurrency. The Union and Split operators join the Metronome and Iterate operators in this category of operators that support only separate thread concurrency.

 StreamBase Junit Tests 
New StreamBase JUnit Tests

This release adds the new StreamBase JUnit test mechanism. A StreamBase JUnit test is a Java program that starts StreamBase Server, loads the application module to be tested, sends tuples to the module's input streams, and compares the output emitted from the module's output streams to an expected set of tuples. StreamBase Studio includes a new wizard that generates JUnit test code for your modules, ready for you to edit and complete. StreamBase JUnit test are described in StreamBase JUnit Tests.

StreamBase Tests remain in the product as a separate macro-like recording and playback mechanism that does not require writing Java code. StreamBase

New sbunit Utility

This release includes a new command line utility, sbunit, used to run StreamBase JUnit test classes from the command line.

 Studio New Layout, New Views 
New Default SB Authoring Perspective Layout

The SB Authoring perspective has a new default layout that provides more room to work on large applications, especially on small laptop screens. Editors, including the EventFlow Editor, are now placed in the top right corner of the perspective, with the Properties and Reuters Schema Designer views now below in the bottom right pane. The Outline view was moved to the top left, sharing a pane with the Package Explorer. The Saved Schemas view is no longer displayed by default; when opened, it shares the bottom right pane. The new Extension Points and Module Hierarchy views share the bottom right pane with the Properties and Console views. See SB Authoring Perspective.

Palette View Reorganized

The Palette view was greatly simplified and made easier to use:

  • The seven Palette view drawers of previous releases were collapsed into three drawers: Operators and Adapters, Data Constructs, and Streams.

  • The new Module Explorer view replaces the Modules drawer of previous releases.

  • The Adapters and Global Java Operators drawer was replaced with three icons that appear in the Operators and Adapters drawer. You drag one of these icons to open a dialog from which you select your adapter or operator, as described next.

  • The Project Adapters and Project Operators drawers are now integrated with the dialogs described next.

See Palette View for further information.

New Adapter and Java Operator Dialogs from the Palette

Adapters and Global Java operators are now selected by dragging one of the following icons from the Operators and Adapters drawer: Input Adapter, Output Adapter, or Java Operator. Dragging one of these icons opens a dialog that lists the available adapters and operators in each category, including any project-specific custom adapters or operators. You can narrow the list with a search string. When you make a selection and double-click or press Enter, the selected adapter or operator is dropped onto the current canvas location. You can invoke the same dialogs with the keyboard shortcuts A I, A O, and O V, respectively. See Using the Drag-From-Palette Dialogs for further details.

New Module Explorer View

This new view replaces the Module drawer of the Palette view of previous releases. Placed in the same pane as the Palette view, it provides a tree view of all EventFlow and interface files in the module search path for the currently active EventFlow or StreamSQL application. The currently active Editor session is not included in the view. See Module Explorer View.

Can Designate Project Folders as Hidden

In the Project Properties dialog, in the StreamBaseModule Search Path panel, you can now designate referenced module folders as hidden. Use this feature to prune folders from the Module Explorer view to de-clutter the view.

New Module Call Hierarchy View

This new view shows the module call order for the currently active EventFlow module, in tree view by default, with a graphical view option. This view is not automatically maintained and does not refresh when you switch to a different application's Editor view. Use the keyboard shortcut, Ctrl+Alt+H, to generate a new Module Call Hierarchy view on demand for the currently active EventFlow module. See Module Call Hierarchy View.

New StreamBase Extension Points View

See  StreamBase Interfaces  above for a description of the new StreamBase Extension Points view.

 Studio Usability Updates 
Typechecking Speedup

This release implements a new typechecking algorithm that results in a considerable speedup when making small changes in large EventFlow applications.

New StreamBase Admin Global Java Operator

The new StreamBase Admin operator is used to send sbadmin commands to a running StreamBase Server, without having to invoke sbadmin from a shell by means of the External Process operator. Use the StreamBase Admin operator for container control or control between primary and secondary servers in a high availability pattern. Invoke the new operator by dragging the Java Operators icon from the Operators and Adapters drawer in the Palette view. See Using the TIBCO StreamBase Admin Operator.

Studio Launch Configuration Can Specify Container Start Order

When editing a Studio launch configuration, you can now specify the start order for multiple containers by using the Move Up and Move Down buttons on the Containers tab. It may be necessary to adjust container start order when specifying container connections, so that the container with the outgoing stream is started before another container with the incoming stream.

As a consequence of this change, the container named default is now always listed in the Containers tab of the launch configuration editor. In previous releases, you specified module parameters for the top-level application on the Main tab. Now you select the default line in the Containers tab, and specify module parameters for the top-level application there.

Double-click .sblayout in Package Explorer

You can now double-click .sblayout files in the Package Explorer. Studio automatically opens an Editor session for the associated .sbapp EventFlow module.

Eclipse Fix Project Build Path Now Includes StreamBase Libraries

When working with Java code, the Eclipse Quick Fix feature now suggests a fix to include StreamBase Client and Test Libraries in the Project Build Path.

Query Operator, Output Row Limit Now an Expression

In the Query operator associated with Query Tables or Materialized Windows, for read and delete operations, you can specify an integer as the maximum number of rows that can be returned by your query. Starting with this release, you can specify the row limit as a StreamBase expression that evaluates to a positive integer. This allows you to specify the row limit with an expression calculated based on conditions upstream, or to use a module parameter such as ${RowLimit} that you can specify at runtime.

Studio Now Performs Server Version Check

When Studio launches StreamBase Server, it now compares the Studio and server version numbers and reports any mismatch. This is only likely to occur when Studio is configured to launch on a remote server.

Show Asynchronous Ports Feature Removed

The obscure "show asynchronous ports" option in Studio Preferences was removed. It is not feasible to determine the synchronous state of an Extension Point operator's ports, which rendered the feature unmaintainable.

 Application Bundling Changes 
Creating Application Bundle in Studio Can Now Preserve Containers

When creating an application bundle in Studio, you can now base the bundle on a Studio launch configuration instead of specifying the top-level application file. The bundler parses the launch configuration to determine the top-level application name and extracts any containers, container start order, container connections, and container parameters specified on the configuration's Containers tab. All other configuration information is ignored for purposes of the bundle. See Exporting a Bundle in StreamBase Studio for details.

New Ignore Option for Application Bundler in Studio

For several releases, the sbbundle command has offered a –i option, which allows you to specify a comma-separated list of files or directories in an application's project folder that you want to exclude from the bundle. Starting with this release, the application bundling dialog in Studio provides the same option. For example, you can use the Ignore directories and files field to exclude the state files for your version control system; for Subversion, enter .svn. See Application Bundling.

 Samples Reviewed and Updated 
New Way to Launch Sample Client Programs in Samples

Starting with 6.6.0, StreamBase samples that include Java source code for client enqueuer and dequeuer programs have a new way to launch the client programs in StreamBase Studio. New Studio launchers for the client programs are automatically placed in Studio's Run History list. You now run the sample's EventFlow application, then run one or more client launchers to run the client program alongside the EventFlow application in Studio. The new Studio launchers are part of the following samples: Client, Buffering, FeedProc, and Output Filtering.

Java Source Code in Samples

Java source code delivered as part of a StreamBase sample is now placed in the sample's java-src folder. When you load the sample in Studio, Java code is automatically built. For this reason, JAR files containing the compiled Java code are no longer necessary and are no longer included with the samples. You can, of course, generate your own JAR files from the provided source files.

When a Makefile or Visual Studio project file is delivered as part of a sample, it no longer includes targets to build the Java source code at the command prompt. These files are now provided only as a guide to building C++ sample code.

Samples Reviewed

Most StreamBase samples were reviewed and updated for 6.6.0 to promote current recommended practices. Obsolete samples were removed from the distribution and are no longer shipped.

 Platform Changes 
New Support for Solaris 10 on Intel

This release adds support for installing and hosting StreamBase Server on Solaris 10 on 64-bit Intel hardware. See Installing StreamBase on Solaris. As with the SPARC version of Solaris 10, StreamBase Studio is not supported. On this platform, StreamBase supports using the GCC tools from /usr/sfw/bin to write native clients and plug-ins.

Studio Now Based on Eclipse 3.5.2

StreamBase Studio is now based on Eclipse 3.5.2, which resolves an issue of non-responding Studio buttons on certain Linux systems. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5.2.

JDK Version Updated

The Sun JDK installed for private use by StreamBase was updated to release 1.6.0_18. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

 Command Line Changes 
New Wait Option for sbc and jsbc Commands

The sbc and jsbc command now have a –w option, which takes a wait time argument in milliseconds, plus an optional retry time separated by a colon. The option specifies the amount of time to wait while continually retrying to connect to the specified StreamBase Server. The following example waits 20 seconds before giving up on connecting to the server, retrying every half second: sbc -w 20000:500 dequeue Use this command to start sbc enqueue and dequeue commands before starting StreamBase Server. The sbc command waits for the specified time until the server is ready.

 Documentation Changes 
Documentation Updates Independent of New Features

StreamBase release 6.6.0 included the following documentation updates, corrections, and new pages that were incorporated independent of the new features discussed above:

  • A new page in the Installation Guide lists in one place all the default installation and configuration directory locations for different StreamBase releases on different operating systems. See Default Installation Directories.

  • The Studio Reference Guide was revised as a whole to describe views and perspective layouts, in addition to the views added by this release.

  • The Test/Debug Guide was revised to update the descriptions of running and debugging applications. The section on the older StreamBase Test feature was revised to clarify and distinguish it from the new StreamBase JUnit test feature that was added in this release.