New and Noteworthy Archives

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

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 acknowledgement 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 Flexible Modules

Starting with this release, you can select a Module Reference to a flexible 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 flexible 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 flexible 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. See API Changes in 7.0 for details.

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.

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 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 Tests are described in StreamBase Tests (sbtest).

New sbunit Utility

This release includes a new command line utility, sbunit, used to run StreamBase JUnit test classes from the command line. (The sbtest command remains in the product as the way to run StreamBase Tests and Test Suites.)

 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.

StreamBase 6.5.x Release History

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

What Was New in StreamBase 6.5.13

Fixes

StreamBase 6.5.13 fixed product limitations, as described in the Limitations Resolved in 6.5.x and Known Limitations sections of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.13 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.13 was primarily a maintenance release that fixed product limitations, and included the following updates:

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 6.5.13, 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 6.5.13 included the following updates: independent of the above updates:

What Was New in StreamBase 6.5.12

Fixes

StreamBase 6.5.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.5.12 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.12 was primarily a maintenance release that fixed product limitations, as described in the Limitations Resolved in 6.5.x section of the Release Notes.

In addition, release 6.5.12 had the following updates:

Twitter Adapter Replaced

The StreamBase Twitter adapter lost its ability to connect to the Twitter service after a change in the way the Twitter service authenticates third-party connections. Accordingly, the Twitter adapter was removed from the base StreamBase kit in anticipation of a new Twitter adapter to be found in the StreamBase Component Exchange.

Error Streams Sample Updated

The Error Streams sample and its Eclipse Cheat Sheet documentation were updated to reflect its current behavior in recent releases.

What Was New in StreamBase 6.5.11

Fixes

StreamBase 6.5.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.5.11 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.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_22. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK.

New Raptor Adapter

The Raptor adapter allows a StreamBase application to connect to a Raptor Trading System venue and to exchange FIX messages with it. The Raptor adapter is already supported on the StreamBase 6.6 and 7.0 release series, and is now supported for the 6.5 series as of 6.5.11.

TBF Adapter Updated

The TBF adapter was updated for multicast support, as described in TBF Input Adapter. The adapter now also reports its internal queue size in response to the Operator.size() method. This allows the queue size to be seen in the Operator Size column of the Operators view of StreamBase Manager, sbmonitor, the Profiling view of the SB Test/Debug perspective, and in the output of the sbprofile command.

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.

Wombat Adapter Updated

The Wombat MAMA Input adapter was updated to allow matches on symbols with spaces appended to the field name.

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.

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

Documentation Updates

The StreamBase documentation for release 6.5.11 included the following update, independent of the changes above:

What Was New in StreamBase 6.5.10

Fixes

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

Updates from Previous Releases

StreamBase 6.5.10 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase announced support for the following after the initial release of 6.5.10:

Support for SQL Server 2008 Added

StreamBase 6.5 now supports interaction with Microsoft SQL Server 2008 through its JDBC interface. See Supported Configurations.

StreamBase 6.5.10 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.

MarketFactory Adapters Updated

The MarketFactory adapters now use version 2.5 of the MarketFactory API. The Market Data and Trading adapters now have a property setting, Use Automatic Failover, in their Properties views. When selected, the Host Name and Port fields are dimmed and the list of available hosts and ports is taken from the configuration file instead. This file can include more than one host, in which case the adapter connects to the next host in the list if the current connection becomes unavailable. The default behavior remains unchanged, that the adapter connects only to the specified host and port.

In the MarketFactory Trading adapter, the Trading Event Entry schema was modified slightly: in the tradingEventName field, the possible value OTTRADECAPTURE was renamed TRADECAPTURE. In the Trading Event schema, the messageTimestamps field was removed.

In the Market Data adapter, the onLocalCurrency field was removed from the Market Data Entry schema.

Updates for the FIX Adapter

The FIX input and output adapters gained four new properties on the Adapter Properties tab of their Properties views. The four new check boxes are labeled Use name Field to Identify Sessions, where name is either SenderSubID, SenderLocationID, TargetSubID, or TargetLocationID. When selected, the adapter considers the named field when looking for a session. All values are unselected by default, which means the adapter does not use those fields to identify sessions.

The FIX adapter was updated so that the fields BeginString, SenderCompID, and TargetCompID are no longer mandatory.

The FIX adapter's handling of the QuickFIX/J configuration file was updated to apply settings such as Username and Password in the [DEFAULT] section to all sessions, unless a setting is overridden in the [SESSION] section.

When using the CameronFIX FIX engine, the FIX adapters now use version 6.4 of CameronFIX.

Documentation of the behavior of the FIX adapter when logging out of and disconnecting from a FIX venue was clarified.

Data Dictionary Updated for the Lime Citrius Adapter

The data dictionary used by the Lime Citrius Quote input adapter was updated to reflect the latest Lime Citrius specification. Newer fields such as ContraBroker and NoContraBroker are now available.

New Feature for the CSV Writer Adapter

The CSV Writer adapter now has an optional control port used to specify a new output filename (which can include the full path). It also now has an optional event port that emits the same type of tuples as the CSV Reader adapter does for file access events.

The optional control port and event port are each activated via check boxes on the File Creation tab of the adapter's Properties view. The control port schema has a single field, which must be of type string. If a new file specified via the control port cannot be opened for any reason, the adapter continues writing to the original output file.

The optional event port emits tuples when the output file is opened or closed, or when any effort to do either fails. The only exception is the initial opening of the output file, whose name is a required adapter property. This takes place at a point during the adapter's startup processing when tuples cannot yet be written to output streams.

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.

New System Property for Many Client Connections

If your application runs StreamBase Server with many dozens of client connections, you can now set the system property streambase.sbd-shrink-after-process for the server. This forces client buffers to shrink after each use instead of remaining a fixed size, which reduces the overall memory footprint of the server, at the expense of higher memory churn and consequent garbage collection.

Update for sbadmin listConnections

The sbadmin listConnections command now reports the size of the enqueue buffer for each connection. The documentation for listConnections was updated to include all fields reported by the command. See sbadmin.

Documentation Updates

The StreamBase documentation for release 6.5.10 included the following update, independent of the changes above:

  • 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 Release Note Archives.

  • The pages that describe the StreamBase JUnit test feature were updated to correct the description of running tests with non-default container names. See StreamBase JUnit Tests.

What Was New in StreamBase 6.5.9

Fixes

StreamBase 6.5.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.5.9 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.9 added the following updates and new features:

Extensions for Profiling and the sbprofile Command

The sbprofile command was extended with several new features and behavior changes to make gathering and analyzing operator statistics more meaningul:

  • By default, the sbprofile command now extracts and formats statistics for queues as well as operators.

  • The command has several new filter options to help narrow and refine the results. This helps you pinpoint the source of any perceived processing delays.

  • The default behavior of the sbprofile command with no arguments has changed. The command now automatically produces formatted statistics every snapshot interval without using the –i option.

  • The formatted statistics for each active operator were extended to include a count of tuples going into and out of the operator, and to include a timestamp for each operator statistic. See Meanings of the Profiling Statistics Collected.

  • The Profiler view of the Test/Debug perspective in StreamBase Studio also shows the new statistics fields for operators (but not for queues).

  • The following documentation pages were rewritten to describe the new profiling mechanism: Profiling, the sbprofile reference page, and Profiler View.

New Default Values for Environment Variables

The syntax for resolving environment variables in the server configuration file was extended to support default values expressed using := (colon-equals). For example, ${AUTH:=false} means use the value of $AUTH, if set with a non-null value, or use false otherwise. The default value cannot be another environment variable, but can be null. The HA and table-repl samples were updated to take advantage of this feature.

New Parameters for <authentication> Element

In the StreamBase Server configuration file, the <authentication> element has two new parameters, adminuser and adminpassword, which allow HA configurations to run in conjunction with StreamBase authentication. The HA and table-repl samples were updated to take advantage of this feature.

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.

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 Support for Solace Systems

The JMS adapters were extended to support connecting to Solace Systems' hardware-based middleware routing products. An example JMS adapter configuration for Solace is provided in JMS Input and Output Adapters.

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. The adapter was updated to re-read its message store before each logon operation, to keep message sequence numbers up to date for cases when the adapter restarts, but receives a Connect command some time later. 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™ Adapters 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.

The MarketFactory Enhanced Market Data input adapter was updated to change its event output port's info field to text, for consistency with the above change, and to add the rejectReason and feedMarketStyleList fields to the event output port's schema. See MarketFactory™ Enhanced Market Data Input Adapter.

Documentation Updates

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

  • StreamBase documentation in Studio Help, Help Viewer, and sbhelp formats is now pre-indexed for searches. See Using the Help System for assistance using search and other features of the StreamBase Help and Documentation system.

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

  • Pages describing the Windows registry keys used when running StreamBase Server as a Windows service were clarified and corrected. See Running StreamBase Server as a Windows Service, StreamBase Registry Keys on Windows, and Configuring Windows Service with Authentication.

What Was New in StreamBase 6.5.8

Fixes

StreamBase 6.5.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.5.8 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.8 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.

New TBF Adapter

The StreamBase TBF Input Adapter allows a StreamBase application to receive Securities Trading and Message Access Protocol (STAMP) market data messages from the Toronto Broadcast Feed (TBF) and TSXV Broadcast Feed (CBF). The new adapter is described in TBF Input Adapter.

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 generation option. This feature is described in Feed Simulation with Custom File Reader and has a sample, described in Feed Simulation Custom Reader Sample.

Skip Initial Lines Option for Feed Simulations

The Data File Options dialog of the Feed Simulation Editor now has a Lines to skip option. Use this control to skip a header line as an alternative to using the First row as header option, or use it to start reading a large data file at an arbitrary preferred starting point. See the Generation Method: Data File section of Using the Feed Simulation Editor.

Filtered Subscribe Option for Remote Container Connection URLs

In release 6.5.4, 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 6.5.8, the same feature can now be specified as a URL parameter when specifying a remote container connection, as described in Remote Container Connection Parameters.

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.

New Fields for FIX Input Adapter

The Admin port of the FIX Input adapter was updated to include three fields: MsgSeqNum, SendingTime, and LastMsgSeqNumProcessed.

Documentation Updates

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

What Was New in StreamBase 6.5.7

Fixes

StreamBase 6.5.7 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.7 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.14.

New and Updated Features

StreamBase 6.5.7 added the following updates and new features:

Behavior Change in Open StreamBase Command Prompt Here

Release 6.5.0 introduced a menu option in the Studio Package Explorer view: select a project folder, right-click, and from the context menu, select StreamBaseOpen StreamBase Command Prompt Here. This opens a StreamBase Command Prompt with the selected project as its current directory. Starting with release 6.5.7, 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.

Changes to the Hotspot Trading System Adapters

The output adapter's submitCancel request was changed to take a request ID instead of an order ID.

The Hotspot FX control adapter has the following changes in 6.5.7:

  • A requestOrderHistory request that takes an order ID was added.

  • A cancelOrder request that takes an order ID was added.

The following change for the Hotspot FX control adapter was made in 6.5.6:

  • The requirement that an extraneous field, requestId, be present in the input port was removed. Existing StreamBase applications that use an instance of the Hotspot FX control adapter will incur a typecheck error when upgraded to 6.5.6 or later. This error can be eliminated by removing the requestId field from the control adapter's input port.

MarketFactory Adapter Update

The MarketFactory™ Trading Adapter was updated to use version 1.80 of the MarketFactory Whisperer Client API.

What Was New in StreamBase 6.5.6

Fixes

StreamBase 6.5.6 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.6 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.13.

New and Updated Features

StreamBase 6.5.6 added the following updates and new features:

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.

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.

IBM WebSphere MQ Adapter Property to Acknowledge Publish

A new property, Send Publish Acknowledgement, was added to the StreamBase IBM WebSphere MQ Adapter. When enabled, the adapter emits a tuple on its status port with type=Messsage and action=Published each time an MQ message is successfully queued to the MQ queue. See IBM WebSphere MQ Input Adapter.

Version Option for sbargen Command

sbargen --version returns the StreamBase release number.

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.

MarketFactory™ Trading Adapter Upgrade

The StreamBase MarketFactory Trading Adapter was updated to support version 1.76 of the MarketFactory API.

Change for the Hotspot Trading System Adapter

The Hotspot FX control adapter was updated with the following change in release 6.5.6:

  • The requirement that an extraneous field, requestId, be present in the input port was removed. Existing StreamBase applications that use an instance of the Hotspot FX control adapter will incur a typecheck error when upgraded to 6.5.6 or later. This error can be eliminated by removing the requestId field from the control adapter's input port.

Documentation Updates

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

What Was New in StreamBase 6.5.5

Fixes

StreamBase 6.5.5 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.5 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.12.

New and Updated Features

StreamBase 6.5.5 added the following updates and new features:

Studio Now Based on Eclipse 3.5.2

Starting with release 6.5.5, the base release of Eclipse that underlies StreamBase Studio was upgraded from 3.5.1 to 3.5.2, which resolves an issue of unresponsive 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.

Oracle 11g Now Supported

Release 6.5.5 adds Oracle 11g to the list of tested and supported JDBC-compliant databases.

Typechecking Speedup

This release implements a new typechecking algorithm that results in a considerable speedup when making small changes in large EventFlow applications.

New Version of Java Client API JAR File

This release adds a new version of the JAR file that implements the StreamBase Java Client API. The new JAR file in streambase-install-dir\lib is named sbclient-no-logging.jar, and provides the Client API without any logging support. Use this version of the file if your application needs to bundle a version of SLF4J that conflicts with the one provided by StreamBase Systems. To use this JAR file, you must arrange for a compatible version of SLF4J, along with a properly configured logging back end, to appear on the classpath. The new JAR file is in addition to the two existing JAR files that implement the Client API, as described in Using StreamBase Logging.

Merge Modules for StreamBase .NET Client API Now Delivered

StreamBase has long provided an installer for the StreamBase .NET Client Library redistributables package, for you to install on target PCs that will run a StreamBase client application built with the .NET Client Library. Starting with release 6.5.5, StreamBase also provides installer merge modules for the .NET Client library. If you are building your own installer for your client application, you can incorporate these merge modules into your installer for a single, integrated installation experience. Both options are described in Redistributing the .NET Client Library.

StreamBase .NET Libraries Now Selectable in Visual Studio

The StreamBase installer for Windows was updated to add registry entries that identify the location of the StreamBase .NET Client Library files. This change results in the StreamBase .NET Client Library appearing in the Add Reference dialog in Microsoft Visual Studio, so that references to the StreamBase .NET API can be automatically selected.

Excel Adapter Updated

The Excel External Adapter was updated to support explicit publishing of null using the configured null value string.

GAIN GTX Adapter Updated

The GAIN GTX adapter was updated to support a new release of the GTX API, and adds support for GTX's OrderListener interface, which allows clients to receive asynchronous callbacks when the status of an order changes. The new interface is implemented as a new, fifth output port in the input adapter, as described in the Order Status Output Port Schema section of GAIN GTX Adapter.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The IBM WebSphere MQ and Wall Street Systems adapters now have the following updates:

  • The output adapters were updated to include a new check box, Set Identity Context, in the Adapter Properties tab of each output adapter's Properties view. When enabled, the metadata input schema can contain additional fields used to set the outgoing MQ message's identity context. See IBM WebSphere MQ Output Adapter and Wall Street Systems Output Adapter.

  • The input and output adapters now determine whether the configured queue is an alias queue and responds accordingly.

  • The properties for the input adapters were updated to include an Acknowledge Messages check box. When selected, the adapter waits to remove incoming messages from the MQ queue until they are acknowledged by the StreamBase application. Selecting this option adds an input port to the input adapter. Messages are acknowledged by enqueuing tuples to the adapter's Acknowledge Message input port. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

Updates for FIX Adapter's Appia FIX Engine Support

This release includes a suite of updates to lower the chattiness of administration messages from, and improve the robustness of, the Appia FIX engine used in conjunction with the FIX adapter. The Appia configuration file gained a new setting, engine-heartbeat-interval, as described in FIX Adapter.

New 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 do not want included in the bundle. Starting with this release, the application bundling dialog in Studio provides the same option. You can use this feature to exclude the state files for your version control system; for example, for Subversion, enter .svn. See Application Bundling.

Documentation Updates

A redundant link to the Reuters RFA Adapter's documentation page was removed from the Windows Start menu. This page is provided as part of the Adapters Guide for the Reuters RFA External adapter.

What Was New in StreamBase 6.5.4

Fixes

StreamBase 6.5.4 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.4 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.12.

New and Updated Features

StreamBase 6.5.4 added the following updates and new features:

Windows 7 Supported

Both 32-bit and 64-bit Windows 7 are now supported platforms for running StreamBase Studio and StreamBase Server on x86_32 and x86_64 hardware.

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 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.

New Gain GTX Adapter

The GAIN GTX adapter allows a StreamBase application to receive Foreign Exchange market data from, place orders with, and receive trading-related events from a GAIN GTX ECN server. The GAIN GTX adapter is a single, bidirectional adapter that can both send and receive GTX messages. To facilitate its use in EventFlow diagrams, the adapter is represented as an input adapter and an output adapter, with separate icons in the StreamBase Studio Palette view. These icons must be used as a pair that shares a single GTX connection. The new adapter is described in GAIN GTX Adapter, and has a sample, described in GAIN GTX Adapters Sample.

Microsoft Excel Adapter Updated

The Microsoft Excel External adapter received several updates:

  • The Excel adapter now supports the StreamBase list and tuple data types.

  • The Excel publish adapter now uses a background thread to detect and report connection outages to StreamBase Server and reconnect as necessary.

  • Error message dialogs from the Excel publish adapter now have improved wording that points more directly to the source of the error.

  • The Excel adapter's RTDPub object has a new ClearReadBuffer method. Calling this method forces the adapter to discard its buffered tuples for all active subscriptions, request a refresh from Excel, and return an empty value (VT_NULL, which shows up as #N/A in the spreadsheet) for every subscribed topic on the subsequent refresh.

The Microsoft Excel adapter documentation page was updated to reflect these changes. The Excel adapter's publish sample now illustrates the new ClearReadBuffer method.

StreamBase to StreamBase Input Adapter Gains Filtered Subscribe

The StreamBase to StreamBase Input adapter now provides a Filtered Subscribe Expression field on the Adapter Properties tab of its Properties view. If empty, the filtered subscription option is not used, and the adapter passes all tuples. To use a filtered subscription, enter a StreamBase expression that narrows the tuples passes by the adapter to those matching the expression.

CSV File Reader Adapter Updated

The CSV File Reader adapter now has a new adapter property, Map Control Port to Event Port. Enable this option to pass all information received on the control input port to the event output port. When enabled, this property adds a tuple field to the tuple received by the event output stream. The additional field contains the entire tuple of the control input stream passed to the adapter. See CSV File Reader Input Adapter.

Wombat Adapter Updated

The Wombat MAMA Input adapter was updated with new handling for recap timeouts from the Wombat server: the adapter now logs these timeouts, then ignores them and continues processing.

Lime Citrius Adapter Updated

The version of the Lime Citrius API supported by the Lime Citrius adapter was updated from 1.6.4 to 1.6.5.

Feed Simulation Data File Options Updated

The Data File option of the Feed Simulation Editor now recognizes the data files with file name extension .bin.gz. Files with that extension are presumed to have been generated with the StreamBase Binary File Writer adapter with that adapter's compression option enabled. See Generation Method: Data File for the list of file name extensions recognized by the Feed Simulation mechanism.

The Data File Options dialog was also updated to clarify error messages when a specified timestamp column does not match the Timestamp format field. Error messages now show the column number (or column name for a data file with headers) of the data file column with the offending timestamp. This helps you pinpoint the source of the error in large data files with more than one column of timestamp data.

Start Menu Items Updated

On Windows installations, the entries placed in the Start menu by the StreamBase installer now have release numbers for the StreamBase Command Prompt and for links to documentation. This change helps distinguish StreamBase versions on computers that have more than one StreamBase release installed, when searching with the Start menu's Search field on Windows Vista or Windows 7.

Documentation Updates

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

  • The description of the expression language's isnull() and tuple() functions were updated for accuracy.

  • The reference pages (and, on UNIX, the man pages) for the sbargen and sbbundle commands were updated to reflect their current handling of precompiled archive files (.sbar files).

What Was New in StreamBase 6.5.3

Fixes

StreamBase 6.5.3 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.3 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.10, including the nanotime() expression language function.

New and Updated Features

StreamBase 6.5.3 added the following updates and new features:

New StreamBase Component Exchange

Starting with this release, StreamBase Systems hosts the StreamBase Component Exchange, which is an online repository of StreamBase applications, libraries, and utilities, created by StreamBase users and members of the StreamBase team, made freely available to all users of StreamBase. You can download components from the Component Exchange in two ways:

Both methods are described on TIBCO StreamBase Component Exchange.

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_17. 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: New Insert Adapter Dialogs

In StreamBase Studio, when the EventFlow Editor is active, Studio now has a new format for the dialogs invoked from InsertInput Adapter (or the A I keyboard shortcut) and from InsertOutput Adapter (or the A O keyboard shortcut). These resizable dialogs list both Global Adapters and Project Adapters (if any exist in the current module search path). You can type a search string in the filter field to narrow the list of adapters to those whose name matches your search string. See EventFlow Editor Keyboard Shortcuts for examples.

New Timestamp Builder for Feed Simulations

When using a CSV or data file as input for a feed simulation, it might happen that the column containing date information is in one column while the time information is in another column. This release introduces the Timestamp Builder feature, which allows you to designate one or more CSV or data file columns as containing portions of a single timestamp. The new feature is described in Using the Timestamp Builder Feature.

Feed Simulations Can Read Binary File Writer Files

The feed simulation system can now read binary files generated with the StreamBase Binary File Writer adapter. Such files must have the .bin extension, including files generated with the Binary File Writer's compression option. You must generate the binary files with the same release of StreamBase currently running the feed simulation.

New FXall Relationship Trading Adapters

New in this release are the FXall Relationship Trading Adapters, a matched pair of input and output adapters. These adapters allow a StreamBase application to create trades or deals that can then be executed in the FXall Request for Quote trading environment. The new adapters are described in FXall Relationship Trading Customer Adapter and have a sample, described in FXall Relationship Trading Customer Adapter Sample. The new adapter pair is separate from the FXall FIX adapter, which remains in the product.

Update for Wall Street Systems Adapters

The Wall Street Systems input and output adapters both gained new User ID and Password properties in their Properties views, which allows them to be used at sites that require authentication when connecting with the Wall Street Systems server. See Wall Street Systems Input Adapter and Wall Street Systems Output Adapter for details.

Update for FIX Adapter with Appia FIX Engine

The configuration file for the Appia FIX engine now includes a checkremote-id setting. Use this setting to specify that outgoing messages are to be returned to the application when the connection id down, rather than stored and forwarded, the default behavior. See FIX Adapter.

New Automatic HA Feature

Automatic HA was introduced in release 6.5.0. As of release 6.5.3, automatic leadership control was extended to allow you to specify your own HA container name instead of using the automatically created container named HA. Using your own HA container allows you to specify container connections and other relationships, while still taking advantage of automatic leadership control. The new feature is implemented as the new ha-container parameter for the high-availability element in the server configuration file. See <high-availability> and Automatic HA.

New Functions in the Expression Language

The StreamBase expression language gained the following new functions:

What Was New in StreamBase 6.5.2

Fixes

StreamBase 6.5.2 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.2 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.8.

New and Updated Features

StreamBase 6.5.2 added the following updates and new features:

New Alpha Trading Systems EMAPI Order Entry Adapters

The StreamBase Alpha Trading System EMAPI Order Entry adapter allows a StreamBase application to submit trade requests to the Alpha Trading System venue. The adapter appears as two icons on the EventFlow canvas in StreamBase Studio: an output adapter for sending orders, and an input adapter for receiving order status updates from the venue. These adapters are described in Alpha Trading Systems EMAPI Order Entry Adapter and have a sample, described in Alpha Trading System EMAPI Order Entry Adapter Sample.

New Alpha Trading Systems EMAPI Market Data Feed Adapter

The StreamBase Alpha Trading System EMAPI Market Data Feed (MDF) Adapter allows a StreamBase application to subscribe to market data from from the Alpha Trading System venue. You can configure one to thirteen Alpha output flows as separate output ports for the adapter. For some of these output flows, Alpha supports replay capability, snapshot capability, or both. This adapter is described in Alpha Trading Systems EMAPI Market Data Feed Adapter and has a sample, described in Alpha Trading System EMAPI Market Data Feed Adapter Sample.

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

Documentation Updates

The description of the Query operator's Operation Settings tab was revised and expanded.

What Was New in StreamBase 6.5.1

Fixes

StreamBase 6.5.1 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.5.1 inherited the updates and new features added to maintenance releases of the 6.4 release series, through and including release 6.4.8. This included the following new adapters, new in release 6.4.8:

New and Updated Features

StreamBase 6.5.1 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_16. 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 Warning Message On Opening EventFlow with Missing Imports

Since release 6.4.0, EventFlow application files (such as myApp.sbapp) can import definitions of constants and named schemas from a separate EventFlow file (such as definitions.sbapp). As of release 6.5.1, when Studio attempts to open a file with imports, but the imported file cannot be located, Studio displays a warning message that the situation must be resolved. Go to the Definitions tab of the newly opened application file to identify the missing module imports file.

Studio Now Reopens to the Last Open Tab

StreamBase Studio now preserves the last-opened tab of each EventFlow application file (Editor tab, Definitions tab, and so on) and reopens each file to the same tab.

Update for Lime Citrius Quote Adapter

The Lime Citrius API used by the StreamBase Lime Citrius Quote Input adapter was upgraded from version 1.4 to version 1.6.1.

StreamBase .NET Client API Build Changes

In previous releases, the StreamBase .NET Client library could fail to load into certain AppDomains, instead showing load errors that included the phrase BadImageFormatException or "The module was expected to contain an assembly manifest." This issue was resolved by building the StreamBase .NET client assembly in a different way. In addition, the StreamBaseMonitor API is now delivered as a separate, platform-independent assembly. There are no StreamBaseClient or StreamBaseMonitor API changes as a result of this build change.

.NET client applications that do not use the StreamBaseMonitor API do not need to make any changes. .NET client applications that do use the StreamBaseMonitor API now need to add a reference to the new assembly named sbmonitor.

Update for Embedded TIBCO Subscribing Input Adapter

The TIBCO Subscribing Input adapter was updated with a new property, Enable Dynamic Subscriptions Port. When enabled, this property gives the adapter another input port to which you send control tuples that cause the adapter to dynamically subscribe to or unsubscribe from subjects.

Expanded Type Conversions for Embedded TIBCO Adapters

The TIBCO Rendezvous Subscribing Input and Publishing Output adapters now have a greatly expanded set of available conversions between StreamBase and Tibrv data types. These changes include:

  • The adapters support conversions between StreamBase lists and Tibrv messages in which list elements appear multiple times with the same name in a Tibrv message.

    • To publish such messages, include the StreamBase list field name with a non-array Tibrv type in the type override file. For example, MyListOfIntField,I32.

    • The subscribing adapter automatically now assembles StreamBase lists from Tibrv messages that contains repeated fields with the same name.

  • The publishing adapter's Enable Publishing Lists Of Tuples property was deprecated, and lists of tuples are now published using the Tibrv MSGARRAY type. Lists of tuples can be published as multiple fields by including the StreamBase list field name with the MSG type in the override file. For example, MyListOfTuple,MSG.

  • A new property, Generate Unique Tibrv Field Names, was added to the publishing adapter. When enabled and publishing multiple Tibrv fields per StreamBase list field, this property causes the adapter to generate unique Tibrv field names listfieldname_0, listfieldname_1, and so on.

What Was New in StreamBase 6.5.0

Fixes

StreamBase 6.5.0 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Inherited from Previous Releases

StreamBase 6.5.0 inherited the new adapters and new features added to previous maintenance releases of the 6.3 and 6.4 release series, through releases 6.3.9 and 6.4.6. This includes the following new features:

New and Updated Features

StreamBase 6.5.0 added the following updates and new features:

 Behavior Changes 
On-Disk Query Table Format Changed

The on disk format for Query Tables has been updated for release 6.5.0. Before migrating your application to 6.5, move all files in your Query Table data directory to a backup location. Then proceed as follows, depending on how you use 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 6.5 will recreate your Query Tables in the current 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 6.5 will create new format Query Tables, which will 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 6.4 or earlier, then you must extract the persistent data from your current Query Table to a CSV file and reload the data in StreamBase 6.5. 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 6.5 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.

    6. In StreamBase 6.5, 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 6.5. Contact StreamBase Support for assistance in implementing this procedure.

Studio's New Handling of .sblayout Files

StreamBase Studio now 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 separate layout files for one or more application files using StreamBaseEventFlow LayoutExtract to Layout File. The Studio Preference setting to manage layout status now affects only newly created application files going forward. For details, see the rewritten EventFlow Layout Options page.

Studio's Handling of Native Library Files at Project Root

As of release 6.5.0, Studio no longer gives any special treatment to DLL or .so files stored at the root of a Studio workspace project. In previous releases, such files were presumed to be native library files that implement a custom C++ plugin. The removal of special treatment based on folder location means you must now add an explicit plugin or library element in the server configuration file for each DLL or .so file that you explicitly want to load as part of your StreamBase application.

Server Now Directly Supports Older Clients Without a Proxy

In previous releases, StreamBase Server supported only the protocol specific to its own StreamBase release, and StreamBase clients built with previous releases had to connect to newer servers by means of the StreamBase Proxy Server, sbproxy. This limitation was lifted, and StreamBase Server now directly supports the protocols of previous StreamBase releases back through 3.7.

You no longer need to run sbproxy for the purpose of protocol matching, but sbproxy is still required to support SSL or LDAP secure connections to StreamBase Server. Clients can still connect to the server through sbproxy, which now passes protocol handling through to the server and displays an informational warning on the console.

Precompiled Archive Files Can Now Be Included in Bundles

You can now include a precompiled application archive (.sbar) version of the primary application file when creating a StreamBase bundle for deployment, if the archive file is present in the project folder. This works both when creating a bundle in Studio and at the command prompt, where you can now use the sbbundle -c command.

Server Can Run Bundle That Contains a Precompiled Archive

StreamBase Server was updated to start an application bundle using an .sbar file if it finds one in the bundle, and if the .sbar and server are from the same release. If the releases do not match, the server skips the .sbar file and starts the top-level EventFlow file in the bundle.

CSV File Reader Adapter Has New Default for Null String

In previous releases, the CSV File Reader Adapter had the empty string as the default setting for its NULL string property. Starting with 6.5.0, this adapter has null as the default setting for the NULL string property, which aligns the CSV File Reader adapter more closely with the default null string used by the CSV File Writer adapter and with other StreamBase adapters.

External Process Operator

In release 6.4.3, the External Process operator gained the ability to specify string instead of blob as the data type of fields added to the output tuple by the operator. As of release 6.5.0, string is the default type for such fields. See Using the External Process Operator.

 Installation Changes 
New Installer for 64-bit Windows

Release 6.5.0 provides a unified installer for supported 64-bit Windows platforms. In previous releases, installing StreamBase on these platforms required running the standard 32-bit installer and then a second installer that overlaid the 64-bit programs and libraries. The installer for 64-bit Windows now performs in one pass all the actions of the former two-stage installation. Installing and using StreamBase on 64-bit Windows is described in 64-Bit Windows Considerations.

 Studio Look and Feel Changes 
EventFlow XML Format Updated

As is standard with StreamBase releases, the XML syntax of EventFlow files was updated to support the new features described on this page. When you use Studio 6.5 to open and save a module defined in a previous release, the file's format is automatically updated.

Note

Once an EventFlow module file has been saved in the 6.5 format, it can no longer be opened with previous StreamBase releases. If you are experimenting with release 6.5's new features without yet committing to an upgrade, back up your application files and use copies with 6.5. You can also import your existing Studio projects into a new, blank 6.5 workspace with FileImportGeneralExisting Projects into Workspace.

Studio Now Based on Eclipse 3.5.1

StreamBase Studio is now based on, and requires, Eclipse 3.5.1. This allows you to install third-party Eclipse plug-ins that support or require Eclipse 3.5, including plug-ins that add version control to Studio.

New Welcome Page

The Welcome page for StreamBase Studio uses a new layout that explains the available options without requiring the use of a mouse to hover over each button.

Studio Tabs Are Now Bold to Show Content

In the EventFlow Editor in StreamBase Studio, the tabs at the bottom (other than the Editor tab) are now shown in boldface if that tab has any content.

Chronicle Connection Data Construct Removed

The icon for the Chronicle Connection data construct was removed from the Data Construct drawer of the Palette view, and the former Chronicle adapters were reconfigured to work as standard StreamBase adapters. No functionality is lost with this change, and the databases formerly supported as Chronicle Connections are still supported, including the native library fast-load features for certain databases. If your StreamBase application accesses or loads a database formerly supported with a Chronicle Connection, that connection is automatically migrated when you open and save the application in release 6.5. If your server configuration file specified type="chronicle" in a data-source element, it is automatically migrated to type="jdbc".

 Changes for Query, Map, and Aggregate Operators 
New User Interface for Output Settings and Aggregate Functions Tabs

StreamBase 6.5.0 introduces a new and clarified way to assemble the fields of the outgoing tuple in Query and Map operators, and to apply aggregate functions in the Aggregate operator. In the new interface, you specify field changes as a group, or one field at a time in separate tables. The separate tables apply to fields from the input stream, fields from the associated Query Table, and fields additional changes determined by expressions. The changes you specify are applied in top-down order, both in the order of tables in the tab, and in the order of field expressions in each table. See Output Settings Tab for a discussion of the new user interface.

Use Sub-Fields in Output Settings Properties

You can now directly specify sub-fields for output by writing a fully qualified path using standard dot notation. For example, if the incoming schema for a Map operator has a field NYSEFeed of type tuple, with a sub-field named symbol, you can use NYSEFeed.symbol in the Field Name column to directly add, replace, remove, or include the field in the output of the Map operator. You can use these fully qualified paths in the Field Name column of any table in the Output Settings tab of Map and Query operators, and in the Aggregate Functions tab of Aggregate operators.

Use Wildcards in Output Settings Properties

In the same places you can use sub-field path names, you can now use an asterisk wildcard to specify all fields of the incoming stream, or to specify all sub-fields of a tuple field. In the following example, the output settings for a Map operator specifies adding a new field of type tuple, OrigStream, to the output of the operator. Each field of the input stream is mapped to the same-named sub-field of the OrigStream field. When using a wildcard in the Expression column, you must also use an asterisk in the Field Name column.

Query Operator with Insert Operation Now Takes Expressions

In the Output Settings tab for the Query operator in previous releases, for Insert operations, the Expressions option was unavailable. Using the new interface for the Output Settings tab, you can now add, replace, or remove fields based on expressions by using the Additional Expressions table.

Behavior Change: No Default Prefixes in Query and Aggregate Operators

In previous releases, when using the Query operator's Output Settings tab, Studio provided the default prefix input_ for fields from the input stream, _table for fields the current table, and, for updates, _old, for fields from the table before the update. When using the Aggregate operator, in the Aggregate Functions tab, Studio provided the default prefix input_. In release 6.5, Studio now defaults to no prefix. You can still specify a prefix in all the same cases.

Map Operator Accepts the input Qualifier

Previous releases required you to use input1 as the qualifier of a field name (such as input1.fieldname), even though the Map operator has only one input. You can now specify input as the qualifier for fields in a Map operator's input stream.

 Declared Schemas 
Declared Schema for Output Streams

The output stream gained the ability to specify a declared schema for outgoing tuples. The default configuration, as in previous releases, is that the schema for these components is inherited from upstream components and is shown read-only in the Properties view. However, you can now instead specify the exact schema you expect outgoing tuples to have, which allows StreamBase to apply typechecking to confirm or report departures from your declared schema.

Declared Schema for Union Operators

The Union operator also gains the ability to specify a declared schema for outgoing tuples. In this case, the Require this schema option supplements the existing options to specify loose and strict typechecking of the schemas of the operator's input ports. As with output streams, specifying a declared schema allows StreamBase to apply typechecking to confirm or report departures from your declared schema.

 New Language Features 
New Table Schemas

This release introduces the table schema, which is a form of named schema for a set of Query Tables that completely defines the structure of those Query Tables, and ensures that all Query Tables in the set are identically defined. A table schema includes not only the table structure of a Query Table, but its primary and secondary indices as well. You can apply a table schema by name to two or more on-disk or in-memory Query Tables to quickly assign the same structure to those Query Tables, and you can import table schemas from modules in the module search path. Table schemas are described in Using Table Schemas.

New Drools Operator

This release includes the new Drools operator in the Global Operators & Adapters drawer of the Palette view in StreamBase Studio. The Drools operator is a global Java operator that provides a way for StreamBase applications to implement rule-based decision-making in the course of an EventFlow application. This operator embeds version 5 of the Drools Expert rules engine, also known as JBoss Rules. You implement the operator by providing a rules file and a Java Interface file that describes the fields of interest in the operator's incoming tuple. See Using the Drools Operator and Drools Operator Sample.

New input Qualifier for Dynamic Variables

When defining a dynamic variable, your updating expression might need to refer to more than one field in the updating stream to build your expression. Starting with release 6.5.0, you can qualify such field names with input. instead of repeating the updating stream's name. Thus, for a dynamic variable that updates from the sum of two fields, alpha and beta, in an updating input stream named UpdateVariable, you can specify either of the following as your updating expression:

UpdateVariable.alpha + UpdateVariable.beta

input.alpha + input.beta

 Studio New Features 
Studio Now Supports Direct Specification of Native Library Path

You can now use the standard Eclipse Java Build Path mechanism to specify the location of a native library (DLL or .so file) called by Java source files or by a JAR file in a StreamBase project. In previous releases, the only way to specify such locations was with the library child element of the java-vm element of the server configuration file, and that method is still supported. See Java Build Path for instructions.

Specify Container Connections in Stream Properties

This release provides a new Container Connections field on the Advanced tab of the Properties view for both input and output streams. The field accepts a StreamBase expression that resolves to the qualified name of a stream in another container. There are some restrictions on container start order when using this feature, as described on Container Connections. This feature supplements and does not replace the other methods of establishing container connections, which remain available.

Application Launch Improvements

Application launches from Studio are simplified and no longer require two dialog boxes. Launch failures are now reported using the standard Eclipse mechanism.

Studio's Starting Server Dialog Can Now Be Backgrounded

Studio now supports setting any launch configuration to run in the background. This places the Starting StreamBase Server dialog sequence in the background so that control of Studio returns immediately after the launch. Large multimodule applications can take a moment to load and initialize, so this setting frees Studio for productive use while waiting for a large application to start. To specify this condition, edit the application's run configuration; in the Common tab, check the Launch in background check box and click Apply.

 New SB Manager Perspective 
SB Manager Perspective

All the application monitoring and management functions of StreamBase Manager are now available automatically when you run applications in StreamBase Studio. The views that comprise the standalone StreamBase Manager utility are now available in the new SB Manager perspective in Studio. To view StreamBase Manager statistics for the running application, switch to the SB Manager perspective, which is automatically connected to the running server instance. You can go back and forth at will between the SB Manager and SB Test/Debug perspectives as you analyze your running application.

StreamBase Manager can still be run as a separate, standalone utility using its Start menu entry in Windows, or using the sbmanager command from the command prompt in UNIX.

No Welcome Screen for StreamBase Manager

The standalone StreamBase Manager utility no longer opens by default with a Welcome screen. If no connections have been made, Manager now provides reminder messages in each view to help you get started. If you have previously connected to a running server, Manager remembers and shows the URLs of its last connections. Right-click the URL of interest and select Connect from the context menu to reconnect to the same server and port.

StreamBase Manager Help

The Help system booklet for StreamBase Manager and the SB Manager perspective is now available at the same top level as the primary StreamBase documentation in the Eclipse Help viewer.

 New SB Trace Debugger Perspective 
New SB Trace Debugger Perspective

In release 6.5.0, the SB Trace Debugger perspective replaces the SB Trace Browser perspective. As before, you can use this perspective to review and analyze runtime trace files generated for a running application, as described in Runtime Tracing and Creating Trace Files. New in 6.5.0 is the ability to debug through a trace file, line by line, with automatic highlighting of the current place in the associated EventFlow module.

New Trace Launch Mode

Release 6.5.0 offers a third launch mode for running applications in Studio. In addition to Run and Debug modes, you can now start an application in Trace mode, and you can edit and store Trace mode launch configurations in the same way as Run and Debug mode configurations. When you run an application in Trace mode, the following sequence occurs:

  1. Studio runs the application normally, and automatically starts recording a trace file for the main application in the default container.

  2. Send tuples to the application manually or with a feed simulation.

  3. When you stop the application, Studio automatically switches to the SB Trace Debugger perspective, with the newly-recorded trace file already loaded. You can now use this perspective to follow the progress of a single tuple through your application.

Trace Files Now Stored as UTF-8

Trace files generated from a running application are now saved with UTF-8 encoding. This preserves any Unicode characters in tuple fields in the trace file.

 Studio Usability Updates 
Component Error Message Improvements

Messages reporting an error in the configuration or use of a component are shown in the Properties view and in other Studio views. These error messages are now more detailed and provide better reporting of the location of the error. Error messages now report the exact field or table cell with the problem, and provide a hyperlink to take you to that location. Errors in a component in a referenced module now report a path that leads you to the exact inner module that contains the failing operator.

Better Names for Newly Dropped Java Operators and Adapters

In previous releases, when you dragged an adapter or global Java operator icon from the Palette to the canvas, the newly dropped icon's initial name was a generic one, such as Java1 or InputAdapter1. As of release 6.5.0, newly dropped icons receive a name based on the name of the dragged adapter or global operator: CSVFileReader1, ExternalProcess3, and so on. If you program custom operators or adapters, the new default name for dropped targets is based on the name defined with setShortDisplayName().

Refactor to Named Schema

Select any schema-bearing component in the EventFlow Editor canvas, right-click, and select SchemaRefactor to Named Schema from the context menu. This opens the Promote to Named Schema dialog, which allows you to save the schema of the selected component as a named schema, accessible in the Definitions tab for the current module. At the same time, you can ask Studio to locate components in the current module that have a compatible private schema, and to apply the newly named schema to some or all of those components. See Promoting a Private Schema to a Named Schema.

Open StreamBase Command Prompt Here

On Windows platforms only, the context menu for projects in the Package Explorer view now contains the Open StreamBase Command Prompt Here action. Invoke this action to open a StreamBase Command Prompt whose current directory is the selected project's directory in the Studio workspace.

Extensions for the Quick Connect Keyboard Shortcut

The keyboard shortcut X X is used to quickly draw connection arcs between two selected components in the EventFlow canvas. As of 6.5.0, the X X shortcut is extended to work with more than two component selections. You can drop several stream and operator icons on the canvas, select them all, then use X X to draw all the arcs between components in left to right order. If the selection includes a data construct and there is an unequivocal connection to Query operators available, X X also automatically draws the association arcs. See Studio Keyboard Shortcuts for further details.

Updates to Expression Cell Autocompletion

The autocompletion feature is invoked with Ctrl+Space when editing an expression in a Properties view table cell. Autocompletion now takes into account any currently selected text in the cell when presenting its completion proposals.

Navigate Component Selection History

Studio keeps a history of the selections you make among individual components in the EventFlow canvas. You can use Alt+Left to move backwards in that selection history, and Alt+Right to move forward. These keys go back or forward to the previous or next selected component in the history, even if that selection is in another EventFlow Editor canvas.

You can also navigate your selection history using the yellow left and right arrows in the main Studio toolbar . Use the drop-down arrows next to these arrow icons to see your navigation history in list form. Select a location in the list to navigate directly to that location.

Create a Canvas Group From a Single Selection

In previous releases, the Create Group action did not appear in the EventFlow Editor's context menu unless two or more components were selected. You can now create a group starting with only one icon selected, adding components to the group later.

Application Output View Module Selector Organized by Module

When running or debugging a top-level application that references one or more modules, the Output Stream Selector dialog (invoked from the Application Output view) now organizes the available output streams hierarchically, to help you locate the streams of interest. See Select Multiple Streams.

 Visual Debugger Changes 
EventFlow Visual Debugger Shows In-Memory Query Tables

When using StreamBase Studio's Visual Debugger for EventFlow applications, you can now inspect the contents of in-memory Query Tables in the Variables view.

Simultaneous EventFlow and Java Debugging

If your EventFlow application includes custom Java code, you can now switch back and forth between debugging your EventFlow application and debugging your Java code. Use the Toggle debugging mode button on the right side of the Debug view's toolbar to switch modes.

Debugger Efficiency Improved

The efficiency of the visual debugger was improved to allow debugging of larger applications.

 Server New Features 
Performance Improvements in Applications with Wide Schemas

Internal changes were made to significantly improve the performance of StreamBase Server when processing an application with 50 to 100 fields per tuple.

Performance Improvements for Many Connected Dequeue Clients

Internal changes were made to significantly improve the performance of StreamBase Server when processing an application with a large number of connected and active dequeue clients. In one test scenario with 80 dequeue clients, the tuples per second processing rate was two to three times faster than with previous releases.

sbadmin listConnections Shows Protocol Family Number

To help administer multiple client versions connecting to StreamBase Server 6.5, the sbadmin listConnections command now reports the protocol family for each connected client. The protocol family is effectively a superset of the StreamBase release number that categorizes StreamBase releases that use the same server connection protocol. For example, the connection protocol did not change between StreamBase releases 6.4 and 6.5, so clients from both versions report 6.5 in the protocol family field in the output of listConnections. The protocol family version generally changes for StreamBase releases that add a new data type.

sbadmin listConnections Shows Connected Stream Name

The sbadmin listConnections command now reports the name of the input stream each client is connected to.

New Support for Slow-Dequeuing Clients

StreamBase 6.5.0 includes new support for design patterns where one or more connected clients consume data at a slower rate than the server produces it. In previous releases, the server automatically disconnected unresponsive clients on the presumption that they were hung or had lost communication. The new support for slow-dequeuing clients is implemented as a new parameter setting, slow-dequeue-client-wait, for the page-pool element of the server configuration file; and as changed behavior for the existing max-client-pages parameter. These settings affect all connected clients. See the <page-pool> section of the StreamBase Server Configuration File XML Reference page for details on these settings.

Server Configuration File Changes

You can now specify param elements as an alias for parameter elements, which are both child elements of the module-parameter element.

 High Availability Support 
New Feature: Automatic HA

Automatic HA is a set of time-saving StreamBase configuration settings that let you quickly and automatically implement commonly used aspects of high-availability design patterns. The currently supported automatic HA features are automatic leadership control and automatic table replication. See Automatic HA.

New HA Samples

The HA and table-repl samples were reworked to illustrate both automatic HA and manual customization. Both samples now provide a basic version of the sample that uses automatic HA features, and a custom version of the sample that illustrates the same design pattern accomplished with manual configuration settings, which provides more control over options. See High Availability Sample and Query Table Replication Sample.

 Sample Changes 
JDBC Query Sample Is Now Separate

The JDBC Query sample, formerly part of the operators group of samples, is now provided in its own sample directory. This allows the operators sample group to load in Studio without a warning. As before, the JDBC Query sample must be configured with a data-source entry in the sample's server configuration file before it can be used.

New Log4j Sample

A new sample is provided in STREAMBASE_HOME/sample/logging-log4j that illustrates how to use the logging back end provided by StreamBase to load and use Log4j as the logging front end. The sample also illustrates how to write a simple Java operator that writes log messages to the console, and how to set Log4j logging levels in that operator.

 Adapter Changes 
Adapters Removed

The following adapters were removed from the StreamBase base kit:

  • The Reuters Subscribing Input Adapter was deprecated in release 5.1; as of release 6.5.0, it is removed from the StreamBase base kit. This adapter's replacement, the Reuters RMDS Subscribing Input Adapter, remains available as the recommended way to connect to your Reuters infrastructure.

  • The Opentick data feed ceased operation in 2008. Accordingly, the StreamBase Opentick adapter was removed from the StreamBase base kit.

 JDBC Changes 
New Environment Variable for JDBC Feed Simulations

When using a JDBC database as the source of input tuples for a feed simulation, you must make the database vendor's JDBC JAR file available to Studio. Previous releases recommended copying the JAR file to a certain location in the StreamBase installation. Starting with this release, you can also use the new STUDIO_BOOT_CLASSPATH environment variable as an alternative.

Independent of either method above, in order to use the command-line sbfeedsim with a JDBC data source, you must place the JDBC JAR file in the standard CLASSPATH. These subjects are discussed in Feed Simulation with a JDBC Data Source.

New Default Setting for a JDBC Configuration Parameter

The default setting of the jdbc-batch-timeout-ms parameter of the data-source element in the server configuration file was changed to 60000 ms (60 seconds). In previous releases, the default was –1, which specified not flushing a JDBC batch buffer based on a time interval.

 StreamSQL Changes 

For release 6.5.0, the StreamSQL language was updated with the following features:

  • Support for table schemas was added with the CREATE TABLE SCHEMA statement, used as in the following example:

    CREATE TABLE SCHEMA NASDAQ_TableSchema (
        Symbol string,
        Name string,
        Price double,
        Color string,
        Description string
    )
    PRIMARY KEY (Symbol) USING HASH
    SECONDARY KEY (Price,Color) USING BTREE;
    
  • StreamSQL now supports predicate-based aggregate windows. Use syntax as illustrated in the following example:

    SELECT 
      firstval(now()) AS StartTime,
      lastval(now()) AS EndTime,
      sum(Volume) AS TotalVolume,
      vwap(Price, Volume) AS VWAP
    FROM out__Union1_1[PREDICATE OPEN ON out__Union1_1.OpenWindow 
                         EMIT ON out__Union1_1.EmitWindow || out__Union1_1.CloseWindow 
                         CLOSE ON out__Union1_1.CloseWindow]
    INTO OutputChunkedTrades;
    
  • IMPLEMENTS was added to the StreamSQL reserved words list, StreamSQL Reserved Words.

 API and Expression Language Changes  
API Changes

StreamBase 6.5.0 includes the following changes in the StreamBase Client library:

  • When developing custom operators and adapters, you can now use the convenience exception PropertyTypecheckException in Operator.typecheck() to throw property-related exceptions. This allows Studio to decorate with a red X the exact field or table cell in your operator's Properties view that does not pass typechecking.

  • The new JavaTypePropertyDescriptor class is used by authors of custom operators and adapters to provide a chooser dialog to the end-user that allows the user to select a Java class or interface name in the current Studio project's Java Build Path.

  • The Studio wizards that generate starting code for a new custom Java operator or adapter were updated to generate code that uses Enum property descriptors.

  • In the Tuple class, all setString() methods now have a new variant that takes a CharSequence. No existing methods were changed.

  • In the Operator class, the obsolete and deprecated methods setSessionState() and getSessionState() were removed. These methods were formerly part of the HA support of releases 5.0 and earlier, and have not been active since release 5.1.

Expression Language Changes

The StreamBase expression language was extended with the following new functions:

Third-Party Library Changes

StreamBase release 6.5.0 includes the following changes in third-party libraries:

  • The version of QuickFIX/J bundled to support several FIX-related adapters was updated to 1.4.0.

  • The version of SLF4J was upgraded from 1.5.0 to 1.5.8.

  • The version of logback was upgraded from 0.9.9 to 0.9.15.

 Documentation Changes 
Documentation Updates Independent of New Features

StreamBase release 6.5.0 includes the following documentation updates, corrections, and new pages that were incorporated independent of the new features discussed above:

Properties View Help Button Extended to Global Operators and Adapters

In previous releases, when you selected a StreamBase operator, data construct, or stream in the canvas to show its Properties view, clicking the Properties view's circled-? Help button opened the Studio Help system directly onto the documentation page for the selected component. Previous releases offered this Help button feature for any component taken from the Operators, Data Constructs, or Streams drawers of the Palette view.

As of release 6.5.0, this Help button feature is extended to work with StreamBase-supplied adapters and global Java operators found in the Global Operators & Adapters drawer. As before, the selection is tab-specific. That is, for many adapters, the Help page opens directly onto the section of the page that discusses the currently selected tab in the Properties view.

For module references, custom Java operators, or custom Java adapters, clicking the Help button opens a generic Help page appropriate for the component category.

StreamBase 6.4.x Release History

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

What Was New in StreamBase 6.4.14

Fixes

StreamBase 6.4.14 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.14 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.12.

New and Updated Features

StreamBase 6.4.14 added the following update:

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.

What Was New in StreamBase 6.4.13

Fixes

StreamBase 6.4.13 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.13 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.11.

New and Updated Features

StreamBase 6.4.13 added the following updates and new features:

Wombat Adapter Updated

The Wombat MAMA Input adapter was updated with new handling for recap timeouts from the Wombat server: the adapter now logs these timeouts, then ignores them and continues processing.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The IBM WebSphere MQ and Wall Street Systems adapters now have the following updates:

  • The input and output adapters now determine whether the configured queue is an alias queue and responds accordingly.

  • The properties for the input adapters were updated to include an Acknowledge Messages check box. When selected, the adapter waits to remove incoming messages from the MQ queue until they are acknowledged by the StreamBase application. Selecting this option adds an input port to the input adapter. Messages are acknowledged by enqueuing tuples to the adapter's Acknowledge Message input port.

Updates for FIX Adapter's Appia FIX Engine Support

This release includes a suite of updates to lower the chattiness of administration messages from, and improve the robustness of, the Appia FIX engine used in conjunction with the FIX adapter. The Appia configuration file gained a new setting, engine-heartbeat-interval, as described in FIX Adapter.

What Was New in StreamBase 6.4.12

Fixes

StreamBase 6.4.12 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.12 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.11.

New and Updated Features

StreamBase 6.4.12 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_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.

Updates for Wall Street Systems and IBM WebSphere MQ Adapters

The input and output adapters for Wall Street Systems and for IBM WebSphere MQ gained the following new features:

  • New support for bindings mode, which allows either adapter pair to connect directly to a local queue manager, instead of communicating through a network. This support is enabled by the Bindings Mode check box in the Properties view of each adapter.

  • New User ID and Password properties in their Properties views, which allows them to be used at sites that require authentication when connecting with their servers.

  • New support for general metadata in MQ messages, including confirmation on arrival (COA).

For details, see Wall Street Systems Input Adapter, Wall Street Systems Output Adapter, IBM WebSphere MQ Input Adapter, and IBM WebSphere MQ Output Adapter.

New Environment Variable Supports Custom Logging

The new environment variable STREAMBASE_USE_CUSTOM_LOGGING makes it easier to replace StreamBase's default Java logging system with an alternative logging system. Set this variable to true to automatically call sbclient-no-logging-backend.jar wherever sbclient.jar would be used. Under these conditions, the JAR files that implement your alternative logging system must be locatable on StreamBase Server's classpath (and StreamBase Studio's classpath), or must be specified in a jar child element of the java-vm element of the server configuration file. See Using StreamBase Logging for more on using alternative logging systems.

Documentation Updates

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

  • The Container Connections page has a new section describing the parameters you can specify in the URI to a remote server.

  • The description of the expression language's strftime() function was updated for accuracy.

What Was New in StreamBase 6.4.11

Fixes

StreamBase 6.4.11 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.11 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.10.

New and Updated Features

StreamBase 6.4.11 added the following updates and new features:

Update for FIX Adapter with Appia FIX Engine

The configuration file for the Appia FIX engine now includes a checkremote-id setting. Use this setting to specify that outgoing messages are to be returned to the application when the connection id down, rather than stored and forwarded, the default behavior. See FIX Adapter.

Update for Lime Citrius Quote Adapter

The Lime Citrius Quote Adapter was updated to support the Lime server's top-of-book view. This feature is enabled by toggling the new Enable Top-of-Book check box on the Subscription Properties tab of the adapter's Properties view. See Lime Citrius Quote Input Adapter

What Was New in StreamBase 6.4.10

Fixes

StreamBase 6.4.10 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.10 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.10.

New and Updated Features

StreamBase 6.4.10 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_17. 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.

Update for the MarketFactory Adapters

The MarketFactory API used by the StreamBase MarketFactory adapters was upgraded to version 1.6.6. This change affects the input schema used in both the Market Factory Trading Input adapter and the MarketFactory Enhanced Market Data Input adapter.

Update for the JMS Adapters

The JMS adapters were updated to include an initial context builder for connecting to an IBM WebSphere Application Server and IBM WebSphere MQ Server. See JMS Input and Output Adapters for an example of the configuration settings that use this option.

New Function in the Expression Language

The StreamBase expression language gained the following new function:

What Was New in StreamBase 6.4.9

Fixes

StreamBase 6.4.9 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.9 inherited the new features added to maintenance releases of the 6.3.x release series, through and including release 6.3.10.

New and Updated Features

StreamBase 6.4.9 added the following updates and new features:

New Digitech D3 Streaming Interface Adapter

The StreamBase Digitec D3 Streaming Interface input adapter allows a StreamBase application to retrieve market data from the Digitec D3 Pricing Engine. The adapter is described in Digitec D3 Streaming Interface Adapter, and has a sample, described in Digitec D3 Streaming Interface Adapter Sample.

New Alpha Trading Systems EMAPI Order Entry Adapters

The StreamBase Alpha Trading System EMAPI Order Entry adapter allows a StreamBase application to submit trade requests to the Alpha Trading System venue. The adapter appears as two icons on the EventFlow canvas in StreamBase Studio: an output adapter for sending orders, and an input adapter for receiving order status updates from the venue. These adapters are described in Alpha Trading Systems EMAPI Order Entry Adapter and have a sample, described in Alpha Trading System EMAPI Order Entry Adapter Sample.

New Alpha Trading Systems EMAPI Market Data Feed Adapter

The StreamBase Alpha Trading System EMAPI Market Data Feed (MDF) Adapter allows a StreamBase application to subscribe to market data from from the Alpha Trading System venue. You can configure one to thirteen Alpha output flows as separate output ports for the adapter. For some of these output flows, Alpha supports replay capability, snapshot capability, or both. This adapter is described in Alpha Trading Systems EMAPI Market Data Feed Adapter and has a sample, described in Alpha Trading System EMAPI Market Data Feed Adapter Sample.

Update for Lime Citrius Quote Adapter

The Lime Citrius API used by the StreamBase Lime Citrius Quote Input adapter was upgraded from version 1.4 to version 1.6.1.

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

The following expression language function is newly documented in this release:

Documentation Updates

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

  • The Module Imports page was updated to reflect current functionality.

  • The reference page for the sbadmin command was expanded to include a discussion of stopping and restarting containers.

What Was New in StreamBase 6.4.8

Fixes

StreamBase 6.4.8 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.8 inherited the new features added to previous releases, through and including release 6.3.9.

New and Updated Features

StreamBase 6.4.8 added the following updates and new features:

New MarketFactory Trading Adapters

The MarketFactory™ Trading adapter allows a StreamBase application to place orders and receive trading-related events from a MarketFactory Trading server. The MarketFactory Trading adapter is a bidirectional adapter implemented as a pair of input and output adapters as described in MarketFactory™ Trading Adapter. The adapter has a sample, described in MarketFactory Adapters Sample.

New MarketFactory Enhanced Market Data Input Adapter

The MarketFactory Enhanced Market Data input adapter allows a StreamBase application to receive enhanced FX market data from a MarketFactory Enhanced Market Data server. This adapter is described in MarketFactory™ Enhanced Market Data Input Adapter and shares the sample for the MarketFactory Trading adapters described above.

New IBM WebsSphere MQ Adapters

The IBM WebSphere MQ input adapter allows a StreamBase application to retrieve messages from an IBM WebSphere MQ server. The input adapter is described in IBM WebSphere MQ Input Adapter.

The IBM WebSphere MQ output adapter allows a StreamBase application to publish messages to an IBM WebSphere MQ server. The output adapter is described in IBM WebSphere MQ Output Adapter. Both input and output adapters share a sample, described in IBM WebSphere MQ Adapter Sample.

New Wall Street Systems Adapters

The Wall Street Systems input adapter allows a StreamBase application to retrieve messages from an Wall Street Systems server. The input adapter is described in Wall Street Systems Input Adapter.

The Wall Street Systems output adapter allows a StreamBase application to publish messages to an Wall Street Systems server. The output adapter is described in Wall Street Systems Output Adapter. Both input and output adapters share a sample, described in Wall Street Systems Adapter Sample.

Update for Microsoft Excel Adapter

In previous releases, the Microsoft Excel adapter, when configured to enqueue to multiple StreamBase Server instances, issued an error when encountering the first non-responding server instance. The adapter was updated to create enqueuers for all currently active servers.

Updates for TIBCO Rendezvous Input Adapter

The TIBCO Rendezvous Subscribing Input adapter was updated to process cache requests in the background using a configurable number of threads that are created on demand and are destroyed when all cache requests have been serviced. The cache request timeout is now a configurable option, as described in TIBCO Rendezvous Subscribing Input Adapter.

Update for the CSV File Reader Adapter

The CSV File Reader adapter now reports a failure to open its specified CSV file on its optional event port.

Interstream Ordering Now Preserved

StreamBase Server was enhanced to preserve interstream ordering in cases where a single stream of tuples is split into multiple input queues entering the StreamBase application. Multiple input queues might occur when an adapter (such as the FIX adapter) routes incoming messages to multiple ports, or when an adapter is configured to run in separate parallel threads.

Interstream ordering is now preserved when parallel modules are specified, and when a Java operator uses Operator.sendOutputAsync() with multiple output ports. However, interstream ordering is not preserved when mixing sendOutputAsync() and sendOutput().

A consequence of this update is that queues are now created on demand, and only when parallel modules are in use. The names of queues (as seen with sbc list and other commands) now have an instance variable appended. For example, a parallel module queue formerly named default.InputStream1 is now named default.InputStream1:0. If there are multiple instances of this set of queues, the sequence number is incremented.

What Was New in StreamBase 6.4.7

Fixes

StreamBase 6.4.7 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.7 inherited the new features added to previous releases, through and including release 6.3.9.

New and Updated Features

StreamBase 6.4.7 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_16. 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.

Appia FIX Engine Support for FIX Adapter

The FIX Input and Output adapters now include support for the Appia FIX engine from Orion Tradesoft in addition to the QuickFIX/J and CameronFIX FIX engines already supported. The option to use the Appia FIX engine applies to the basic FIX adapter as well as to all StreamBase adapters based on the FIX adapter. See FIX Adapter for information on configuring the FIX adapters to use the Appia FIX engine.

Update for CSV and Binary File Writer Adapters

The CSV File Writer and Binary File Writer adapters were updated to prevent two or more instances of either adapter from writing to the same file simultaneously. Application authors should be aware that this change does not prevent a non-StreamBase external application from writing to the same file being written to by these adapters.

Update for CSV File Writer Adapter

The CSV File Writer Adapter was updated to generate rollover file names that use 24-hour notation when using the Max Roll Seconds property.

Update for the Comstock Adapter

The Comstock adapter now reports its internal queue size on the console and shows warnings when the queue size crosses certain size thesholds.

API Change

The Schema and StreamBaseClient classes now have constructors that call out every exception, which helps you build well-behaving custom adapters.

Documentation Updates

The StreamBase documentation for release 6.4.7 included the following updates and corrections, independent of the changes above:

  • The cheat sheet for the Error Streams sample was reworked to match the updates in the Error Stream sample.

What Was New in StreamBase 6.4.6

Fixes

StreamBase 6.4.6 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.6 inherited the new features added to previous releases, through and including release 6.3.9.

New and Updated Features

StreamBase 6.4.6 added the following updates and new features:

Update for Lime Citrius Quote Adapter

The Lime Citrius API used by the StreamBase Lime Citrius Quote Input adapter was upgraded from version 1.4 to version 1.5.3.

StreamBase .NET Client API Build Changes

In previous releases, the StreamBase .NET Client library could fail to load into certain AppDomains, instead showing load errors that included the phrase BadImageFormatException or "The module was expected to contain an assembly manifest." This issue was resolved by building the StreamBase .NET client assembly in a different way. In addition, the StreamBaseMonitor API is now delivered as a separate, platform-independent assembly. There are no StreamBaseClient or StreamBaseMonitor API changes as a result of this build change.

.NET client applications that do not use the StreamBaseMonitor API do not need to make any changes. .NET client applications that do use the StreamBaseMonitor API now need to add a reference to the new assembly named sbmonitor.

Update for Embedded TIBCO Subscribing Input Adapter

The TIBCO Subscribing Input adapter was updated with a new property, Enable Dynamic Subscriptions Port. When enabled, this property gives the adapter another input port to which you send control tuples that cause the adapter to dynamically subscribe to or unsubscribe from subjects.

Expanded Type Conversions for Embedded TIBCO Adapters

The TIBCO Rendezvous Subscribing Input and Publishing Output adapters now have a greatly expanded set of available conversions between StreamBase and Tibrv data types. These changes include:

  • The adapters support conversions between StreamBase lists and Tibrv messages in which list elements appear multiple times with the same name in a Tibrv message.

    • To publish such messages, include the StreamBase list field name with a non-array Tibrv type in the type override file. For example, MyListOfIntField,I32.

    • The subscribing adapter automatically now assembles StreamBase lists from Tibrv messages that contains repeated fields with the same name.

  • The publishing adapter's Enable Publishing Lists Of Tuples property was deprecated, and lists of tuples are now published using the Tibrv MSGARRAY type. Lists of tuples can be published as multiple fields by including the StreamBase list field name with the MSG type in the override file. For example, MyListOfTuple,MSG.

  • A new property, Generate Unique Tibrv Field Names, was added to the publishing adapter. When enabled and publishing multiple Tibrv fields per StreamBase list field, this property causes the adapter to generate unique Tibrv field names listfieldname_0, listfieldname_1, and so on.

Updates for Embedded TIBCO Adapters

The embedded TIBCO Rendezvous Subscribing Input and Publishing Output adapters were updated with the following features:

  • Support was added for overriding the Tibrv data type in published messages, and in published lists of StreamBase ints, longs, and doubles.

  • Support was added for publishing and receiving blobs as I8ARRAY or U8ARRAY types.

  • Support was added for requesting values from the rvcache on start-up.

New Environment Variable for JDBC Feed Simulations

When using a JDBC database as the source of input tuples for a feed simulation, you must make the database vendor's JDBC JAR file available to Studio. Previous releases recommended copying the JAR file to a certain location in the StreamBase installation. Starting with this release, you can also use the new STUDIO_BOOT_CLASSPATH environment variable as an alternative.

Independent of either method above, in order to use the command-line sbfeedsim with a JDBC data source, you must place the JDBC JAR file in the standard CLASSPATH. These subjects are discussed in Feed Simulation with a JDBC Data Source.

Documentation Updates

The StreamBase documentation for release 6.4.6 includes the following updates and corrections, independent of the changes above:

  • The Studio cheat sheet demonstrating the use of error ports and Error Streams was updated to reflect changes in recent releases.

  • The pages for the TIBCO input and output embedded adapters were updated with a new section on the TIBCO middleware requirements.

  • The server configuration file reference was updated to include the jdbc-batch-timeout-ms parameter of the data-source element. See the param element of the StreamBase Server Configuration File XML Reference reference.

  • New or updated page: Profiler View.

What Was New in StreamBase 6.4.5

Fixes

StreamBase 6.4.5 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.5 inherited the new features added to previous releases, through and including release 6.3.8. See What Was New in StreamBase 6.3.8 for details.

New and Updated Features

StreamBase 6.4.5 added the following updates and new features:

Synchronized Timestamp Groups in Feed Simulations

This release includes a new option in the Feed Simulation Editor that allows you to specify two or more streams as members of a group of streams in the current feed simulation file for which StreamBase coordinates delivery of tuples in timestamp order. See Using Synchronized Timestamp Groups for more on using this feature.

New Field Serializer Global Operator

The Palette view's Global Operators and Adapters drawer now includes the new Field Serializer operator. When your application only needs to process a small subset of the fields of a large tuple, you can use the Field Serializer operator to serialize the unused fields of a large tuple into a single blob field, leaving untouched the fields that your application must process. At the end of your processing chain, after processing the fields of interest, use the same operator to deserialize the blob field to reconstruct the tuple's unused fields. This effectively compresses a large tuple as it passes through your application, for a potential throughput and performance improvement. For details, see Using the TIBCO StreamBase Field Serializer Operator.

CSV File Reader Adapter: New Tail Option

The CSV File Reader adapter was enhanced with the ability to process records as they are appended to the input CSV file. This feature is controlled with three new properties on the Adapter Properties tab of the Properties view: Tail Mode, Ignore Existing Records, and Tail Update Interval. See CSV File Reader Input Adapter for details.

Wombat Adapter: New Recover Gaps Option

The Wombat MAMA Input adapter has a new property, Recover Gaps, in the Subscriptions tab of the Properties view. This property allows the adapter to recover from sequence number gaps by requesting a recap. See Wombat MAMA Input Adapter.

Behavior Change for FIX Adapter

The FIX adapter was modified to exhibit the following behavior. When attempting to link with a FIX Output adapter, a FIX Input adapter first looks for a match inside its own module. If none is found it attempts to link with FIX Output adapters in other modules of the application. In the latter case, the Output adapter is expected to have a name unique across the entire application to avoid ambiguities.

Update in Code Generated By New Operator and Adapter Wizards

When using the New Operator or New Adapter wizards to generate code for a custom operator or adapter, in previous releases, when you specified a property of type enum, the wizards generated code that used the EnumPropertyDescriptor class in the BeanInfo file for your component's class. Starting with 6.4.5, these wizards now generate code that uses the new JavaEnumPropertyDescriptor class. See the Javadoc documentation for the StreamBase Client API for more on the difference between these classes.

Studio on Linux with Firefox 3.x

For StreamBase 6.4.x only, on Linux platforms only, StreamBase Studio may fail to start if you are using a newer release of the xulrunner package that accompanies Firefox 3.x. In the 6.4 documentation, see the Xulrunner Issues page in the Installation Guide for special instructions.

API Changes

Release 6.4.5 introduces the following new features in the StreamBase Java Client library.

  • The new class com.streambase.sb.TupleCopier is a utility class that copies fields from one tuple to another, using the schemas of the two tuples to determine the fields to copy. TupleCopier is more efficient than using the Tuple class's getField() and setField() methods to copy portions of a tuple. If your intent is to duplicate a tuple exactly, the Tuple.clone() is a more efficient option.

  • The copyField() method was added to the Tuple class, which is used to copy a single field from one tuple to another, using the schemas of the source and destination tuples.

For details, and for an example of using TupleCopier, see the Javadoc documentation for the StreamBase Client library.

Documentation Updates

The StreamBase documentation for release 6.4.5 includes the following updates and corrections, independent of the changes above:

What Was New in StreamBase 6.4.4

Fixes

StreamBase 6.4.4 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.4 inherited the new features added to previous releases, such as the new timezoneoffset() function, through and including release 6.3.7. See What Was New in StreamBase 6.3.7 for details.

New and Updated Features

StreamBase 6.4.4 added the following updates and new features:

Embedded JMS Reader and Writer Adapters Now in the Base Kit

StreamBase has long provided four JMS adapters: input and output adapters in both embedded and external forms. Before this release, all four JMS adapters were supplied in a separate installation kit. Starting with release 6.4.4, the embedded JMS Reader and JMS Writer adapters are now installed as part of the base kit. The two external JMS adapters are still provided in a separate installation kit, for possible installation on a machine separate from the host running StreamBase Server.

Update for JMS Adapters

The JMS adapters, both embedded and external, were enhanced to support specifying an arbitrary number of extra JNDI context parameters, using the new jndi-extra-properties child element of the jms-servers element in the adapter's configuration file. This allows a JMS adapter to connect to JMS implementations such as IBM WebSphere that require custom property settings. See the skeleton configuration file for your JMS adapter for further details on the new element.

New EBS Live XML Input Adapter

The EBS Live XML input adapter allows a StreamBase application to connect to the ICAP EBS Live data feed to receive XML-based market data. The EBS Live XML adapter is an input-only adapter, and is described in EBS Live XML Input Adapter.

Independent Logging for JMS Embedded and EBS Live Adapters

The embedded JMS Reader and JMS Writer adapters were enhanced with a new Log Level property. This allows these adapters to participate in the StreamBase logging system, but allows the adapters to have log level settings that are independent of the hosting StreamBase Server. That is, you can set the logging level for either adapter to a higher level (with more debugging messages) without increasing the logging level for the hosting server. The EBS Live XML adapter also participates in this new adapter logging feature, also providing an independent Log Level property.

TIBCO Publishing Adapter Update

The TIBCO Rendezvous Publishing Output adapter was updated with a new property that supports publishing lists of tuples. See TIBCO Rendezvous Publishing Output Adapter.

Performance Optimizations for the zip() Functions

The performance of the zip() and unzip() functions were optimized to allow efficient use in complex expressions like the following:

indexof(unzip(list(Tuple(...))).fieldPath, fieldValue[, int start])
Documentation Updates

The StreamBase documentation includes the following updates and corrections, independent of the changes above:

What Was New in StreamBase 6.4.3

Fixes

StreamBase 6.4.3 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.3 inherited the new features added to previous releases, such as the new timezoneoffset() function, through and including release 6.3.7. See What Was New in StreamBase 6.3.7 for details.

New and Updated Features

StreamBase 6.4.3 added the following updates and new features:

New FXall and LavaFX Adapters

This release includes the FXall FIX adapter and the LavaFX FIX adapter, which allow you to connect to and exchange FIX messages with the Accelor FXall FX trading infrastructure, and the trading infrastructure provided by Lava Trading Inc., respectively. See FXall FIX Adapter and LavaFX FIX Adapter for details.

New Hotspot Itch Adapter

The Hotspot Itch Input adapter allows a StreamBase application to subscribe to and receive order information from Hotspot ECN book. The Hotspot Itch adapter is described in Hotspot Itch Input Adapter and has a sample, described in Hotspot Itch Input Adapter Sample.

E-Mail Sender Output Adapter Updated

The E-Mail Sender Output adapter now supports authentication with the target SMTP server through three new properties: Use Authentication, Username, and Password. The adapter's properties were reorganized into two tabs in the Properties view, Connection Properties and Message Properties. See E-mail Sender Output Adapter.

Profiling Documentation Updated

The documentation of the StreamBase profiling feature was extensively rewritten and clarified. The mystery of the Operator Size column in Studio's Profiler view, and in the output of the sbprofile command, is now resolved. See Profiling and the reference page for the sbprofile command.

New Expression Language Functions for Milliseconds

The expression language now includes the milliseconds() and get_millisecond() functions.

New Option for Runtime Tracing

You can now specify the --traceBuffered option when setting up runtime tracing, to disable buffering of generated trace files. This slows down performance considerably, but makes it possible to use tracing as part of debugging a live application. See Runtime Tracing and Creating Trace Files for details.

Trace Browser Formatting Change

In the Trace Browser, formatted timestamps for entries are now displayed with the milliseconds portion of seconds. This helps distinguish closely occurring entries from each other.

New Property for External Process Operator

The External Process operator has a new property on its Command Arguments tab in the Properties view. The property, Command output type, specifies the data type of three fields of the output tuple: stdout, stderr, and (if enabled) cmdline. In previous releases, these fields were always of the blob data type, and that remains the default for backward compatibility. The new property allows you to specify the string data type for these fields. See Using the External Process Operator for more on this operator.

HA Sample Updated

The sample in sample/ha that demonstrates high availability design patterns was updated to illustrate an approach to a manual fallback scenario. The sample has the following changes:

  • There is a new command script, startprimaryassecondary, that restarts the primary node as the secondary.

  • The ha.app application was updated so that the HA Heartbeat adapter is restarted in the correct mode depending on the current leadership status.

  • All commands sent by an External Process adapter were moved into a module that contains RunSBAdminCommand.sbapp, which retries external commands if they fail.

  • Trace flags were added to the sbd.sbconf file to allow the use of tracing to explore the workings of the sample in detail.

What Was New in StreamBase 6.4.2

Fixes

StreamBase 6.4.2 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.2 inherited the new adapters and features added to previous releases, through and including release 6.3.6, which introduced the Deutsche Bank AutobahnFX Trading System adapter. See What Was New in StreamBase 6.3.6 for details.

New and Updated Features

StreamBase 6.4.2 adds the following updates and new features:

FX Aggregation Framework

StreamBase 6.4.2 supports the StreamBase FX Aggregation framework. You can now fully integrate the FX Aggregation framework with your trading infrastructure to support the acquisition, normalization, blending, and aggregation of market data as required for foreign exchange trading. The framework supports market data feeds from Currenex, EBS/ICAP, Goldman Sachs Electronic Trading, and UBS Investment Bank. Contact your StreamBase Systems representative if you are interested in evaluating this framework.

New Twitter Adapter

The Twitter adapter allows a StreamBase application to connect to the web service provided by Twitter, Inc. It can both send and receive Twitter status messages, commonly called tweets, and can send advanced commands and queries.

Python Client API Now Supported

The Python Client library is now included as a supported StreamBase API for building client enqueuer and dequeuer applications. Release 6.4.2 adds the following features to the Python API:

  • The Creating StreamBase Python Clients topic is now part of the API Guide, and describes how to set the PYTHONPATH environment variable to gain access to the Python Client library.

  • The API is documented in Pydoc format, linked from the first page of the API Guide, or directly from this link.

  • On 32-bit Windows, two distributions of Python are now supported:

    • The 32-bit ActivePython release 2.6 from ActiveState.

    • The 32-bit Windows binary installer for Python 2.6.x from python.org.

New Feature in HA Sample

The HA sample now includes a new test application, hbtester.sbapp, that helps you learn about the interaction of two instances of the HA Heartbeat adapter and to test different scenarios for using it. See the Running the HA Heartbeat Tester Sample section of the HA sample's documentation page.

What Was New in StreamBase 6.4.1

Fixes

StreamBase 6.4.1 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.1 inherited the adapter updates and new features added to previous releases, through and including release 6.3.5. See What Was New in StreamBase 6.3.5 for details.

New and Updated Features

StreamBase 6.4.1 added the following updates and new features:

Behavior Change: Debug Mode No Longer Enables ISD

Starting with release 6.4.1, intermediate stream dequeuing (ISD) is no longer enabled by default when launching an application in debug mode from within Studio. This change allows larger StreamBase applications to be debugged on limited memory systems, including 32-bit Windows hosts. You can still enable ISD when it is explicitly needed, as described in Intermediate Stream Dequeuing.

The ISD feature allows you to dequeue for debugging purposes from the output ports of operators anywhere in your application, not just from explicit output streams. In previous releases, ISD was enabled by default when debugging an application. When ISD is enabled, the StreamBase Server instance hosting your application consumes considerably more memory, to the point that you might not be able to successfully launch large applications.

Studio Configuration Directory Renamed

The name of Studio's configuration directory (but not the workspace directory) was renamed to include the third digit of the release number. Thus, for this release, the configuration directory is:

%APPDATA%\StreamBase\StreamBase Studio 6.4.1

On Linux, the Studio configuration directory for this release is:

~/.streambase/streambase-studio-6.4.1

This was done to avoid an Eclipse issue when upgrading from older to newer releases and reusing the same configuration directory. Studio uses the new configuration directory name automatically, and thereby avoids the issue. If you do encounter an error when adding third-party plug-ins to Studio, remove the configuration directories for the current and most recent Studio releases and restart Studio.

The configuration directory holds minor information such as the index for the Help system, and is automatically reconstructed when absent. Your StreamBase projects in your workspace directory are not affected, and you can and should re-use the workspace directory from release 6.4.0 with 6.4.1.

Studio Can Specify Module Parameters for Top-Level Module

Release 6.4.0 provided the ability to specify module parameters in the Containers tab of the Run or Debug Configurations dialog, in order to pass parameters to modules loaded in containers. Release 6.4.1 adds the ability in the Main tab to specify parameters for the top-level module run in the container named default.

Studio: Modules Drawer of Palette View Clarified

In the Modules drawer of the Palette view, module entries are no longer listed with their containing workspace folder pathnames. This cleans up the view for large applications with dozens of modules. To determine the containing folder for any module, hover the mouse over its entry in the view.

Studio: Named Schema Displays Clarified

In StreamBase Studio, in the Definitions tab of the EventFlow Editor, the display of named schemas now shows field names, data types, and field descriptions in different colors, to improve readability. For fields of type tuple and list, sub-fields are no longer shown in parentheses after the field name. Open the field's plus sign to see the field names.

Studio: Re-exported Tables Included in Outline View

Query Tables can be marked to be re-exported up the chain of modules, as described in the Tables Tab section of the Module Reference page. Starting with release 6.4.1, tables re-exported in this way are now included in the Outline view of the module that contains a module reference to a module with re-exported Query Tables.

TIBCO Embedded Adapters Now Support Field ID

The TIBCO Rendezvous Subscribing Input adapter has a new property, Find Fields by ID. If enabled, the adapter first tries to match Tibrv message fields to StreamBase fields using the Tibrv field ID, before falling back to the default name mapping mechanism. See TIBCO Rendezvous Subscribing Input Adapter for details.

The TIBCO Rendezvous Publishing Output adapter now supports publishing Tibrv fields by Field ID. See TIBCO Rendezvous Publishing Output Adapter for details.

Configuration File Module Parameters Can Now Be Enciphered

There are several ways to specify the values of module parameters, as described in Using Module Parameters. One of those methods, specifying module-parameter entries in the server configuration file, now supports the text encipherment feature that was added in release 6.3.4. See Enciphering Passwords and Parameter Values for more on the encipherment feature.

Bundled JDK Now Includes Header Files

The Sun JDK bundled for private use by StreamBase now includes the header files from that JDK in STREAMBASE_HOME/jdk/include. These are provided as a convenience for programmers and are not required or used by the StreamBase installation.

Python Client API Updates

The Python Client library is included in release 6.4 as an unsupported preview release. Release 6.4.1 adds the following features:

  • The preliminary Python Client library documentation was updated and expanded. On Linux platforms with the default installation location, open the following file: /opt/streambase/doc/apidocs/python/index.html.

    On Windows, open C:\Program Files\StreamBase Systems\StreamBase.6.4\doc\apidocs\python\index.html.

  • On Linux platforms, release 6.4.1 now includes the Python Client library built for four Python versions: 2.3, 2.4, 2.5, and 2.6. Set the PYTHONPATH environment variable to the location of the appropriate client library for the Python version on your system, as described in the above-referenced documentation.

  • The Python Client library is now included on 32-bit Windows platforms. The Windows version supports the 32-bit ActivePython release 2.6 from ActiveState. In a StreamBase Command Prompt, set the PYTHONPATH environment variable as described in the above-referenced documentation.

What Was New in StreamBase 6.4.0

Fixes

StreamBase 6.4.0 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.

Updates from Previous Releases

StreamBase 6.4.0 inherited the adapter updates and new features added to previous releases, through and including release 6.3.4. See What Was New in StreamBase 6.3.4 for details.

New and Updated Features

EventFlow Format Updated

As is standard with StreamBase releases, the XML syntax of EventFlow modules was updated to support the new features described below. When you open a module defined in a previous release in Studio 6.4 and save it, the file's format is automatically updated.

Note

Once an EventFlow module file has been saved in the 6.4 format, it can no longer be opened with previous StreamBase releases. If you are experimenting with release 6.4's new features without yet committing to an upgrade, back up your application files and use copies with 6.4. You can also import your existing Studio projects into a new, blank 6.4 workspace with FileImportGeneralExisting Projects into Workspace.

 Studio New Features 
Studio Based on Eclipse 3.4

StreamBase Studio is now based on Eclipse 3.4. This allows you to install third-party Eclipse plug-ins that support or require Eclipse 3.4, including plug-ins that add version control to Studio.

Studio UI Changes

To support the new features described below, Studio has the following changes to its user interface:

  • The EventFlow Editor has the following changes:

    • The Named Schemas tab is now named Definitions.

    • There is a new Dynamic Variables tab.

    • The Metadata tab is now the last tab.

  • In the SB Test/Debug perspective, there is now a Profiler View that shares the lower left folder with the Application Output, Application Input, and Variables views.

  • There is a new perspective, SB Trace Browser.

  • In the Run/Debug Configurations dialog, the Containers tab now supports operator parameters, and there is a new Environment tab.

Dynamic Variables Now Module Scoped

In previous releases, dynamic variables were declared in the Properties view for an operator or adapter, and their scope was the containing operator or adapter. Starting in this release, dynamic variables are declared in the new Dynamic Variables tab of the EventFlow Editor, and their scope is the containing module. See Using Dynamic Variables.

Dynamic Variable Migration

When you use release 6.4 to open a prior release's EventFlow application that contains operator-scoped dynamic variables, you may encounter one or more of the following:

  • Studio attempts to promote operator-scoped variables to module-scoped dynamic variables. During the promotion process, operator-scoped dynamic variables that have identical names, updating streams, updating expressions, and initial values are collapsed into a single module-scoped dynamic variable.

  • The attempted promotion sometimes results in a naming conflict if same-named operator-scoped variables have different settings. In this case, Studio renames conflicted variables and shows the Dynamic Variables Upgraded dialog to notify you which variables were affected.

  • In the Dynamic Variables tab of the EventFlow Editor, you might encounter a typecheck error with a message such as: In update expression for dynamic variable var-name, cannot convert expression expr-name of type double to type int. In previous releases, StreamBase inferred the data type of dynamic variables by testing the update expression. Now, variable types are inferred from the initial value. The result is that a small number of applications that passed typechecking in previous releases now fail. In these cases, use a casting function (int(), double(), and so on) to cast the initial value to the desired data type.

New Module Scoped Constants

This release adds support for constants defined at the module level. Use the EventFlow Editor's new Definitions tab to manage constants as well as named schemas and imports. You designate the value of a constant with an expression, which is calculated once, when the module is initialized. In StreamSQL, use the new CREATE CONSTANT statement to define module-scoped constants. See Defining Constants.

Import Named Schemas and Constants

This release adds the ability to import all or a selection of the named schemas and constants from another module to the current module. The modules from which you can import must be in the current module's module search path. For large, multi-module applications, this allows you to define commonly used schemas and constants in a central module, and import them from the central module as needed by other modules in the application. Manage module imports in the new Definitions tab of the EventFlow Editor. In StreamSQL, use the new IMPORT statement for the same purpose. See Manage Module Imports.

Edit Expression Window

Studio now provides an optional edit window for editing long expressions in operator and adapter Properties views. To open the edit window, click to select the expression field of interest, then click the ellipsis (three dots) on the lower left of the field, or press F2.

This opens a resizable edit window for the field, which allows you to insert returns and spaces to style the expression for readability. Spaces and returns in the expression are preserved in the EventFlow file and persist between editing sessions. The auto-completion feature introduced in release 6.3 operates as expected in the edit window. Press F1 to open the Streams and Functions tabs of the Properties view alongside the edit window.

When done, click OK or press Ctrl+Enter to save your edits and return to the Properties view.

Commenting Out EventFlow Components

This release allows you to comment out or disable a branch of an EventFlow application. You might do so when trying to isolate a problem, or you might disable portions of an application during development that are only needed at deployment time. Disabled branches appear dimmed in gray on the canvas, as in the example below. When running an application with a disabled branch, tuples do not flow through any disabled branches.

This feature is described in the Studio Reference, in the following section: Commenting Out.

New Profiler View

Release 6.2 added the ability to profile a running StreamBase application to gather statistics about the operators, threads, and streams in the application as it runs. This release add Studio support for profiling. You can now see statistics for the application currently running in Studio by opening the Profiler view in the SB Test/Debug perspective. Click Start Profiling to begin the display of statistics, which refreshes every second.

Remember that the profiling system shows meaningful statistics only for operators that have run for a while with a significant amount of data, and will show zero otherwise. Click the Include Operators with zero time button in the view's toolbar to see a row for each operator in the application regardless of the statistics gathered. See Profiling for details.

New Trace Browser

This release adds a fourth StreamBase-specific perspective to Studio, the SB Trace Browser perspective. Use WindowOpen PerspectiveOther or the Open Perspective button on the Studio toolbar to open the perspective.

Runtime tracing was added in release 6.2.1, as described in Runtime Tracing and Creating Trace Files, and provided several ways to generate a trace file that records every tuple passing through an application, optionally filtered by operator name. This release provides a new Trace Browser to open and examine trace files, and to search for patterns of interest in trace files. You must still set up for and generate your trace files as described in Runtime Tracing and Creating Trace Files. The Trace Browser only opens traces produced with release 6.4 or newer. Traces generated with earlier releases cannot be read.

Feed Simulation Editor Can Copy Schemas from Existing Streams

In the Feed Simulation Editor, in the Simulation Streams section, the Add button was replaced with two new buttons, New Stream and Copy Existing Stream. Use the New Stream button much like the old Add button to define the fields of an input stream to feed, field by field. To save time, you can instead use Copy Existing Stream to select an input stream in any module in your workspace. The selected stream and its fields are then automatically copied to the Simulation Streams table.

Asynchronous Option for External Process Operator

The External Process Operator gained a new check box, Run this command asynchronously, in the Advanced tab of its Properties view. Select this check box to run the specified command without holding any server locks. This allows you to call sbadmin shutdown and other such commands that attempt to place locks, without causing a deadlock situation. See Using the External Process Operator.

Support for Module Parameters in Launch Configurations

You can now specify values for module parameters when defining a run or debug configuration in Studio. This is only relevant for launch configurations that specify one or more containers in which to run an application's modules.

Use this feature to assign runtime values to predefined parameters. As is standard with module parameters, you must declare module parameters in the Parameters tab of the EventFlow Editor, and optionally provide a default value. Then, in the Run/Debug Configurations dialog, with a StreamBase configuration selected, select the Containers tab. Select a container row in the first table, then specify one or more parameter name and value pairs in the second table. Each parameter name must match a name you defined in the EventFlow Editor's Parameters tab.

New Environment Tab for Launch Configurations

You can now specify the settings for environment variables when defining a run or debug configuration in Studio. In the Run/Debug Configurations dialog, with a StreamBase configuration selected, select the Environment tab. You can define new, application-specific variables, or you can override or append to existing system environment variables. Use Select to show a current list of the system's environment variables, from which you can select one or more. You cannot use this feature to replace or override the STREAMBASE_HOME, PATH, STREAMBASE_JVM_ARGS, or STREAMBASE_LOG_LEVEL variables.

Project Property Changes

The StreamBase portion of the Properties dialog for projects was reorganized and clarified. To set project properties, select the top-level folder of a project in the Package Explorer, right-click, and select Properties from the context menu. The settings for the Module Search Path and Resource Search Path were split into separate child pages, and the top StreamBase page now contains explanations of the available settings. You can now specify which subfolders of the current project's folder contain modules or operator resources. Module and resource folders specified in the current project are automatically exported to any project that references the current project.

New Icon Overlays for Query Operators and Query Tables

To help distinguish the purpose of different components in the canvas for large applications, the Query operator now has an overlay icon to show whether it represents a Read, Write, or Delete operation.

Query operation type Overlay image Icon with overlay
Read open book
Write pencil
Delete eraser

Similarly, the icon for Query Tables now shows with a green dot if the table is marked Shared, or with a green triangle if the table is marked Placeholder. Standard tables marked Private have no overlay.

Studio Now Adds STREAMBASE_HOME to Classpath Variables

Studio now automatically adds a classpath variable named STREAMBASE_HOME to the Eclipse Classpath Variables preferences in WindowPreferences, then JavaBuild PathClasspath Variables. You can then use the variable when setting paths to libraries and JAR files to be included in a project's Java Build Path. For example, include STREAMBASE_HOME/lib/sbclient.jar.

The variable's setting is generally the same as the environment variable of the same name, but its value is taken from the StreamBase Installation Location setting on the StreamBase Studio preferences page. If you change the path setting on that preferences page, the classpath variable automatically updates to match.

New Option for Aggregate Operator

In the Properties view for the Aggregate operator, the Group Options tab now has a self-explanatory check box, Omit Group By fields in output.

Studio Now Runs 64-bit Server on 64-bit Windows

On 64-bit Windows systems, with the 64-bit Windows StreamBase overlay kit installed, Studio now runs the 64-bit version of StreamBase Server by default. To override this default, customize a run or debug launch configuration and check the Use 32-bit StreamBase Server check box on the Main page of the launch configuration dialog.

New StreamBase Manager Feature

The StreamBase Manager utility gains a new Streams view in this release. This view shows, for the currently connected application, all input and output streams with a count of tuples that have passed through each stream. As with other StreamBase Manager views, the Total column counts tuples passed since monitoring began, while the Latest column counts tuples in the most recent snapshot interval. See TIBCO StreamBase Manager.

A Streams view was added to the console-based sbmonitor utility in release 6.3. This change in StreamBase Manager brings the two monitoring utilities back to parity.

 Runtime New Features 
Extended Support for Setting Module Parameter Values

This release adds several new ways to assign runtime values to module parameters, which must be already declared in the module. Declare module parameters in the Parameters tab of the EventFlow Editor, and optionally provide a default value. In StreamSQL, use the CREATE PARAMETERS statement.

The new ways to assign module parameter values are:

Module Parameters in Configuration File

This release introduces the module-parameters child element of the application element of the server configuration file. Each module-parameters element can have one or more parameter elements, which have name and value attributes. The parameter value is passed to the top-level module loaded in the container. For example:

<application file="example.sbapp"
  container="instance1" datadir="" enqueue="ENABLED"
  dequeue="ENABLED" suspend="false">
  <module-parameters>
    <parameter name="outputfile" value="instance1.csv"/>
  </module-parameters>
</application> 

This new element sets values for module parameters, which have scope in the module in which they are declared.

By contrast, the existing operator-parameter element creates and sets values for global parameters that have scope in all modules running on the current StreamBase Server instance.

New Option for the sbadmin Command

The sbadmin addContainer command was extended to support a new option: --parameter=paramName=paramValue.

New Option for the sbargen Command

The sbargen command was extended to support the -P or --parameter options, which take a paramName=paramValue argument. This allows you to specify runtime values for module parameters when generating a runnable StreamBase archive (.sbar) file.

Client API Changes

In class StreamBaseAdminClient, the addContainer() method now supports the --parameter option, which takes a paramName=paramValue argument. (See API Changes for more.)

Changes to Runtime Tracing

Runtime tracing allows you to generate tuple trace files as described in Runtime Tracing and Creating Trace Files. This feature was changed to generate two trace files. The trace file itself now has an .sbtrace extension. The command also generates a trace metadata file with .sbtrace-meta extension, which is used by the new Trace Browser described above.

You can now specify that trace files are automatically compressed with Gzip by adding the new --traceCompress option to the sbadmin command that generates your trace files. In this case, the trace file is generated with .sbtrace.gz extension. The new Trace Browser automatically unzips compressed trace files when reading them.

New Metadata Qualifier for Query Table Output Settings

In the Query operator, when configured for a read operation, you can specify the fields output from the operator with expressions specified in the Output Settings tab. This release adds a new qualifier, metadata, that can be used as part of such expressions when the associated data construct is a Query Table. You can also use the metadata keyword with some of its values in the lookup expression for the read query. The accepted values for metadata are the following:

  • metadata.rowNumber

  • metadata.tableModificationCount

  • metadata.rowModificationCount

The metadata values are explained in The metadata Qualifier in the Query operator's topic.

New Property to Redirect Stack Traces for Java Operators

There is a new Java property, streambase.java-operator.stacktrace-on-warn that can be specified either with the jvm-args or sysproperty elements in the server configuration file. When set to true, exception stack traces from Java operators and adapters are displayed on the server's console.

Expression Language Updates

The append() function was extended to accept more than one list element to append to its argument list. See append().

StreamSQL Syntax Updates

In addition to the new CREATE CONSTANT and IMPORT statements described above, the syntax of StreamSQL has the following changes:

  • When using APPLY MODULE, you can now omit the .sbapp file extension, resulting in statements such as APPLY MODULE myapp;.

  • In the CREATE WINDOW statement, you can now specify TUPLES PARTIAL to designate a partial window. The TIME and VALUES windows are partial by default.

 Frameworks Support 
Support for Smart Order Routing Framework

The StreamBase Smart Order Routing Framework is validated with, and fully supports, release 6.4. Contact StreamBase Systems for more information.

 Behavior Changes 
Studio Now Automatically Saves Launch Configurations

In previous releases, Studio's Run and Debug functions had default settings, and you created a launch configuration manually when you wanted to specify non-default settings for a particular run or debug session.

Starting with release 6.4.0, a new launch configuration is automatically created for you the first time you run or debug a module, with the configuration taking the name of the top-level application being run. The next time you run or debug that module, Studio reuses the saved launch configuration. These launch configurations are created with default settings, and you can edit or copy them to specify custom settings.

Some Typecheck Errors Not Marked in EventFlow Canvas

There is now a class of typecheck errors that cannot be marked on the EventFlow canvas with color changes, including global application errors that are not assigned to any particular component. In these cases, Studio flags the application's tab in the EventFlow Editor with a red X, and shows a message across the top of the canvas reminding you to look in the Problems view for details on the error.

Resources Folder No Longer Special

In StreamBase releases 3.7 and earlier, Studio project folders always contained a subfolder named Resources that was automatically placed in the current project's operator resource search path. Starting with release 5.0, a StreamBase-specific project directory structure was no longer required, but, for compatibility with imported projects from earlier versions, Studio continued to honor the special meaning of any project subfolder named Resources. However, starting with release 6.4.0, subfolders named Resources are no longer automatically placed in the operator resource search path.

Studio Configuration Folder on Windows Renamed

As a consequence of moving to Eclipse 3.4, the configuration folder for StreamBase Studio has a name change. The location for StreamBase 6.3 and earlier was:

%APPDATA%\StreamBase\StreamBase Studio n.m Configuration

where n.m is the release number. Starting with release 6.4, the configuration folder is now:

%APPDATA%\StreamBase\StreamBase Studio n.m

For Linux, the new configuration folder location is:

~/.streambase/streambase-studio-n.m
 Adapter Changes 

Release 6.4 includes all the new adapters and new adapter features introduced since the release of 6.3.0.

See What Was New in StreamBase 6.3.4 for details on the following adapter changes:

  • New TIBCO Rendezvous Subscribing Input Embedded Adapter

  • New TIBCO Rendezvous Publishing Output Embedded Adapter

  • New Vhayu Subscription Adapter

  • JMS Adapter Gains Reconnection Features

  • Hotspot FX Adapter Updated

  • Reuters SFC Adapter Updated

See What Was New in StreamBase 6.3.2 for details on the following adapter changes:

  • New Lime Citrius Quote Adapter

  • CSV File and Socket Input Adapters Now Accept Character Entities

  • New Feature for CSV File Writer Adapter

See What Was New in StreamBase 6.3.1 for details on the following adapter changes:

  • New UBS FX2B FIX Adapter

  • New Goldman Sachs Electronic Trading FX Adapter

  • New Feature in Reuters RMDS Subscribing Adapter

  • New Feature in Reuters SFC Adapter

  • Wombat Adapter Supports List Data Type

  • CSV File Writer Adapter Supports File Compression

 API Changes and Compiler Support  
API Changes

The Java Client library was extended with the following methods. See the Javadoc documentation for details on these additions.

  • Class Operator has a new method, getResourceFile().

  • In class StreamBaseAdminClient, the addContainer() method now supports the --parameter and --traceCompress options.

  • In class StreamBaseAdminClient, the modifyContainer() method now supports the --traceCompress option.

New Key-Value Control Type for Operators and Adapters

You can now specify a Java.util.LinkedHashMap when defining controls for a custom Java operator or adapter. Studio displays these controls as a grid where the end-user can specify key-value pairs as parameters for your operator or adapter. To add a control of this type with the New StreamBase Java Operator or New StreamBase Embedded Adapter wizards, select Map <String, String> from the property drop-down list in the New Operator/Adapter Property dialog.

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_12. 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.

Visual C++ 9.0 Supported for Client Applications on Windows

StreamBase now supports building C++ client applications for Windows using Visual C++ 9.0, a component of Microsoft Visual Studio .NET 2008. See Configuring Visual C++ for setup instructions.

This support is in addition to the existing Windows compiler support. Thus, StreamBase now supports three compilers for building C++ clients for 32-bit Windows:

  • Visual Studio .NET 2003 (Visual C++ 7.1)

  • Visual Studio .NET 2005 (Visual C++ 8.0)

  • Visual Studio .NET 2008 (Visual C++ 9.0)

For 64-bit Windows, you can build C++ clients with Visual C++ 8.0 or 9.0.

G++ Version Support on Linux

StreamBase requires G++ 3.4 through 4.2 for building C++ clients or custom functions on UNIX. StreamBase does not support building clients or custom functions with G++ 4.3, which is the default compiler on newer Linux distributions. On such distributions, install GCC and G++ 4.2, and set the CC and CXX environment variables before building StreamBase C++ code, including StreamBase samples that include C++ code. For example:

export CC=gcc-4.2
export CXX=g++-4.2
New Python Client API (Currently Unsupported)

As an unsupported feature, Linux installations of StreamBase now include a Python version of the StreamBase Client library. Advanced users who wish to use this version of the API can find documentation in /opt/streambase/doc/apidocs/python. The Python API is provided without support, and issues reported with this API cannot be addressed at this time. This feature is provided for the benefit of early adopters, and is subject to change based on customer feedback.

StreamBase 6.3.x Release History

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

What Was New in StreamBase 6.3.13

New and Updated Features

StreamBase 6.3.13 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.13 fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

This release also included the following update:

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.

New Properties to Control the System.stat Stream

This release adds a Java system property streambase.runtime.send-zero-stats. The default setting is true, which means the stat stream of the system container includes tuples with zero values. Set this property to false to exclude zero value tuples from the system.stat stream. This excludes zero value tuples from consideration in the statistics shown by StreamBase Monitor and StreamBase Manager.

The streambase.max-stat-tuples-cache property controls the default size of the system.stat stream's tuple cache, which grows dynamically as needed by the application. You can control the stat stream's cache size by setting an integer value for this property, which specifies a maximum number of tuples. The default value of –1 means the stat stream cache can grow as large as needed, limited only by available memory.

Thread Count Now Shown in Sbmonitor

The second row at the top of the StreamBase Monitor screen now includes a new statistic, Thr. This reports the number of threads in the JVM hosting the connected server.

What Was New in StreamBase 6.3.12

New and Updated Features

StreamBase 6.3.12 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.12 was a maintenance release that fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.11

New and Updated Features

StreamBase 6.3.11 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.11 fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

This release also included the following updates:

Updates and New View for sbmonitor

The sbmonitor utility was updated to provide more detail in the Queues view, and to use moving averages in its statistics. The display also gained a new Sync Threads view, and a new command, U, that toggles on and off the updating of the display. For details, see StreamBase Monitor.

What Was New in StreamBase 6.3.10

New and Updated Features

StreamBase 6.3.10 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.10 fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

This release also includes the following new features and updates:

New Alpha Trading Systems EMAPI Order Entry Adapters

The StreamBase Alpha Trading System EMAPI Order Entry adapter allows a StreamBase application to submit trade requests to the Alpha Trading System venue. The adapter appears as two icons on the EventFlow canvas in StreamBase Studio: an output adapter for sending orders, and an input adapter for receiving order status updates from the venue. These adapters are described in Alpha Trading Systems EMAPI Order Entry Adapter and have a sample, described in Alpha Trading System EMAPI Order Entry Adapter Sample.

New Alpha Trading Systems EMAPI Market Data Feed Adapter

The StreamBase Alpha Trading System EMAPI Market Data Feed (MDF) Adapter allows a StreamBase application to subscribe to market data from from the Alpha Trading System venue. You can configure one to thirteen Alpha output flows as separate output ports for the adapter. For some of these output flows, Alpha supports replay capability, snapshot capability, or both. This adapter is described in Alpha Trading Systems EMAPI Market Data Feed Adapter and has a sample, described in Alpha Trading System EMAPI Market Data Feed Adapter Sample.

Update for CSV and Binary File Writer Adapters

The CSV File Writer and Binary File Writer adapters were updated to prevent two or more instances of either adapter from writing to the same file simultaneously. Application authors should be aware that this change does not prevent a non-StreamBase external application from writing to the same file being written to by these adapters.

Update for the CSV File Reader Adapter

The CSV File Reader adapter now reports a failure to open its specified CSV file on its optional event port.

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

What Was New in StreamBase 6.3.9

New and Updated Features

StreamBase 6.3.9 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.9 was a maintenance release that fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.8

New and Updated Features

StreamBase 6.3.8 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.8 was primarily a maintenance release that fixed several product limitations as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

This release also included the following updates:

Better Tracking of Description-Only Changes in Studio

StreamBase Studio now flags the current canvas as changed (and thus needing to be saved) for text-only changes in the Description field for components, including Notes. Studio does not run a typechecking pass when it detects changes only in Description fields.

Documentation Updates

The StreamBase documentation includes the following updates and corrections:

What Was New in StreamBase 6.3.7

New and Updated Features

StreamBase 6.3.7 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.7 added the following updates and new features:

New timezoneoffset() Function

The StreamBase expression language now includes the timezoneoffset() function, which returns a signed interval timestamp that expresses the number of hours that the local time zone is offset from UTC. You can subtract the return of timezoneoffset() from any absolute timestamp value to generate a new absolute timestamp that represents the same moment in the UTC time zone. See timezoneoffset() for examples and other uses of the function.

New Property to Preserve Studio Launch Directory

There is a new Java property, streambase.ide.leave-launch-tempdir, that you can add to the startup configuration of StreamBase Studio by means of the STREAMBASE_STUDIO_VMARGS environment variable. When set to true, this property instructs Studio to preserve the temporary directories it creates every time you run or debug an application in Studio. This allows you to inspect and debug the temporary sbd.sbconf file that Studio generates when running applications.

Studio's temporary directories are created in the directory defined with the Java system property java.io.tempdir, which is typically /tmp or /var/tmp on UNIX and C:\TEMP on Windows. The temporary directories are named sbstudio-session-nnnn, where nnnn is an integer generated for each run.

C++ Samples Updated

Starting with this release, StreamBase samples that provide a Makefile to build C++ code were updated to work with a simple make command without options. The make -e workaround suggested in the 6.3.6 notes below is no longer necessary, and the Makefiles from these samples can once again serve as models for your own projects that use the StreamBase C++ API.

Documentation Updates

The Administration Guide topic on Server Background Mode and Logging has a new section that describes the requirement to use full, absolute paths to specify any file system resources when running StreamBase Server in background mode with sbd -b. See Specifying Paths When Using the Default Working Directory. The same page has another new section that clarifies the setup of syslogd on UNIX.

Fixes

StreamBase 6.3.7 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.6

New and Updated Features

StreamBase 6.3.6 inherited the adapter updates and new features added to previous releases, through and including release 6.2.5. See What Was New in StreamBase 6.2.5 for details.

StreamBase 6.3.6 adds the following updates and new features:

New Deutsche Bank AutobahnFX Adapter

This release includes a new embedded adapter, the Deutsche Bank AutobahnFX Trading System adapter, which allows a StreamBase application to retrieve market data from, and submit trade requests to, a Deutsche Bank AutobahnFX trading system. See Deutsche Bank AutobahnFX Trading System Adapter for details, and see the adapter's sample, described in Deutsche Bank AutobahnFX Trading System Adapter Sample.

FIX Adapter Can Now Retrieve FIX Sequence Numbers

The FIX adapter was updated with a new command for the command port that can be used to retrieve the next incoming and outgoing message sequence numbers. See the Get Next MsgSeqNums command in the Input Ports section of the FIX adapter's documentation page.

HA Heartbeat Adapter Updated

The HA Heartbeat adapter was updated and now accepts new commands on its input port and emits a larger set of event strings on its output port. These changes are described in HA Heartbeat Input Adapter.

Bundled JDK Now Includes Header Files

The Sun JDK bundled for private use by StreamBase now includes the header files from that JDK in STREAMBASE_HOME/jdk/include. These are provided as a convenience for programmers and are not required or used by the StreamBase installation.

New Property to Redirect Stack Traces for Java Operators

There is a new Java property, streambase.java-operator.stacktrace-on-warn that can be specified either with the jvm-args or sysproperty elements in the server configuration file. When set to true, exception stack traces from Java operators and adapters are displayed on the server's console.

C++ Version Support on Linux

For building C++ clients or custom functions on Solaris and Linux, StreamBase requires G++ 3.4 through 4.2 . StreamBase does not support building clients or custom functions with G++ 4.3, which is the default compiler on newer Linux distributions. On such distributions, install GCC and G++ 4.2, and set the CXX environment variable before building StreamBase C++ code, including StreamBase samples that include C++ code. For example:

export CXX=g++-4.2
CXX Variable Now Honored by sb-config --cxx on Linux

On Linux, the sb-config -cxx command now honors (but does not validate) the setting of the CXX environment variable. On a Linux system where the default C++ compiler is G++ 4.3, sb-config --cxx normally returns the path to the G++ 4.3 compiler, unless you set the CXX environment variable as described in the previous note. For example, with default settings:

`sb-config --cxx` --version

returns

g++ (distro build info) 4.3.3

But if you first set the CXX environment variable, the same command returns the correct G++ version to use for building StreamBase code:

export CXX=g++-4.2
`sb-config --cxx` --version

returns

g++ (distro build info) 4.2.4

To take advantage of this new feature when building the C++ samples shipped with StreamBase, use the make -e command instead of just make. As an alternative, with the CXX variable set as described above, use the following variation:

make CXX=`sb-config --cxx`

Fixes

StreamBase 6.3.6 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.5

New and Updated Features

StreamBase 6.3.5 included 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_12. 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.

FIX Adapter: Certain Values Read from Configuration File If Null

If your FIX adapter's configuration file contains exactly one pair of values for SenderCompID and TargetCompID, you can now send null values for those fields when sending administrative messages to the command port. The adapter now reads the null values as a trigger to obtain the values for those two fields from the configuration file.

FIX Adapter: New Commands for the Command Port

Two new commands were added to the FIX Input Adapter's Command port: SetSenderMsgSeqNum and SetTargetMsgSeqNum. These allow you to explicitly set the FIX message sequence number of outgoing and incoming messages, respectively. Note that with the SetSenderMsgSeqNum command, no SequenceReset (MsgType=4) message is emitted. The command only sets the adapter's expected next sequence number for incoming messages.

FIX Adapter: Custom Admin Message Interceptor Class

Certain FIX venues require the addition of custom fields to FIX administrative messages to be considered valid. For example, a venue may require that a Username and Password fields be added to Logon messages for certain FIX versions.

This release provides a way to add such custom fields manually, by making available to the adapter a custom interceptor class that will be responsible for adding the fields before administrative messages are sent. The FIX adapter topic in the Adapters Guide describes this new feature and provides sample code for the custom interceptor class. See Implementing a Custom Admin Message Interceptor Class.

FIX Adapter: CameronFIX Libraries Updated

The CameronFIX libraries that support the CameronFIX engine were updated to Cameron release 6.3.

TIBCO JAR File Included in Base Kit

To support the TIBCO Rendezvous Subscribing Input and Publishing Output adapters, the StreamBase installation kit now includes version 8.1.2 of the tibrv.jar JAR file from TIBCO that implements the TIBCO Rendezvous Java API.

CSV File Writer Adapter's Property View Reorganized

The properties for the CSV File Writer adapter were reorganized across four tabs in the adapter's Properties view. No new functionality was added.

Copy Field Names from Compare Schemas Dialog

When using the Compare Schemas dialog, you can now select any line, then right-click and select a copy command from the context menu to place the current field name in the system clipboard. Select Copy Field Name for simple fields. Select Copy Qualified Field Name to copy an element of a list in the form list-name.element-name, or to copy a member of a tuple with the form tuple-name.field-name.

Feed Simulation Now Supports Bzip2 Compression

When using Data File generation method for feed simulations, the feed simulator can read input data files compressed with zip or gzip. This release add bzip2 compression to the recognized compression methods. The extension for input data files must be .zip, .gz, or .bz2, respectively, for the three supported compression methods. Compression with bzip2 can result in significantly smaller files, but at the cost of slower reading times.

New API for Operator Property Deprecation

In the StreamBase Java Client library, the SBPropertyDescriptor class has three new methods: deprecated(), IsDeprecated(), and setDeprecated(). These provide a mechanism to deprecate a property for custom operators and adapters. Deprecated properties do not appear in the Properties view for the operator or adapter, but existing modules with that property set can still be used.

New Property to Redirect Stack Traces for Java Operators

There is a new Java property, streambase.java-operator.stacktrace-on-warn that can be specified either with the jvm-args or sysproperty elements in the server configuration file. When set to true, exception stack traces from Java operators and adapters are displayed on the server's console.

Documentation Updates

The StreamBase documentation includes the following updates and corrections, independent of the changes above:

Fixes

StreamBase 6.3.5 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.4

New and Updated Features

StreamBase 6.3.4 included the following updates and new features:

New Feature: Enciphering Passwords and Parameter Values

This release adds the ability to encipher passwords and the value of certain name-value pairs in the StreamBase Server configuration file so that they do not appear as clear text in the file. You encipher text values by means of the new sbcipher command, as described in the feature's new page, Enciphering Passwords and Parameter Values. The reference page for the server configuration file was updated to describe the new enciphered="true" attribute.

New Feature: Improved Support for Stored Procedures

For several releases, StreamBase has supported calls to SQL stored procedures and stored functions to the database defined in its JDBC data source. This release adds support for certain databases such as Oracle that require special handling of the result sets returned from stored procedures. This new feature is described on Using Stored Procedures and on the page for the Query operator.

New TIBCO Rendezvous Subscribing Input Adapter

This release introduces the TIBCO Rendezvous Subscribing Input adapter, which is an embedded adapter that allows a StreamBase application to receive messages published to one or more Rendezvous subjects. This adapter complements the TIBCO Rendezvous External adapter, which remains available. The existing external adapter requires Rendezvous 7.2, whereas the new embedded adapter is Java-based, and is implemented by means of a TIBCO-supplied Rendezvous JAR file. This allows the new adapter to support the versions of Rendezvous supported by the TIBCO JAR file. The new adapter is described on TIBCO Rendezvous Subscribing Input Adapter.

New TIBCO Rendezvous Publishing Output Adapter

The TIBCO Rendezvous Publishing Output Adapter allows a StreamBase application to publish Tibrv messages to one or more Rendezvous subjects. Like the new Rendezvous input adapter, the output adapter is Java-based, and is implemented by means of a TIBCO-supplied Rendezvous JAR file, which allows you to determine what versions of Rendezvous the adapter will support. The new adapter is described on TIBCO Rendezvous Publishing Output Adapter. There is a new sample that illustrates the use of both new TIBCO adapters, described in TIBCO Rendezvous Adapter Sample

New Chronicle for Vhayu Subscription Adapter

This release includes a new Chronicle for Vhayu Subscription adapter, which allows you to subscribe to subjects on a Vhayu Velocity server (or on a Reuters RTCE server, which is based on Vhayu Velocity). This adapter complements the existing Chronicle for Vhayu Query adapter.

JMS Adapter Reconnection

The JMS Reader and JMS Writer adapters, in both embedded and external forms, can now be configured to attempt reconnections to the JMS server, and to pause and resume the conversion of messages on JMS destinations to tuples. These new features are described in JMS Input and Output Adapters.

Hotspot FX Adapter Updates

The Hotspot FX adapter was updated to support version 4.9.6 of the Hotspot FX API. The changes include:

  • Two new control adapter output streams were added, MinMDSize and HotspotVersion.

  • The data type of certain fields in the schemas of some output streams was changed. This primarily affected the various *Id fields such as extPriceId, orderId, requestId, and so on.

Because of these changes, if you have an application that uses the Hotspot FX adapter, it may fail typechecking the first time you open the application in release 6.3.4. The typechecking error messages will lead you to the fields whose data types need changing. Once you have made the corrections suggested by the typechecking messages, the adapter runs normally.

Reuters SFC Adapter Updated

The 32-bit Linux version of the Reuters SFC External adapter was recompiled with the latest version of the SFC libraries from Reuters. This fixes the following bugs, shown with their tracking numbers in the Reuters bug tracking system. The adapter is otherwise unchanged.

  • Service Request: 1-3399038389 Crash when using subscribing app with SFC 4.5.3.

  • Service Request: 1-3430202500 Updates stop flowing in but images are still returned.

StreamBase Studio: New Layout File Warning Dialogs

Studio was enhanced to prompt about the presence or absence of layout files. This might occur in two cases:

  • When opening an EventFlow application file that has an associated layout file, where the current Studio preference setting disables the saving of separate layout files. This might occur when opening a Studio project created on a different machine where saving separate layout files was enabled.

  • With the current Studio preference set to always save layout files, when opening an EventFlow application file that does not have an associated layout file.

See EventFlow Layout Options for more on Studio's layout options.

StreamBase Studio: Update to Auto-Completion

In Studio's auto-completion feature (described on Expression Auto-Completion and Content Assistance), an information window on the right provides details about the selected item. This window was enhanced to describe the element types of lists in input fields of type list, and to describe the schemas of input fields with type tuple.

G++ Version Support on Linux

StreamBase requires G++ 3.4 through 4.2 for building C++ clients on UNIX. StreamBase does not support building clients or custom functions with G++ 4.3, which is the default compiler on newer Linux distributions. On such distributions, install GCC and G++ 4.2, and set the CC and CXX environment variables before building StreamBase C++ code, including StreamBase samples that include C++ code. For example:

export CC=gcc-4.2
export CXX=g++-4.2
Documentation Updates

The StreamBase documentation includes the following updates and corrections, independent of the changes listed above:

Fixes

StreamBase 6.3.4 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.3

New and Updated Features

StreamBase 6.3.3 included the following update:

StreamBase Server Run as a Windows Service with Authentication

In release 6.2 and earlier, you could run StreamBase Server as a Windows service, and could also use the StreamBase authentication system when connecting to that server. In releases 6.3.0 through 6.3.2, architectural changes to the server prevented these features from working together. Release 6.3.3 restores the ability to use these features together by providing new Windows registry settings. See Configuring Windows Service with Authentication for instructions.

What Was New in StreamBase 6.3.2

New and Updated Features

StreamBase 6.3.2 included the following updates and new features:

Support Added for Re-Exporting Shared Query Tables

In previous releases, you could mark a Query Table with the Shared attribute, which makes the table visible to Query operators in modules one level higher. Starting with this release, you can now re-export the shared table from module to module, up the chain of nested modules to any depth.

Thus, if module A has a Query Table marked Shared, and module B contains module A, then module B's Query operators can access the table in module A. But in previous releases, that is as far as the sharing went, up one level higher.

Now, if module C contains module B, Query operators in module C can access the table in module A, two levels down. Likewise, if module D contains module C, it can also access the table in module A, and so on up the chain of nested modules.

To support this new feature, the Properties view for Module References has a new feature. The Table Associations tab was renamed the Tables tab, and it now contains a Re-export shared tables control in addition to the existing Associate placeholder tables control. This new control is discussed on the Module Reference Properties page.

New Lime Citrius Quote Adapter

This release includes a new adapter that allows a StreamBase application to subscribe to and receive market data from Lime Brokerage's Citrius Quote delivery system. This adapter is described on Lime Citrius Quote Input Adapter.

CSV File and Socket Input Adapters Now Accept Character Entities

The CSV File Input adapter and the CSV Socket Input adapter were enhanced to accept HTML character entities in the form &#nnn when specifying the field delimiter in StreamBase Studio. This allows you to specify tab-delimited CSV files with &#9, or to specify any other non-standard character as the field delimiter.

New Feature for CSV File Writer Adapter

The CSV File Writer adapter contains a new property, Check for Roll at Startup. If enabled, it causes the adapter to roll the output file at adapter startup if, based on the file's last modification time, the configured roll period, and the current time, the file would have been rolled before the adapter was started.

Fixes

StreamBase 6.3.2 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.1

New and Updated Features

StreamBase 6.3.1 included the following updates and new features:

New UBS FIX Adapter

This release introduced a new adapter that allows a StreamBase application to connect to UBS Investment Bank's FX trading infrastructure using the FX2B API, and to exchange FIX messages with it. See UBS FIX Adapter.

New Goldman Sachs Electronic Trading FX Adapter

This release introduces the Goldman Sachs Electronic Trading FX adapter that allows a StreamBase application to connect to a Goldman Sachs Electronic Trading FX platform using the FIX protocol, and to exchange FX trade and price information with it via FIX messages. See Goldman Sachs Electronic Trading FX Adapter.

New Feature in Reuters RMDS Subscribing Adapter

The Reuters RMDS Subscribing adapter now supports meta tuples (the so-called thin tuples). The adapter's properties were reorganized into three tabs in the Properties view. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

New Feature in Reuters SFC Adapter

The Reuters SFC external adapter now supports an optional MessageType field in both the fat-tuple and meta-tuple (thin tuple) handlers.

Wombat Adapter Supports List Data Type

The Wombat adapter was updated to add support for the list data type, which was added in release 6.3.0.

CSV File Writer Adapter Supports File Compression

Release 6.3.0 added support for file compression to four adapters, as described in the 6.3.0 Adapter Changes section. Release 6.3.1 adds file compression support to a fifth adapter, the CSV File Writer adapter. This adapter gains a new Compress data check box in its Adapter Properties tab in the Properties view. Select this check box to specify that the output file is to be stored in gzip format with the .gz file extension. See CSV File Writer Output Adapter.

Feed Simulation Editor Dialogs Remember Size

When using the Feed Simulation Editor, if you resize the Data File Options dialog or the JDBC Data Source Options dialog, Studio now saves and restores the new size when you next open those dialogs.

New Option for the sbbundle Command

The sbbundle command now supports the -i option, which you can use to specify a comma-separated list of path names to ignore when generating a StreamBase bundle file. This is especially useful when working on a version-controlled working directory, to exclude the version control system's metadata files or directories from the bundle. For example, sbbundle -i .svn ...

New Operator.size() Method

The Operator class in the StreamBase Client API was enhanced with the size() method, which returns the current size of the operator. The value of size() will be displayed in sbmonitor's Size column. In your custom operators, you can override this method to display the size of an important data structure, such as the size of a queue. Returns 0 by default.

Documentation Updates

The page for the New Embedded Adapter Wizard was rewritten, and now describes the relationship between adapter properties and the GUI controls generated for each property. See Using the StreamBase Embedded Adapter Wizard.

The page for the Wombat MAMA Input adapter was updated with a section describing how to dynamically subscribe to symbols and how to react to timeouts. See Wombat MAMA Input Adapter.

Fixes

StreamBase 6.3.1 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

What Was New in StreamBase 6.3.0

New and Updated Features

 Platform Changes 
Java 6 Now Required

As of release 6.3, both StreamBase Server and StreamBase Studio must be run with a Java 6 JDK. StreamBase has shipped with an embedded Java 6 JDK for all supported platforms since release 6.0. In releases 6.0 through 6.2, you could override the embedded JDK with a supported Java 5 version. However, as of release 6.3, neither StreamBase Server nor StreamBase Studio starts if you try to use a Java 5 JDK.

The StreamBase Client API still supports using Java 5 to develop StreamBase extensions (custom operators, adapters, client applications, and monitor applications). This is to support using custom StreamBase code that integrates with third-party libraries that require Java 5. See Using Java 5 for instructions on setting your Java extension projects in Studio to use Java 5. If you are starting a new project or have no third-party dependencies, StreamBase Systems recommends using a supported Java 6 JDK to develop your client code.

New Platform Supported

StreamBase Server and Studio now support 64-bit Windows Server 2008.

New Installation Documentation for Linux and Solaris Platforms

The documentation pages for Installing on Linux and Installing on Solaris were reorganized and rewritten to describe the new shell script wrapper installers for those platforms.

 New List Data Type 
List Data Type Added

Starting with release 6.3.0, StreamBase gains the list data type. A list is an ordered collection of values of a particular data type. The number of elements in a list is determined at application runtime. See list Data Type for an overview.

List-Related Functions Added to Expression Language

To support the list data type, the following new functions were added to the StreamBase expression language:

Studio Enhancements to Support Lists

StreamBase Studio was enhanced to display data of type list in all contexts in which schemas are displayed, including the Application Output view, the Streams tab of the Properties view, the Debugger Variables view, in the Feed Simulation editor, and elsewhere. The Edit Schema tab in the Properties view for various components fully supports adding list data.

You can now use the Manual Input view to send data to a stream that contains lists, using either the default list view, like the following example:

or using list array notation with comma-separated values:

See below for more Manual Input view enhancements in this release, and see Manual Input of Data for details.

New Iterate Operator for EventFlow Applications

  In Studio, the Operators drawer of the Palette view includes the new Iterate operator. Use the Iterate operator to specify a field of type list in an incoming stream, for which the operator will output one tuple for each element in that list. Since list fields can contain a varying number of elements for each tuple, this operator effectively resolves each incoming tuple into multiple outgoing tuples, each of which has the same schema as the incoming tuple, but with one new field prepended by the Iterate operator. The prepended field has the same data type as the list element type of the specified list field in the incoming tuple. The added field is populated with each element of the specified incoming list, in list order, one per outgoing tuple. For more on the Iterate operator, see Using the Iterate Operator.

New FOREACH Clause for SELECT in StreamSQL Applications

In StreamSQL applications, use the new FOREACH clause of the SELECT statement to perform the same task as the Iterate operator, described above. See SELECT Statement.

New Custom Function Resolvers for List and Tuple Data Types

Your custom functions can return list and tuple data types, and can use arguments of list and tuple types, by writing a custom function resolver. When you generate code for a new custom function using Studio's New StreamBase Java Function dialog, the generated Java code includes stubs for custom function resolver classes. Custom C++ functions support list and tuple argument and return types by means of extensions to the XML syntax of the args and returns elements of the custom-functions section of the server configuration file. Both Java and C++ features are explained in Custom Functions with Complex Data Types.

 Developer Productivity Enhancements 
String Field Lengths Removed

The StreamBase string data type no longer has a fixed size, and no longer requires a length specification. Each string itself, of course, still has a specific length at runtime. However, string fields no longer need to be specified with a fixed character size. String length specifications in existing expressions are still accepted for backward compatibility, but are ignored. See also Consequences of String Length Removal in the Behavior Changes section below.

Auto-Completion When Editing Expression Fields

In the Properties view, when editing a field that accepts an expression, you can now type Ctrl+Space to initiate expression auto-completion. This feature is similar to the existing auto-completion in the StreamSQL editor. If the field is empty when you type Ctrl+Space, the auto-completion list shows the names of stream fields you can enter, as well as a list of all functions and operators in the expression language. If you type a few letters, then type Ctrl+Space, auto-completion shows you the expression language functions that match those letters.

See Expression Auto-Completion and Content Assistance for more on auto-completion.

Properties View Function Assistance Overhauled

The Functions and Expression QuickRef tabs of the Properties view's Expressions pane were thoroughly reworked to provide useful function assistance for the auto-completion feature. The syntax for each function was compared to its source code. Errors in function syntax were corrected and descriptions were clarified. Syntax listings now show brackets around optional arguments, and spaces between arguments. The Show in Help links for each function now directly opens the Help section for that function.

Expression Language Documentation Renovated

The documentation for the expression language and its functions was thoroughly revised for this release. The Expression Language page was split into two, one for StreamBase Expression Language Features, the other for the functions themselves, StreamBase Expression Language Functions. All functions now show syntax and return types, and many functions have new, tested examples. The descriptions for all timestamp-related functions were rewritten and updated, with tested examples provided. Two functions added in previous releases are now documented: length() and regexmatch_ignorecase().

The StreamBase Data Types page was expanded, with new descriptions for all data types, and corrections for the timestamp Data Type. The StreamBase Expression Language Features page includes a new section, Evaluating Expressions with sbd --eval with examples showing how to test your expressions at the command prompt before using them in an application.

New Schema Compare Feature in Studio

Select two arcs or two streams in an EventFlow canvas or in the Saved Schemas view by holding down the Ctrl key as you select. Then right-click and select Compare Schemas from the context menu to display the Compare Schemas dialog. See Compare Schemas.

New Insert Operator Feature

You can now quickly insert a Filter, Map, Split, or Union operator between two existing components with a single operation. Select an arc in an EventFlow, right-click and select Insert Operator from the context menu. This menu has a secondary menu from which you can select the operator you want to insert. In previous releases, the same operation required breaking the arc's connection, adding the desired operator, then reconnecting arcs to both sides of the added operator. See Insert Operator Context Menu.

New Application Test Suites Feature

StreamBase now supports test suites, which are folders that contain two or more StreamBase test configuration files, plus the data input and validation comparison resources needed for those tests. You can run all tests in a test suite in a single step, either from StreamBase Studio, or from the command prompt by means of the sbtest utility. See Creating and Running Test Suites.

Samples Updated

Many of the samples shipped with StreamBase were updated to remove string length specifications and to use a Sequence operator instead of a Query table to add sequence numbers. The EventFlow application for some samples was reorganized with groups and annotated with notes.

 Studio New Features 
Manual Input View Enhancements

The Manual Input view was enhanced with several new features:

Focus Selector View Merged with Outline View

In previous releases, StreamBase Studio included the Focus Selector view as a tab behind the Package Explorer view. In this release, the functionality of the Focus Selector view was moved to the Outline View. Use the Graphical Mode button to switch between tree and graphical views in the Outline view. As before, you can select a portion of an EventFlow diagram in the graphical view to quickly navigate around a large EventFlow application.

If you open a workspace created with a previous release, you may see an error regarding the Focus Selector view. You can safely ignore this error and continue working.

Outline View Shows Groups

For EventFlow applications, the Outline view now includes a category for groups. By default, this category shows only if the currently active EventFlow Editor actually has one or more groups. (As before, you can set a Studio preference to show all categories in the Outline View, even when empty.)

Feed Simulation Editor New Feature

The Feed Simulation editor has a new check box, Prefill and loop on Tuple buffer, in the Processing Options section. When selected, this option specifies that the feed simulation is to run in a loop, starting over and resending the first tuple in the buffer after it reaches the last tuple in the buffer. Use this feature to continuously replay a known, repeatable data set, or to generate a longer data set from a known one. See Using the Prefill and Loop on Tuple Buffer Feature for more information.

Feed Simulation from JDBC Data Source Supports Vhayu Velocity

In a previous release, the Feed Simulation mechanism gained the ability to read from a table in a JDBC database to obtain tuples for feeding into an application under test. Release 6.3 adds the ability to specify a Vhayu Velocity database as one of the available feed simulation JDBC data sources. You must obtain the Velocity JDBC driver from Vhayu. (StreamBase supports this driver only as a feed simulation data source, and not for use with the JDBC Table data construct.)

Since the Reuters Tick Capture Engine is based on Vhayu Velocity, this feature also allows you to read from an RTCE database to obtain tuples for feed simulations.

Unit Test Recording Can Exclude Inactive Streams

When recording application input in a Unit Test recording, StreamBase Studio now offers an option to record only active streams, rather than all streams in the application. The option is enabled by default. (This feature refers to Unit Test recording, as described in Creating and Running StreamBase Tests, not to the Recordings view feature of Studio.)

New Palette View Icons for Global Adapters

In StreamBase Studio, the Palette view now shows new icons for most adapters in the Global Adapters & Operators drawer.

 Server New Features 
Inner Module Stream Dequeuing and Enqueuing

In previous releases, streams in inner modules were not available for dequeuing or enqueuing with the sbc command (except when running an application in debug mode). However, starting with release 6.3, you can designate any of a module's input or output streams to be available for dequeuing or enqueuing, no matter how deeply that module is nested in a complex application. In EventFlow applications, mark streams with the new Always expose Stream check box on the General tab of the stream's Properties view. In StreamSQL applications, mark streams with the new PUBLIC modifier for CREATE STREAM, like this example: create public output stream Outstream; Public streams are not supported in recordings of StreamBase applications. See Defining Input Streams, Defining Output Streams, CREATE INPUT STREAM Statement, and CREATE OUTPUT STREAM Statement.

Table Delta Streams

This release adds a new stream type for a particular use case, table delta streams. A table delta stream is associated with a Query Table. Tuples are emitted on the delta stream for every insert, delete, or update event that occurs on the associated Query Table. Table delta streams are useful in any design pattern that requires change notification. For example, you can use table delta streams in a trading application where there is a requirement to listen for changes to the consolidated order books. Table delta streams are also useful in high availability design patterns where you want to maintain a replication of a Query Table based on a log of changes to the table. You can see table delta streams in action in the new table replication sample.

New Predicate Dimension for Aggregate Operator

When using the Aggregate operator, you specify aggregate policies using one or more dimensions. Previous releases offered a choice among tuple-based, time-based, or field-based dimensions. Release 6.3 adds a fourth dimension type, predicate dimensions. Use a predicate dimension to open, emit from, or close aggregate windows based on predicate expressions that you define. This feature is described in Using the Aggregate Operator and in Aggregate Operator: Predicate-Based Dimension Options. There is a sample for the feature in the operator sample group, described here.

Streams Information Shown in sbmonitor

When using the sbmonitor command to view statistics about a running StreamBase application, you can press L to toggle between views of thread and queue information in the lower half of the display. As of release 6.3, pressing L also toggles to a third view showing stream information. The new view shows the name of each output and input stream in the running application, including system container streams, and shows a running count of the total tuples emitted from each stream, and the number of tuples emitted during the most recently monitored time period. See Streams View.

New Query Table Replication Sample

This release adds a new sample demonstrating a high availability design pattern. The new sample, table-repl, shows how to replicate a StreamBase Query Table on servers in a high availability cluster. The schemas in the sample table are order schemas typically used in a trading application. See Query Table Replication Sample.

HA Sample Updated to Demonstrate Symmetrical Deployment

The high availability sample in sample/ha was modified to demonstrate how to run the same application on primary and secondary servers using the exact same coordinating application, ha.sbapp. In previous releases, this sample was implemented with slightly different coordinating applications for the two servers, haprimary.sbapp and hasecondary.sbapp. See High Availability Sample.

New sbd --suspend Option

You can use sbd --suspend to start StreamBase Server with all applications in all containers suspended. You can override the suspension for individual applications by specifying the suspend="false" attribute for the application element in the server configuration file.

sbc describe Command Extended

When using sbc describe on Query operators, the output now includes the query plan for that operator.

New Configuration File Parameter for JDBC Data Sources

This release adds a new StreamBase Server configuration file parameter for use in configuring JDBC data sources. The new jdbc-dont-reconnect-regexp parameter is similar to the existing jdbc-reconnect-regexp, but is used to specify the database error messages for which you do NOT want to retry communicating with the database server. The new parameter is described in the <data-source> section of the configuration file documentation page.

 Frameworks Support 
Support for Smart Order Routing Framework

The StreamBase Smart Order Routing Framework, introduced for releases 6.1 and 6.2, is fully supported on release 6.3. Contact StreamBase Systems for more information.

 Adapter Changes 
EBS Adapter

The EBS adapter, introduced in release 6.2.3, allows StreamBase applications to connect to the EBS/ICAP foreign exchange venue and exchange FIX messages with it. The EBS Adapter is described in EBS Adapter.

FIX Adapter Gains Support for Lists

The FIX adapter, and the Currenex and EBS adapters based on it, were updated to take advantage of the new list data type.

CSV and Regex File Reader Adapters Support File Compression

The CSV File Reader adapter and the Regular Expression File Reader adapter can both now read files compressed in the zip or gzip formats. Both adapters require the target file to have the extension .zip or .gz, and both adapters expect to find exactly one text file inside each compressed file. This feature allows these adapters to read market data files provided by a market data vendor in compressed format, without needing to uncompress the files in advance.

Binary File Writer and Reader Adapters Support File Compression

The Binary File Writer adapter has a new check box in its Adapter Properties tab in the Properties view. Check the Compress data check box to specify that the output file is stored in the gzip format with .gz file extension. The Binary File Reader adapter now automatically reads gzipped files created with the Binary File Writer adapter.

 Behavior Changes 
Change in StreamBase Server's Appearance in Process Lists

StreamBase Server's appearance has changed in process lists such as the Windows Task Manager or the output of ps on UNIX. In previous releases, a running StreamBase Server instance appeared as sbd or sbd.exe in lists of running processes.

Starting with release 6.3, when running with the bundled JDK, look for sbd-java in such lists on UNIX. On Windows, look for two processes in the Task Manager, one named sbd.exe, the other sbd-java.exe. If you need to close a hung server process on Windows, kill the sbd-java.exe process, which will close the sbd.exe process.

If you are running the server with an external JDK, the server does not appear as sbd-java. In this case on UNIX, you can identify the process running the server by searching for sbserver.jar in the process list.

Consequences of String Length Removal

As a consequence of the removal of string lengths:

  • The Size column was removed from all Edit Schema tabs throughout StreamBase Studio.

  • In the expression language, strlen() still returns the length of its argument, but strresize() now performs no action. You can still use strresizetrunc() to truncate strings.

  • You might see runtime JDBC errors from the Query operator or JDBC adapter. Some static checking of JDBC table sizes is no longer possible, which can lead to database-specific errors, possibly including data truncation, if a StreamBase application attempts to insert into a JDBC table string values that are too wide for the JDBC table's schema.

  • When configured to generate random string data, a feed simulation defaults to sending strings of length 4.

Command Line Debugger Removed

As of release 6.3, the command line debugger, sbdb, was removed from StreamBase installation kits. The sbdb debugger has been deprecated since release 6.0, when Studio's visual debugger was introduced. The override system property, streambase.codegen.support-legacy-debugger, is no longer recognized or supported.

The removal of sbdb changes the meaning of the SBDeveloper role in the StreamBase authentication system. In previous releases, the SBUser role was authorized to run sbc, while the SBDeveloper role was authorized to run both sbc and sbdb. As of release 6.3, the SBDeveloper role still exists, but no longer allows any more privileges than the SBUser role. See Using StreamBase Server Simple Authentication for more on the authentication system.

New Timeout Default for Unit Tests

The default dequeue timeout in the StreamBase Test Editor was changed from 0 to 20 seconds. This does not change existing test configuration files, only newly created test files.

Studio: Ctrl+Space Shortcut Redeployed

In previous releases of StreamBase Studio, in the EventFlow Editor, the Ctrl+Space keyboard shortcut was defined as an alias for the DiagramCenter Selection menu option. Starting with release 6.3.0, the Ctrl+Space shortcut was redeployed for use as the Eclipse-standard command to initiate command auto-completion, described above. You can still run Center Selection from the Diagram menu, or from the right-click context menu for a selected component in the EventFlow Editor.

Studio No Longer Autodetects 3.7 Workspace

In releases 5.0 through 6.2, StreamBase Studio would detect an attempt to open and use a workspace created with release 3.7 or earlier. Studio 6.3 no longer attempts to detect and convert workspaces from Studio 3.7 or earlier, and attempting to open such a workspace now results in an Undefined error. You can still use FileImportStreamBaseProjects from StreamBase Studio 3.x to manually import and convert older projects.

Using 3.7 Clients With 6.3 Proxy Server

To use StreamBase 3.7 clients with StreamBase Server and the proxy server from release 6.3 or later, you must set the environment variable STREAMBASE_PACKING_PERCENT to zero on the hosts (and user environments) running both the proxy server and the client.

 API Changes 

StreamBase 6.3.0 included a number of modifications to the StreamBase Client libraries.

Fixes

StreamBase 6.3.0 also fixed several product limitations, as described in the Limitations Resolved in 6.3.x section of the Release Note Archives.

StreamBase 6.2.x Release History

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

What Was New in StreamBase 6.2.5

New and Updated Features

StreamBase 6.2.5 included the following updates and new features:

CSV File and Socket Input Adapters Now Accept Character Entities

The CSV File Input adapter and the CSV Socket Input adapter were enhanced to accept HTML character entities in the form &#nnn when specifying the field delimiter in StreamBase Studio. This allows you to specify tab-delimited CSV files with &#9, or to specify any other non-standard character as the field delimiter.

Reuters SFC Adapter Updated

The 32-bit Linux version of the Reuters SFC External adapter was recompiled with the latest version of the SFC libraries from Reuters. This fixes the following bugs, shown with their tracking numbers in the Reuters bug tracking system. The adapter is otherwise unchanged.

  • Service Request: 1-3399038389 Crash when using subscribing app with SFC 4.5.3.

  • Service Request: 1-3430202500 Updates stop flowing in but images are still returned.

Documentation Updates

The Reuters RMDS Subscribing Input adapter's page was reorganized to reflect the multiple tabs of the adapter's Properties view.

The description of the Application Output view was updated to cover features added since release 6.2.0.

The page describing the External Process Operator was updated to reflect its current functionality.

Fixes

StreamBase 6.2.5 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

What Was New in StreamBase 6.2.4

New and Updated Features

StreamBase 6.2.4 included the following updates and new features:

New Feature in Reuters RMDS Subscribing Adapter

The Reuters RMDS Subscribing adapter now supports meta tuples (the so-called thin tuples). The adapter's properties were reorganized into three tabs in the Properties view.

New Feature in Reuters SFC Adapter

The Reuters SFC external adapter now supports an optional MessageType field in both the fat-tuple and meta-tuple (thin tuple) handlers.

Binary File Writer and Reader Adapters Support File Compression

The Binary File Writer adapter has a new check box in its Adapter Properties tab in the Properties view. Select the Compress data check box to specify that the output file is to be stored in gzip format with the .gz file extension. The Binary File Reader adapter now automatically reads gzipped files created with the Binary File Writer adapter.

New Option for the sbbundle Command

The sbbundle command now supports the -i option, which you can use to specify a comma-separated list of path names to ignore when generating a StreamBase bundle file. This is especially useful when working on a version-controlled working directory, to exclude the version control system's metadata files or directories from the bundle. For example, sbbundle -i .svn ...

New Configuration File Parameter for JDBC Data Sources

This release adds a new StreamBase Server configuration file parameter for use in configuring JDBC data sources. The new jdbc-dont-reconnect-regexp parameter is similar to the existing jdbc-reconnect-regexp, but is used to specify the database error messages for which you do NOT want to retry communicating with the database server. The new parameter is described in the <data-source> section of the configuration file documentation page.

Documentation Updates

The page for the New Embedded Adapter Wizard was rewritten, and now describes the relationship between adapter properties and the GUI controls generated for each property. See Using the StreamBase Embedded Adapter Wizard.

The page describing StreamBase data types was clarified and extended. See StreamBase Data Types.

The page for the Wombat MAMA Input adapter was updated with a section describing how to dynamically subscribe to symbols and how to react to timeouts.

Fixes

StreamBase 6.2.4 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

What Was New in StreamBase 6.2.3

New and Updated Features

StreamBase 6.2.3 included the following updates and new features:

Log4j Logging and Background Mode Servers

Starting with this release, Apache log4j logging is enabled for StreamBase Server running in background mode. When running sbd with its –b option, the server now records application level logging messages by default in the Event Log for Windows and to syslog for Linux and Solaris. You can reconfigure log4j to redirect to a file, or to take advantage of other standard log4j features, by editing the log4j configuration file. See Server Background Mode and Logging for details.

Documentation Updates

The documentation for running StreamBase Server as a background service on Windows was reorganized into two files and clarified. See Running StreamBase Server as a Windows Service and StreamBase Registry Keys on Windows.

The documentation for the StreamBase Command Prompt was reorganized and augmented with new information. See StreamBase Command Prompt.

New EBS Adapter

The EBS adapter enables a StreamBase application to connect to the EBS venue and exchange FIX messages with it. The EBS Adapter is described in EBS Adapter.

CSV File Writer Adapter New Option

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

CSV File Writer Adapter Enhancement

The CSV File Writer adapter was enhanced with a new Roll Period property. You can now specify hourly, daily, or weekly rollover of output files, with automatic renaming of the current file. Use either the new Roll Period property or the existing Max Roll Seconds property: they are mutually exclusive.

StreamBase to StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase to StreamBase output adapter throttles dropped-tuple warnings as follows:

  • The first dropped tuple generates an immediate warning.

  • Subsequent dropped tuples are counted, but not immediately reported.

  • When at least one tuple has been dropped, and at least 10 seconds have elapsed since the previous dropped-tuple warning, a new warning is generated the next time a tuple is processed, whether that tuple is dropped or not.

  • Dropped-tuple warnings indicate the number of tuples dropped and the number of seconds elapsed (normally 10) since the last warning, or in the case of the first warning, since the adapter was started.

  • No warnings are generated if no tuples are dropped since the last warning.

  • A warning can cover more than 10 seconds if the adapter drops a tuple and then becomes idle.

Reuters RMDS Subscribing Adapter Update

The Reuters RMDS Subscribing adapter was updated to use the newest RFA/Java 6.3.0.E2 library from Thompson Reuters. This corrects errors seen when subscribing to market feed data with very large images.

StreamBase Studio: F3 Opens Source for Custom Java Operators and Adapters

Releases 6.1.3 and 6.2.0 added the F3 key in Studio as a shortcut key to open a module's EventFlow application, when the current selection in the canvas is a module.

As of release 6.2.3, F3 can also be used to open the Java source file for a currently selected custom Java operator or adapter, if the source is in the current Studio workspace. (Source for StreamBase-provided operators and adapters is not in your workspace, and thus cannot be opened.) You can also use the following methods to open the Java source file for the currently selected Java module:

  • From the top-level Studio menu, run DiagramOpen Declaration.

  • Select the Java module in the EventFlow canvas, then click the Class name field in the General tab of the Properties view.

Fixes

StreamBase 6.2.3 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

What Was New in StreamBase 6.2.2

New and Updated Features

StreamBase 6.2.2 included the following new features:

Support for StreamBase Frameworks

StreamBase frameworks are fully functional, customizable reference applications. A framework provides a core StreamBase application with all required supporting modules, operators, and adapters that together illustrate a best-practices approach to solving a specific event processing problem. All StreamBase frameworks include documentation. A framework may also include a test suite, a data simulation environment, and a graphical user interface. Frameworks are delivered as separate add-on packages with a separate installer.

Smart Order Routing Framework

This release makes available the Smart Order Routing (SOR) framework. This framework accepts orders from a FIX engine, classifies them for routing according to conditions and rules you define, then sends execution orders to venues based on your routing algorithms. The SOR framework supports a real-time market data model, which you can use to capture, aggregate, analyze, and track the state of the market. The framework adds market data to each order as it is processed for routing. The SOR framework includes an order state manager that provides real-time data about the state of each order throughout the routing process.

Contact StreamBase Systems to obtain an evaluation copy of the Smart Order Routing framework.

New Studio Menu Item

StreamBase Studio now includes a new menu item, FileLoad StreamBase Framework. Use this item to load a framework into Studio after you run both StreamBase and framework installers.

Query Operator: Support for Lookup Expression for Deletes

In StreamBase Studio, in a Query operator associated with a Query Table, you can now select Expression from the Where drop-down list when Operation is set to Delete. This allows you to specify a where-clause for deletes as well as for writes and reads.

New -z Option for sbprofile

The sbprofile command now offers the –z option, which specifies that information for all operators is to be printed, even for operators that have accumulated zero processing time.

What Was New in StreamBase 6.2.1

New and Updated Features

StreamBase 6.2.1 included the following new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. 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.

Note

StreamBase Systems does not recommend using Sun JDK versions 1.6.0_04 through 1.6.0_07 because of a JDK bug that interferes with the operation of Eclipse-based applications, including StreamBase Studio. For reference, this bug is tracked in the Eclipse bug database as number 214092, and in Sun's Java bug database as number 6614100. The bug was fixed as of Sun JDK release 1.6.0_10.

Runtime Tracing

When enabled, runtime tracing writes tuple trace information to StreamBase Server's console or to a trace file, one per container. Runtime tracing is best used for short term debugging, to follow a tuple's progress through an application. For instructions, see Runtime Tracing and Creating Trace Files and the sbadmin command.

Visual Debugger Enhancements

When paused at a breakpoint using the Visual Debugger in Studio, you can now edit a variable's contents in the Variables view, to see the effect of continuing after the breakpoint with the new value. This feature is described in Variables View.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Enable event port setting enables a connection event output port for both adapters. You can monitor the output stream on this port to determine the status of the connection between StreamBase Servers that these adapters implement. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

Fixes

StreamBase 6.2.1 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

What Was New in StreamBase 6.2.0

New and Updated Features

Installation Changes

The 6.2 release series provided the following changes in the packaging and installation of StreamBase kits.

Developer versus Enterprise Editions

The distinction between StreamBase Developer and Enterprise Editions was simplified. With the Developer Edition trial kit, you can now perform the same set of Studio or command-line tasks as with Enterprise Edition, with the exception of saving to disk-based Query Tables. This change is designed to make it easier to evaluate StreamBase for new projects.

Embedded Adapters Now Installed in Base Kit

With one exception, all embedded adapters formerly provided in separate installation kits are now installed as part of the base StreamBase installation. (The exception is the JMS adapter kit, which installs both embedded and external adapters in one installation.) Some embedded adapters still require separate licensing to be used in a production setting. Contact your StreamBase Systems representative for information on adapter licensing.

New Installers for UNIX

The installers for Linux and Solaris are now .bin shell script wrappers. For Linux and Solaris, installers with the name streambase-archive-version.bin are wrappers for a tar.gz archive. For Linux, installers with the name streambase-rpms-version.bin are wrappers for an RPM installation.

In both cases, run the installer as a shell script with commands like the following. As before, you must install with root privileges to install in the default location or another privileged location.

sh streambase-archive-version.bin
sh streambase-rpms-version.bin

Both versions of the script proceed as follows:

  • Prompts for an installation location, with /opt/streambase as the default.

  • Displays the text of the StreamBase license.

  • Prompts for you to type yes in acceptance of the license.

  • Unpacks the archive or runs the RPMs to complete the installation.

To install only the server RPM on Linux, extract the RPMs from the shell wrapper with the following command:

sh streambase-rpms-version.bin unpack
StreamBase Studio Updates
Export Applications into Bundles for Deployment

This release provides the ability to generate an archive file that contains the collection of files needed to deploy and run a StreamBase application on any supported StreamBase Server. In Studio, you can create an application bundle with FileExport, then StreamBaseStreamBase Application Bundle. You an also create a bundle with the new sbbundle command. See Application Bundling and the sbbundle reference page for details.

Enhanced Application Output View

The Application Output view in the Studio Test/Debug perspective was significantly enhanced in this release:

  • The Application Output and Input views now share the same pane in the default perspective layout. This provides more screen room to see individual tuples in the Output view.

  • The Details pane that shows the currently selected tuple is now shown in a grid layout. Tuples with fields of type tuple are shown in their hierarchical form.

  • You can make multiple selections among the available output streams to display. (In previous releases, you could display one stream or all streams, but not a selection of streams.)

  • Filtering of stream output is now specified in its own dialog. You can elect to show only matching tuples, or to show all tuples with color highlighting for matching tuples. Adjust the highlight color in Studio Preferences.

These changes are described in Application Output View.

Feed Simulation Now Supports JDBC Data Sources

Feed simulations can now read input data from a SQL query to a JDBC data source. The Feed Simulation Editor was updated to add a JDBC option, and to support management of the tuple buffer used for data file and JDBC data sources. See Generation Method: JDBC Data Source for more on this feature.

Output Schema Previewer

The Streams tab of the Properties view now shows the schemas of both incoming and outgoing streams for the currently selected component in the EventFlow Editor, as available for that component. This feature is described on Streams Tab.

Changes in the New Project Dialog

The New Project dialog no longer offers to create an empty StreamSQL file when creating the new project. You can create empty EventFlow and server configuration files as before. Once the new project is created, use FileNewStreamSQL Application to add a blank StreamSQL file to your project, or convert your developed EventFlow application to StreamSQL.

Ctrl + Mouse Wheel

If your Windows or Linux computer has a mouse with a scroll wheel (or a touchpad that emulates a scroll wheel), and the wheel is enabled, then Ctrl + Mouse Wheel now increments and decrements the zoom factor of the currently active EventFlow Editor. For this feature to work, you must first click anywhere in the EventFlow Editor canvas to select it.

Studio Remembers EventFlow Position and Zoom Level

Studio now saves the zoom level setting and relative focus position of your EventFlow applications. When you reopen a zoomed application, it now opens in the last saved position and zoom level. A new Preferences setting allows you to disable this feature, which is enabled by default.

Save EventFlow as PNG Image

You can now save the current EventFlow canvas as an image file in PNG format. To do this, right-click in the EventFlow canvas and select Export view as PNG from the context menu. This is a snapshot feature that captures the current visible state of the canvas, including position and zoom level. The window size of the canvas becomes the size in pixels of the resulting bitmap.

Class Name Field is Now a Hyperlink

In the Properties view for Java Operators and Adapters, in the General tab, the Class name field is now a hyperlink instead of static text.

This serves two purposes. For a custom operator or adapter, clicking the link opens your Java source file for the class. (For StreamBase-provided global components, the source code is not present in the current workspace, and thus cannot be opened.) And for all operators and adapters, you can right-click the class name and select Copy to place the fully qualified name of the class in the clipboard. The class name can then be pasted in another editor, such as when writing a StreamSQL APPLY JAVA command that invokes the same operator or adapter.

Deprecated Adapters and Operators Not in Default Palette

As of release 6.2.0, operators and adapters marked deprecated are not shown by default in the Palette View. This applies to both StreamBase-provided and custom components. (Mark your custom operators and adapters deprecated with the @Deprecated Java annotation.) A new setting on the StreamBase Studio Preferences page lets you include deprecated components in the Palette. See StreamBase Studio Panel.

Refactoring Support Extended

Support for Eclipse refactoring in Studio was extended to the following actions: renaming input and output streams, renaming Java classes, and renaming Query Tables.

Studio Support for Intermediate Stream Dequeuing

Previous releases supported dequeuing from intermediate streams for debugging, as described in Intermediate Stream Dequeuing. This release adds the same ability when running your applications in Studio, implemented as a run configuration setting described on The Advanced Tab.

Feed Simulation Status Shown After Stop

When a running feed simulation stops unexpectedly, the last error that caused the stop is now displayed in the status column in the Feed Simulation view. This feature helps debug connection problems when using JDBC data sources as feed simulation inputs.

New F3 Keyboard Shortcut in Studio

In Studio, in an EventFlow application with modules, you can now select the module icon and press F3 to open that module's EventFlow file. The same command is also found in the Diagram menu as Open Referenced Application.

StreamBase Server and Runtime Updates
CSV Container Connections

This release supports a new type of container connection. When specifying containers in your server configuration file, or when managing containers with the sbadmin command, you can now connect an output or input stream in a container to a csvfile URI that specifies the path to a CSV file, using the full absolute path on the same system running StreamBase Server. This feature is primarily designed for debugging and analysis of your application, and is described on Connecting Container Streams To a CSV File and on the sbadmin reference page.

Default Maximum for JVM Memory Increased to Support Larger Applications

The default maximum JVM memory for running StreamBase Server was increased from 256 MB to 512 MB, to accommodate larger StreamBase applications. You can adjust or override this setting by editing the java-vm section of the server configuration file. As a consequence of this change, the minimum recommended memory for workstations running StreamBase Studio or StreamBase Server is now 1 GB.

New sysproperty Element for Configuration Files

Previous releases allowed you to use the jvm-args parameter in the system configuration file to add system properties to the JVM running StreamBase Server. There is one jvm-args element per JVM, so in previous releases, more than one system property had to be specified within the confines of a single jvm-args parameter. Release 6.2.0 adds the sysproperty element, which lets you add individual system properties, one per sysproperty. See the next item for an example.

Legacy sbdb Debugger Now Deprecated

Support for sbdb, the legacy debugger, has been deprecated and may be removed in a future release. Use of the sbdb debugger in Studio is now disabled by default. To run an EventFlow application with the legacy debugger, include the following additional system property in the jvm-args section of the server configuration file:

-Dstreambase.codegen.support-legacy-debugger=true

You can instead use the new sysproperty element, as in the following example:

<sysproperty name="streambase.codegen.support-legacy-debugger" value="true"/>
Unicode Support Improved

For several releases, StreamBase Server has supported Unicode strings in tuples passing through a StreamBase application. Starting with release 6.2.0, you can perform expression language operations such as substr() on Unicode strings. Unicode strings on input streams are canonicalized to UTF-8 NFC.

Support for Unicode strings is not enabled by default. As before, enable this feature by setting the Java system property streambase.tuple-charset="UTF-8" in the server configuration file with the jvm-args or sysproperty elements. If you write custom Java clients, make the same setting with System.setProperty(), so that client and server agree on the character encoding type.

With Unicode support enabled, some of the expression language functions that deal with string lengths have different behavior, as discussed in Simple Functions: Strings on the Expressions page.

Updated External Process Operator

In release 6.1.x, the External Process operator appeared as two instances in the Global Operators & Adapters Palette drawer. As of release 6.2.0, the command line version is marked deprecated, and does not appear in the Palette by default. In the remaining External Process operator, parameters in the Properties view are now specified in three tabs instead of one.

New Sample

This release includes the table-repl sample, which demonstrates how to replicate a StreamBase table between servers in an HA cluster.

Behavior Change for Missing Resource Paths

As in previous releases, you can specify a directory containing Java operator and adapter external resources with the operator-resource-search element in the server configuration file. In previous releases, if you specified a non-existing path for the directory= attribute of this element, StreamBase Server would silently continue loading and running. As of release 6.2.0, the server now issues a WARN message before continuing.

Behavior Change for Some Container Connections

For stream-to-stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream-to-stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior. This behavior change was introduced in the 6.0.4 and 6.1.2 maintenance releases, and in 6.2.0.

Command Line Utility Changes
New sbbundle Command

The new sbbundle command provides a command-line method of creating StreamBase application bundles, which are described on Application Bundling. The sbbundle command is described in sbbundle.

sbadmin Command Changes

The saveContainer command of the sbadmin utility was removed. You can still use the sbargen command to save a running application to a precompiled application file with .sbar extension. See Precompiled Application Archives and sbargen for details. You can also use the saveContainer() method in the StreamBaseAdminClient class in the StreamBase Client API to perform the same operation.

The sbadmin command was updated to support the new CSV container connection feature, described above. The sbadmin reference page was reorganized for clarity, and to update the description of the suspend and resume feature.

sbfeedsim Command Changes

The sbfeedsim command was updated to support JDBC data sources as input, and to manage the tuple buffer associated with data files and JDBC data source inputs. When running sbfeedsim to generate a default load, you can now specify a comma-separated list of input streams. The command accepts the following new options: –a, –B, –F, and –s, as described on sbfeedsim.

Adapter Changes in 6.2.0
New FIX Adapter

The FIX adapter enables a StreamBase application to connect to a FIX venue, and to send and receive FIX messages. The FIX adapter is described on FIX Adapter.

New Currenex Adapter

The Currenex adapter enables a StreamBase application to connect to a Currenex currency trading venue, and to exchange FIX messages with it. The Currenex adapter is described on Currenex Adapter.

Adapter Changes Inherited from Previous Releases

Release 6.2.0 inherits the following new and updated adapters introduced in prior maintenance releases.

New Hotspot FX Trading System Adapter

This release includes a new adapter that allows a StreamBase application to retrieve market data from, and submit market requests to, a Hotspot FX currency trading system. The adapter is described in Hotspot FX Trading System Adapter and includes a sample, described in Hotspot FX Trading System Adapter Sample. The Hotspot FX Adapter was introduced in release 6.0.5.

Wombat Adapter Updates

The Wombat MAMA Input adapter was updated in release 6.1.3 with several new capabilities and features:

  • The Wombat adapter now supports Wombat MAMA API versions 4.x as well as 3.3.x.

  • The Properties view for the Wombat adapter's icon in StreamBase Studio is now broken into several tabs instead of one long tab.

  • In previous StreamBase releases, after you installed the Wombat adapter's installation kit, you had to place the mama.jar middleware file obtained from your vendor in a certain location for StreamBase to find. Without this step, the Wombat adapter's icon would not appear in the Palette view in StreamBase Studio and an error was placed in the Studio Error Log view.

    Those steps are no longer necessary. The Wombat adapter's icon is now automatically placed in the Palette after installation of the adapter kit. You can drag an adapter instance onto an EventFlow canvas and immediately begin to configure it, without prerequisite steps.

    However, to run an application that uses the Wombat adapter, the vendor's middleware JAR files must still be found in the classpath of the StreamBase Server instance that hosts the application. You can now specify the location of your mama.jar file in the usual way for JAR files, by using jar and library elements in the server's configuration file. See the Wombat adapter's documentation page for complete instructions.

  • The Wombat adapter's documentation was reorganized and updated to reflect these changes. See Wombat MAMA Input Adapter.

Documentation Updates
Link Underlining in Documentation

In previous releases, StreamBase documentation pages were styled in a way that disabled the underlining of hyperlinks for all users. Starting with this release, StreamBase documentation no longer applies a style to hyperlinks, and now honors the link decoration settings of the system browser.

For UNIX and for Windows when viewing HTML documentation, link decoration is determined by the settings of the system default browser. For Eclipse Help and the Help Viewer under Windows, link decoration is determined by the settings of Internet Explorer, whether or not it is the system default browser.

API Changes

StreamBase 6.2 included a number of modifications to the APIs for building custom operators and adapters.

Fixes

StreamBase 6.2 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

StreamBase 6.1.x Release History

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

What Was New in StreamBase 6.1.7

StreamBase 6.1.7 was a maintenance release. See Limitations Resolved in 6.1.x for a list of issues resolved in this release.

What Was New in StreamBase 6.1.6

New and Updated Features

StreamBase 6.1.6 included the following updates and new features:

Query Operator: Support for Lookup Expression for Deletes

In StreamBase Studio, in a Query operator associated with a Query Table, you can now select Expression from the Where drop-down list when Operation is set to Delete. This allows you to specify a where-clause for deletes as well as for writes and reads.

New -z Option for sbprofile

The sbprofile command now offers the –z option, which specifies that information for all operators is to be printed, even for operators that have accumulated zero processing time.

Reuters RMDS Subscribing Adapter Update

The Reuters RMDS Subscribing adapter was updated to use the newest RFA/Java 6.3.0.E2 library from Thompson Reuters. This corrects errors when subscribing to market feed data with very large images.

CSV File Writer Adapter New Option

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

StreamBase to StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase to StreamBase output adapter has new behavior for warning about dropped tuples, as described in Dropped Tuple Warning Behavior.

Fixes

StreamBase 6.1.6 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.5

New and Updated Features

StreamBase 6.1.5 included the following new features:

Support for StreamBase Frameworks

StreamBase frameworks are fully functional, customizable reference applications. A framework provides a core StreamBase application with all required supporting modules, operators, and adapters that together illustrate a best-practices approach to solving a specific event processing problem. All StreamBase frameworks include documentation. A framework may also include a test suite, a data simulation environment, and a graphical user interface. Frameworks are delivered as separate add-on packages with a separate installer.

Smart Order Routing Framework

This release makes available the Smart Order Routing (SOR) framework. This framework accepts orders from a FIX engine, classifies them for routing according to conditions and rules you define, then sends execution orders to venues based on your routing algorithms. The SOR framework supports a real-time market data model, which you can use to capture, aggregate, analyze, and track the state of the market. The framework adds market data to each order as it is processed for routing. The SOR framework includes an order state manager that provides real-time data about the state of each order throughout the routing process.

Contact StreamBase Systems to obtain an evaluation copy of the Smart Order Routing framework.

New Studio Menu Item

StreamBase Studio now includes a new menu item, FileLoad StreamBase Framework. Use this item to load a framework into Studio after you run both StreamBase and framework installers.

Fixes

StreamBase 6.1.5 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.4

New and Updated Features

StreamBase 6.1.4 included the following new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. 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.

Note

StreamBase Systems does not recommend using Sun JDK versions 1.6.0_04 through 1.6.0_07 because of a JDK bug that interferes with the operation of Eclipse-based applications, including StreamBase Studio. For reference, this bug is tracked in the Eclipse bug database as number 214092, and in Sun's Java bug database as number 6614100. The bug was fixed as of Sun JDK release 1.6.0_10.

Default Maximum for JVM Memory Increased to Support Larger Applications

The default maximum JVM memory for running StreamBase Server was increased from 256 MB to 512 MB, to accommodate larger StreamBase applications. You can adjust or override this setting by editing the java-vm section of the server configuration file. As a consequence of this change, the minimum recommended memory for workstations running StreamBase Studio or StreamBase Server is now 1 GB.

New FIX Adapter

The FIX adapter enables a StreamBase application to connect to a FIX venue, and to send and receive FIX messages. The FIX adapter is described on FIX Adapter.

New Currenex Adapter

The Currenex adapter enables a StreamBase application to connect to a Currenex currency trading venue, and to exchange FIX messages with it. The Currenex adapter is described on Currenex Adapter.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Enable event port setting enables a connection event output port for both adapters. You can monitor the output stream on this port to determine the status of the connection between StreamBase Servers that these adapters implement. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

EventFlow Editor: Tooltip for Modules Improved

The tooltip pop-up text for EventFlow modules now shows the expected schema and assigned stream whether or not the module has passed typechecking.

Link Underlining in Documentation

In previous releases, StreamBase documentation pages were styled in a way that disabled the underlining of hyperlinks for all users. Starting with this release, StreamBase documentation no longer applies a style to hyperlinks, and now honors the link decoration settings of the system browser.

For UNIX and for Windows when viewing HTML documentation, link decoration is determined by the settings of the system default browser. For Eclipse Help and the Help Viewer under Windows, link decoration is determined by the settings of Internet Explorer, whether or not it is the system default browser.

Fixes

StreamBase 6.1.4 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.3

New and Updated Features

StreamBase 6.1.3 included the following new features:

Wombat Adapter Updates

The Wombat MAMA Input adapter was updated with several new capabilities and features:

  • The Wombat adapter now supports Wombat MAMA API versions 4.x as well as 3.3.x.

  • The Properties view for the Wombat adapter's icon in StreamBase Studio is now broken into several tabs instead of one long tab.

  • In previous StreamBase releases, after you installed the Wombat adapter's installation kit, you had to place the mama.jar middleware file obtained from your vendor in a certain location for StreamBase to find. Without this step, the Wombat adapter's icon would not appear in the Palette view in StreamBase Studio and an error was placed in the Studio Error Log view.

    Those steps are no longer necessary. The Wombat adapter's icon is now automatically placed in the Palette after installation of the adapter kit. You can drag an adapter instance onto an EventFlow canvas and immediately begin to configure it, without prerequisite steps.

    However, to run an application that uses the Wombat adapter, the vendor's middleware JAR files must still be found in the classpath of the StreamBase Server instance that hosts the application. You can now specify the location of your mama.jar file in the usual way for JAR files, by using jar and library elements in the server's configuration file. See the Wombat adapter's documentation page for complete instructions.

  • The Wombat adapter's documentation was reorganized and updated to reflect these changes. See Wombat MAMA Input Adapter.

New Hotspot FX Adapter

Release 6.1.3 inherited from release 6.0.5 the new adapter for connecting to the Hotspot FX currency trading system. See Hotspot FX Trading System Adapter in the Adapters Guide.

Feed Simulation Editor Update

When creating or editing a feed simulation, when you specify a schema for an existing stream using the Copy Schema From dialog, the name of the stream is now automatically filled in.

New Keyboard Shortcut in Studio

In Studio, in an EventFlow application with modules, you can now select the module icon and press F3 to open that module's EventFlow file. The same command is also now found in the Diagram menu as Open Referenced Application.

Fixes

StreamBase 6.1.3 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.2

New and Updated Features

StreamBase 6.1.2 was primarily a maintenance release, and included the following updates:

SSH Keyboard-Interactive Authentication Now Supported

Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. StreamBase Studio now also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the WindowPreferences dialog, on the StreamBase StudioLaunching page. See Launching Panel for details.

Behavior Change for Some Container Connections

For stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

Expression Language Addition

This release adds the new_tuple() function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language Functions for details.

API Changes

In preparation for anticipated new features, some methods in the Operator and SBPropertyDescriptor classes in the Java Client library were marked deprecated. There is no behavior change in the API for release 6.1.2.

Fixes

StreamBase 6.1.2 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.1

New and Updated Features

StreamBase 6.1.1 was primarily a maintenance release, and included the following updates:

Client API Now Added by Default

The New StreamBase Project dialog was changed to enable support for the StreamBase Client API and StreamBase Tests by default.

Expression Language
  • The expression language gained a new function, today_utc().

  • The documentation for the coalesce() function was updated.

Studio Run Configuration Dialog

Release 6.1 added the Containers tab to the StreamBase Application section of the Run Configuration dialog. Release 6.1.1 added a Duplicate button to the Container Connections section of that tab, and widened the Add and Edit dialogs to better accommodate long container names. See The Containers Tab for more on this new feature.

Feed Simulation Editor

When editing a feed simulation, if you select the Default generation method, the controls in Data rate section are now dimmed.

Documentation Updates

The following documentation pages were clarified since release 6.1.0:

Fixes

StreamBase 6.1.1 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.0

New and Updated Features

Enhanced High Availability Support

StreamBase 6.1.0 added or enhanced several features that can be used when designing clustered and highly available StreamBase applications.

More Than Two Nodes for HA Configurations

You can now connect three or more StreamBase Server instances in a highly available cluster. This change is implemented in two features, the HA Heartbeat Adapter, and the syntax for addressing multiple StreamBase URIs.

When setting up HA monitoring with the HA Heartbeat adapter, you must still designate one instance of the HA Heartbeat adapter as the heartbeat server. The change is that you can now connect more than one HA Heartbeat adapter as client to the heartbeat server. See HA Heartbeat Input Adapter.

When using the sbc utility or a custom-written client based on the StreamBaseClient API, you can now address two or more StreamBase Server instances in the same command by using a comma-separated list of StreamBase URIs. See the sburi reference page for details. The following example uses StreamBase URI shortcuts to request status information from four StreamBase Server instances running on four TCP ports on the default host, localhost:

sbc -u :9600,:9700,:9800,:9900 status
Reliable Stream to Stream Container Connections Using JMS

You can now connect two streams in containers on separate servers, passing through your site's Java Message Service (JMS) infrastructure. This feature allows you to use the reliable delivery feature of JMS to ensure delivery of StreamBase tuples. To use this feature, specify two container connections:

  • From StreamBase Server A to JMS.

  • From JMS to StreamBase Server B.

StreamBase supports JNDI-style JMS URIs, as described in Connecting Container Streams Through JMS. You can make the two JMS connections either in the server configuration files of two StreamBase Servers, or on the command line with the sbadmin addContainer command as described on the sbadmin reference page.

New HA2 Sample

Release 6.1 added a second HA sample, which demonstrates the following:

  • Ensuring that an application is running on one or the other of two servers, where the application requires access to a disk-based query table.

  • Testing for the presence of an application in another container and starting the application if it is not found.

  • Using the External Process Command Line operator to run commands specific to high availability design patterns.

See High Availability Samples.

New Sequence Operator

A new operator was added to the Operators drawer in the Palette view in Studio. To each passing tuple, the Sequence operator adds a field that contains a unique identifier generated for that tuple. You can use the identifier field downstream as required by your application, such as to generate a keyword for tuples before storing them in a query table. You can link two or more Sequence operators together to share the state of the counter. See Using the Sequence Operator.

For StreamSQL, the functionality of the Sequence operator can be implemented with a dynamic variable, as described in Using Dynamic Variables to Implement a Sequence Operator.

Per-Container Data Directories

A data directory is a file system location where a running StreamBase Server instance stores the files that implement disk query tables. Starting with release 6.1, you can specify a separate data directory location for each container, using either the new datadir server configuration file attribute, or interactively with sbadmin addContainer command options. See the StreamBase Server Configuration File XML Reference and sbadmin reference pages. This feature is illustrated in the new HA2 sample, described above.

Per-Container Module Directories

A module directory is a file system location containing external application modules to be used at run time. You can now specify a separate module directory for each container, using the --moduleSearch option for the sbadmin addContainer command. See the sbadmin reference page.

New –C Option for sbc list

The sbc list command now accepts a new option, –C container-name, which lists the streams and operators for the specified container. See the sbc reference page. For example, the following command lists the contents of the container named mainapp on the default server and port:

sbc list -C mainapp
New HA Timeout Variables

Several new environment variables and Java properties were added to support fine-grained control of timeouts for clients connecting to StreamBase Servers. See StreamBase Environment Variables and StreamBase Java Properties.

Improvements to the External Process Operators

The External Process Java operator was added in release 5.1, and the External Process Command Line operator was added in 6.0. These operators provide a way for StreamBase applications to run arbitrary operating system commands as if typed at the shell command prompt for the current operating system. This feature is especially useful in HA application contexts, where an application in one container might need to send an sbadmin command to an application in another container or on another StreamBase Server.

In previous releases, these operators did not appear in the Palette in Studio, but were delivered as JAR files that had to be added to the Java Build Path of your Studio projects. Starting with release 6.1, these operators now appear in the Global Operators & Adapters Palette drawer, and can be dragged into your EventFlow canvas like any other operator. Both operators are described on the same Authoring Guide page, Using the External Process Operator.

In release 6.1 in both operators, you can now specify the prefix prepended to input tuple fields, command argument fields, and environment variable fields, if you include these fields in the outgoing tuple. In the External Process Command Line operator, you can now optionally include the specified command line in the outgoing tuple.

StreamBase Studio Updates
New Real Time Profit and Loss Demo

The SB Demos perspective has a new member, the Real Time Profit and Loss demo.

Launch Applications in Containers from Studio

Studio 6.1 introduced the ability to run separate applications or modules in separate containers when launched to run from Studio. Studio still runs only one instance of StreamBase Server at a time, but if you partition your application into separate containers for deployment, you can now run and test those multi-container applications in Studio. This feature also allows you to make stream to stream or other connections between containers at launch time.

The limitations are that the primary application still runs in a container named default, and that the Studio visual debugger cannot follow a debugging thread across container lines. See The Containers Tab for more information.

Palette Drawer Renamed to Global Operators & Adapters

The Palette drawer called Global Adapters in previous releases was renamed to Global Operators & Adapters. This drawer now contains icons for:

  • Each embedded adapter delivered in the base StreamBase kit.

  • Each adapter you installed from separate installation kits.

  • Java operators usable in any project in your workspace, delivered in the base StreamBase kit, like the External Process operators described in the previous section.

Improved Support for Nested and Anonymous Schemas

StreamBase Studio 6.1 extended and improved the support for hierarchical data and nested schemas first offered in release 6.0.

  • In 6.0, you could only use a named schema to define a field of type tuple in a schema definition. Release 6.1 adds the ability to define a field of type tuple in the Edit Schema tab, and to define the individual fields of the resulting anonymous tuple.

  • You can now specify nested tuples when defining the schemas for feed simulations. See Using the Feed Simulation Editor.

  • You can now specify nested tuples in setting up a unit test, when defining both the input schemas for the test and the output for the test to validate against. See Using the StreamBase Test Editor.

  • Studio now correctly interprets CSV files that have nested layers, and can now be set to interpret flat CSV files as if they were nested. See Map to Sub-Fields Option.

See Schema Overview to understand the different schema-related terms.

Schema Table Editing Improvements

All the schema editing tabs or dialogs in Studio 6.1 now support the tuple data type, and have the following usability improvements:

  • All schema editing tables now have a new Add child button () to add new sub-rows to a row defined with the tuple data type.

  • Pressing the Insert key now adds a row to the top-level schema, or adds a sub-row to a tuple, depending on the currently selected row.

  • The current cell is now highlighted with a border.

  • In navigation mode (when you're not editing cell contents), you can use the arrow keys to navigate in four directions in the table.

  • In cell edit mode, the Tab key navigates across, then down the table, including any tuple data type sub-rows, to the end of the table. Shift+Tab navigates backwards.

  • You can select one or more rows in any schema table editor, copy them to the Studio clipboard, and paste them to the same schema table or to another schema table editor for another component. Pasted rows are always pasted to the end of the table's top level, independent of the current row location, and independent of any nested tuples in the schema.

New Filter for Application Output View

In the SB Test/Debug perspective, the Application Output view now has a filter field that accepts a regular expression to limit the display of rows in the view. The filter expression defines a strict string match, and must include wildcard characters to include parts of the row you are not filtering.

For example, when running the Best Bids and Asks sample, the filter *symbol=T?B* matches all rows containing the string symbol= followed by T, any character, then B, surrounded on both sides by any string:

Use the clear button to empty the filter field and restore the full output view.

Pause and Resume Feed Simulations

The Feed Simulation view in the SB Test/Debug perspective now has a Pause button that lets you temporarily suspend a running feed simulation. When paused, the Pause button changes to a Resume button. The Pause/Resume button applies only to the selected feed simulation file in the view.

Feed Simulations Automatically Paused While Debugging

While using Studio's Visual Debugger on an application with breakpoints set, when the first breakpoint is reached, Studio prompts for permission to pause all the application's feed simulations. In most cases, you can respond Yes, and then step through your application using tuples already placed in the input queue by the feed simulation before it was paused.

In large applications with several input queues each fed by a different feed simulation, you might not want to have all the application's feed simulations paused. In this case, respond No, and then control which feed simulations are paused using the Pause/Resume button described above.

Reuters Schema Designer View Added

The StreamBase Studio SB Authoring perspective now includes the Reuters Schema Designer view, which allows you to browse and discover available RMDS data on your network, and to create a StreamBase schema from a selected set of discovered field identifiers. This view was previously available only in StreamBase Reuters Edition, but as of release 6.1, the view became part of standard StreamBase Studio. This view is described in Thomson Reuters Schema Designer View.

RFA Configuration Wizard Added

The RFA/Java Configuration wizard, previously available only in StreamBase Reuters Edition, is now part of standard StreamBase Studio. You start the wizard by running FileNewRFA/Java Configuration File, or by selecting the link in the top right corner of the Reuters Schema Designer View. This wizard lets you test RMDS connectivity and configure your system's RFA/Java configuration without leaving Studio. The wizard is described in Thomson Reuters RFA/Java Configuration Wizard.

Full Overlay Icons Now Supported

Release 6.0 added support for customized Palette and canvas icons for your custom operators and adapters. In Release 6.1, this support was extended with a new option. In the Metadata tab of the EventFlow Editor, if you specify a 24x24 pixel image file in the Canvas Overlay field, that image is overlaid as before in the lower right corner of the operator's canvas icon. If you specify a 48x48 pixel image file, it now replaces the operator's canvas icon.

System Changes
Changes to the sbadmin Command

The sbadmin utility has the following new features and updates:

  • The addContainer command has a new --datadir option to support per-container data directories, as described above.

  • The addContainer command adds syntax support for making container connections that use JMS reliable connections.

  • The saveContainer command is now deprecated and may be removed in a future release. For identical functionality, use the sbargen utility.

Expression Language Changes

Release 6.1 introduced the following new functions to the StreamBase expression language: trim(), ltrim(), rtrim(), upper(), lower(), inet_aton(), and inet_ntoa().

There is now a two-argument version of round() that behaves much like the round() function in Microsoft Excel.

Documentation clarifications and updates were made for the count(), openval(), closeval(), and systemproperty() functions. The expression language is documented in StreamBase Expression Language Functions.

Server Configuration File Change for JDBC Data Sources

In previous releases, two sets of server configuration file parameters in the data-source section for JDBC data sources were mutually exclusive. Starting with release 6.1, you can use the jdbc-batch-size and jdbc-reconnect-* parameters for the same JDBC connection.

Adapter Changes
Reuters Embedded Input Adapters Now in Base Kit

The Reuters RMDS Subscribing Adapter and the (deprecated) Reuters Subscribing Adapter are now installed as part of the base StreamBase installation package. In previous releases, both adapters had separate installation kits. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

New Option for Binary and CSV Output Adapters

The Binary File Writer Output Adapter and the CSV File Writer Output Adapter both have a new Sync on flush option in the adapter settings tab in the Properties view. This option ensures that operating system buffers are written to disk on a flush event, but at the expense of a performance penalty. See Binary File Writer Output Adapter and CSV File Writer Output Adapter.

Messages from Adapters Now Have Identifying Prefixes

Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) are now prefixed with a string that identifies the adapter instance sending the message.

JMS Embedded Output Adapter Change

If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (__JMSServerName and __JMSDestinationName).

Sample Changes
Counter Sample Removed

The StreamBase sample formerly installed in sample/counter was removed. This sample demonstrated a way to add a sequence field to each passing tuple, but that functionality is now provided by the new Sequence operator described above.

New Samples for Pattern and Sequence Operators

When you load the operator sample package, the resulting Studio project includes sample EventFlow and documentation files to illustrate most operators and data constructs in the Studio Palette view. With release 6.1, this sample package includes samples for the Pattern and Sequence operators.

New HA2 Sample

Release 6.1 includes a new sample in sample/ha2, which is described above in Enhanced High Availability Support and in High Availability Shared Disk Access Sample.

Client Library Changes
Java Client Library Changes

In release 6.1, in the StreamBaseAdminClient class, modifyApplication() and modify() were deprecated. Use addContainer() instead.

In the Tuple class, the getFields() method was previously defined as being able to throw a TupleException. The getFields() method can no longer throw this exception, and the throw signature has been removed. If your code has a try-catch block specifically for this exception, remove the try-catch block.

Changes in All Client Libraries

In the Java, C++, and .NET Client libraries, the flushBuffer() method of the StreamBaseClient class was modified to return a helpful error message if called before enqueuing was enabled for a stream.

Fixes

StreamBase 6.1 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

StreamBase 6.0.x Release History

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

What Was New in StreamBase 6.0.8

StreamBase 6.0.8 was a maintenance release. See Limitations Resolved in 6.0.x for a list of issues resolved in this release.

What Was New in StreamBase 6.0.7

New and Updated Features

StreamBase 6.0.7 included the following new features and updates:

CSV File Writer Adapter New Option

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

StreamBase-to-StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase-to-StreamBase output adapter has new behavior for warning about dropped tuples, as described in Dropped Tuple Warning Behavior.

Fixes

StreamBase 6.0.7 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.6

New and Updated Features

StreamBase 6.0.6 included the following new features and updates:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. 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.

Note

StreamBase Systems does not recommend using Sun JDK versions 1.6.0_04 through 1.6.0_07 because of a JDK bug that interferes with the operation of Eclipse-based applications, including StreamBase Studio. For reference, this bug is tracked in the Eclipse bug database as number 214092, and in Sun's Java bug database as number 6614100. The bug was fixed as of Sun JDK release 1.6.0_10.

Default Maximum for JVM Memory Increased to Support Larger Applications

The default maximum JVM memory for running StreamBase Server was increased from 256 MB to 512 MB, to accommodate larger StreamBase applications. You can adjust or override this setting by editing the java-vm section of the server configuration file. As a consequence of this change, the minimum recommended memory for workstations running StreamBase Studio or StreamBase Server is now 1 GB.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Enable event port setting enables a connection event output port for both adapters. You can monitor the output stream on this port to determine the status of the connection between StreamBase Servers that these adapters implement. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

Fixes

StreamBase 6.0.6 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.5

New and Updated Features

StreamBase 6.0.5 included the following new features:

New Option to Reduce Latency of Communication Between Server and Clients

You can reduce the latency of communication between StreamBase Server and StreamBase clients by means of a new configuration option and, for Java clients, a system property.

Set the environment variable STREAMBASE_TCP_NODELAY to true to disable the Nagle algorithm on network connections. In addition, for Java clients, you can set the system property streambase.tcp.nodelay to true. While it is best to set STREAMBASE_TCP_NODELAY on both the client and server, setting it on the server is often more important than setting it on the client.

Note

Disabling the Nagle algorithm can improve latency characteristics, but it can also make network utilization less efficient. This may reduce the maximum throughput rates for a given network interface.

New Hotspot FX Trading System Adapter

This release introduced a new adapter that allows a StreamBase application to retrieve market data from, and submit market requests to, a Hotspot FX currency trading system. The adapter is described in Hotspot FX Trading System Adapter and includes a sample, described in Hotspot FX Trading System Adapter Sample.

Fixes

StreamBase 6.0.5 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.4

New and Updated Features

StreamBase 6.0.4 included the following updates:

SSH Keyboard-Interactive Authentication Now Supported

Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. Starting with release 6.0.4, StreamBase Studio also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the WindowPreferences dialog, on the StreamBase StudioLaunching page. See Launching Panel for details.

Behavior Change for Some Container Connections

Starting with release 6.0.4, for stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

JMS Embedded Output Adapter Change

If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (__JMSServerName and __JMSDestinationName).

Messages from Adapters Have Identifying Prefixes

Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) have as a prefix a string that identifies the adapter instance sending the message.

Expression Language Addition

This release adds the new_tuple() function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language Functions for details.

Java Client Library Changes

In the Tuple class, the getFields() method was previously defined as being able to throw a TupleException. The getFields() method can no longer throw this exception, and the throw signature has been removed. If your code has a try-catch block specifically for this exception, remove the try-catch block.

Changes in All Client Libraries

In the Java, C++, and .NET Client libraries, the flushBuffer() method of the StreamBaseClient class was modified to return a helpful error message if called before enqueuing was enabled for a stream.

Documentation Updates

The Visual C++ settings for building custom functions and client applications with the StreamBase Client library were updated and moved to a separate page, Configuring Visual C++.

Fixes

StreamBase 6.0.4 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.3

New and Updated Features

StreamBase 6.0.3 was primarily a maintenance release. It also included the following updates to the documentation:

Fixes

StreamBase 6.0.3 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.2

StreamBase 6.0.2 was a maintenance release. See Limitations Resolved in 6.0.x for a list of issues resolved in this release.

What Was New in StreamBase 6.0.1

New and Updated Features

StreamBase 6.0.1 included the following new features:

Migration Issue with Dynamic Variables

If your EventFlow or StreamSQL application uses dynamic variables, there may be an issue when migrating your applications. Previous releases allowed you to use the same name for variables, field names, and stream names. Release 6.0 introduced support for hierarchical tuples, and introduced self-referencing dynamic variables. These features were added at the cost of the possibility of ambiguity in resolving the names of identically named objects. For details on this issue, including workarounds and best practice recommendations, see the entry for SB-11437 in the 6.0.1 Release Note Archives.

Visual Debugger Display Updates

Release 6.0.1 introduced execution path display browsing for the visual debugger. In release 6.0, the visual debugger highlighted the top suspended operator in the EventFlow canvas when a breakpoint was reached. In release 6.0.1, the full execution path leading to the suspended operator is highlighted. If you select a suspended operator, Studio highlights it with a border. The top executed component is also bordered.

EventFlow paths are thread-specific. This means that if execution switches to a new thread (for example, at a multi-threaded operator), the path display in the previous thread is removed and a new path starts at the new thread's starting point (for example, a multi-threaded operator).

In the case of branching paths, all branches are shown, if they are in the same thread. The last executed path can be identified by its top operator, which is highlighted with a border.

Output streams are now steppable. This improves the clarity of the execution path, as well as providing a complete path while stepping through multi-module applications. In release 6.0, it was possible only to step up to an output stream, but not over it. In 6.0.1, it is possible to step over output streams. If an output stream is the last executable operator in a multi-module application, the application can only be resumed after stepping over such operator. That is, further stepping is disabled.

Chronicle Support for Vhayu Velocity

This release added Vhayu Velocity versions 6.4 and later to the external event-store databases supported by StreamBase Chronicle. Contact your StreamBase Systems representative for more information on the Chronicle for Vhayu add-on kit.

Chronicle Support for Reuters RTCE

The Chronicle for Vhayu kit also provides support for the Reuters Tick Capture Engine, which is powered by Vhayu Velocity. Contact your StreamBase Systems representative for more information on StreamBase's support for RTCE.

JDBC Support for Sybase IQ

This release added support for JDBC access to Sybase IQ version 12.7. This supplements the existing support for JDBC access to Sybase ASE version 12, and the Chronicle for Sybase RAP add-on kit.

New HTTP and IRC Embedded Input Adapters

This release added two embedded input adapters to the IP Adapters installation kit. The HTTP adapter reads HTTP protocol messages from a TCP stream and converts them to tuples, optionally filtered by a keyword. The IRC adapter does the same for IRC protocol messages.

Fixes

StreamBase 6.0.1 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.0

What Was New in StreamBase Reuters Edition 6.0

StreamBase Reuters Edition 6.0 included the following new features:

New Reuters RMDS Publishing Output Adapter

The new Reuters RMDS Subscribing Adapter allows a StreamBase application to publish market data to RMDS 6 servers. This adapter complements the existing StreamBase Managed Publishing Adapter for Reuters RFA, which supports RMDS 5. The Reuters RMDS Publishing Adapter is an embedded adapter represented as an icon on the canvas in StreamBase Studio, and runs in the same process as the StreamBase application. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter for more information.

New Reuters Messaging Adapter

The new Reuters Messaging adapter gives a StreamBase application the ability to communicate with existing users of the Reuters Messaging network via instant messages. This external adapter, for Windows only, is provided in a separate installation kit.

RTIC Limitations Lifted

Previous releases limited connectivity to RTIC servers unless Studio was configured to use a Java 1.6 JRE. StreamBase Reuters Edition 6.0 now ships embedded with Sun JRE 1.6.0_03, which lifts the RTIC restrictions.

New StreamBase Features

StreamBase Reuters Edition 6.0 inherited all the new and updated features of the underlying StreamBase release described below.

New and Updated Features

New Features
Visual Debugger

Starting with release 6.0, StreamBase Studio includes a visual debugger for EventFlow applications. In the SB Test/Debug perspective, standard Eclipse debugger views can now be used for debugging EventFlow applications, including the Debug, Breakpoints, and Variables views. You can set breakpoints on arcs in the application. When you run an application in debug mode, you can stop on breakpoints, pause the application, step through the application, and step into or step over modules. The Variables view shows tuple contents as execution passes through various processing stages. With the debugger running, an execution stack is preserved for the application as a whole, which allows you to review the steps of your debugging session and return to any step. The Variables view and breakpoint highlighting in the EventFlow diagram are coordinated with selections in the execution stack. See Using the EventFlow Debugger.

In previous releases, the Debugger View contained the command line debugger, sbdb. Starting with release 6.0, the Debugger View was removed from StreamBase Studio. The sbdb command is still delivered as a command line tool for use outside of Studio, but its use is deprecated and it may be removed in a future release.

Unit Testing of Modules in StreamBase Studio

Starting with release 6.0, you can develop unit tests for StreamBase modules to confirm that your modules return the expected result tuple given known input streams. You can create a unit test in Studio by creating a test file in .sbtest format, using the new graphical StreamBase Test Editor, or by recording the input and output streams of a running application and saving the results as a test file. You can edit saved tests in Studio with the Test Editor. The new sbtest command provides a way to run a saved test file from the command prompt. See StreamBase Tests (sbtest).

Profiling Support

StreamBase now supports profiling of StreamBase applications, which lets you gather runtime statistics for an instance of StreamBase Server over the course of an entire run. The sbmonitor window has a new profiling view. Use the new sbprofile command to gather profiling statistics from a running server, and to display a saved statistics file in CSV or simple HTML table format. See Profiling.

Named Schemas

Starting with release 6.0, you can define schemas as named objects at the application level. Named schemas and their fields can be referenced in any component that takes a schema, and in expressions throughout EventFlow and StreamSQL applications. The EventFlow Editor now includes a Named Schemas tab that lets you store named schemas for reuse throughout your application. In StreamSQL, you can create named schemas using the new CREATE SCHEMA statement. See Schema Overview.

Unnamed schemas are still supported, and are now called private schemas in Studio and anonymous schemas in StreamSQL. A private schema is accessible only to the component in which it is defined, and to connected downstream components in the application flow.

Hierarchical Data and New Tuple Data Type

StreamBase now supports hierarchical data by means of a new data type, tuple, which is a collection of one or more fields defined in an associated schema. A tuple schema can contain one or more nested schemas (including named schemas, described above) to an arbitrary depth. You can access tuple data in StreamBase expressions and in CSV data files. The Manual Input view in Studio's SB Test/Debug perspective shows a tuple field indented and containing its own input fields.

Important

Hierarchical data and nested schemas are not yet supported when using feed simulations or with the new Unit Test feature described above.

Logging Support for Java Code

When developing custom Java clients, operators, adapters, or functions, you can now take advantage of the Java logging facility used internally by StreamBase code. The existing com.streambase.sb.util.Msg is deprecated and now delegates to the new logging facility. The new logging facility is based on SLF4J, which can be extended to support other Java logging interfaces; the default logging implementation is logback. The new logging facility is embedded in sbclient.jar, which makes it available for all custom StreamBase Java code. Start logging with a call to Operator.getLogger(). Studio's Java code generation wizards now include examples of using getLogger(). You can also use the logging facility in conjunction with the new Log Output Adapter described below. See Using StreamBase Logging.

Platform Support Changes
  • StreamBase 6.0 includes support for the 64-bit version of Windows Server 2003 for both development and deployment. See 64-Bit Windows Considerations for more information.

  • Red Hat Enterprise Linux AS 3.0 and Novell SUSE Linux Enterprise Server 9 are now deprecated as platforms for new development or deployment.

JDK 1.6 Bundled for All Platforms

This release has the following changes to the Sun JDK bundled with StreamBase.

  • For Windows, the JDK version installed for private use by StreamBase is now 1.6.0_03.

  • For Linux and Solaris installations, a working subset of Sun JDK 1.6.0_03 is now installed for private use by StreamBase Studio and StreamBase Server, and this JDK is used by default.

For all platforms:

  • If you are using the bundled JDK 6 with Studio, but want to make sure that your Java projects still work with JDK 5, change your Java > Compiler settings to 5.0. Use the WindowPreferences dialog to make this change for your entire workspace, or for selected projects.

  • You can specify the use of another JDK, overriding the default, using the instructions in Using an External JDK.

Enhanced Features
Performance Improvements

The handling of streams with wide schemas was improved, resulting in a significant StreamBase Server speedup for certain classes of applications when handling such streams.

StreamBase Expressions in Java Operators and Adapters

You can now use StreamBase expressions in Java operators and adapters that you write to extend StreamBase. Your operators and adapters can access dynamic variables by means of expressions.

Application Files Now UTF-8 Encoded

StreamBase EventFlow application files (.sbapp) and StreamSQL files (.ssql) are now UTF-8 encoded on all platforms. In previous releases, files were interpreted with cp1251 on Windows.

You can override the new default settings to make the server use a different encoding when reading files. Do this with the -Dfile.encoding parameter in the configuration file for the server. For example: <param name="jvm-args" value="-Xms64m -Xmx256m -Dfile.encoding=Cp1252"/>

JDBC Operator Changes

The JDBC operator was enhanced to support stored procedures, and you can now specify an exact schema for a data source in both EventFlows and StreamSQL, instead of relying on automatic typechecking. When batching, you can now specify a timeout.

StreamBase URI Shortcuts

You can now use shortcuts when specifying a StreamBase URI in Java or C++ code that uses the StreamBaseURI class, or when specifying a URI for the sb* command-line utilities. The shortcuts are documented in the sburi reference page.

URIs Shown in Error Messages

When using the sb* command-line utilities, in many cases, the URI from the failing StreamBase Server instance is included in the error message if a command fails. This is useful in high availability scenarios to determine the cluster member on which the error occurred.

New Features to Support High Availability and Clustering

The following features were added to support the new StreamBase HA and clustering solutions introduced in release 5.1:

Legacy Clustering Removed

Release 5.1 removed documentation for the legacy StreamBase clustering implementation and deprecated the sbclusterd and sbnoded commands. As of release 6.0, the commands themselves were removed.

New Information Shown in sbmonitor

Inter-module and inter-container queue lengths are now displayed in the sbmonitor window.

New Command for sbmonitor

While sbmonitor is running, you can use the + and – keys to increase or decrease the size of the top operator output.

Synchronous Container Connections

Connections between containers are buffered by default. You can now specify a synchronous container connection by using := instead of just = in the sbadmin addContainer or sbadmin modifyContainer command that creates your container connection. See Synchronous Container Connections.

Updates to sbmonitor

In addition to the HA support changes described above, the sbmonitor command has the following new features:

  • sbmonitor now displays in the top status lines the number of enqueue connections as well as the number of dequeue connections to the monitored server instance.

  • sbmonitor's operator view now shows exponential time weighted statistics for each operator. This shows you which operator has the highest percentage of CPU usage right now.

  • sbmonitor now has a profiling view that you enter by typing P. In this view, you can see which operators have the highest percentage of CPU usage over an entire sbmonitor session.

StreamSQL Updates

The StreamSQL language was extended with the following features:

  • The new CREATE SCHEMA command brings named schema support to StreamSQL.

  • You can now optionally specify a name for Java operators and embedded adapters. Named operators and adapters can be suspended, resumed, and shut down using the sbadmin command. For example:

    APPLY JAVA "com.example.sb.mogrifier" AS mogrify
        FROM instream INTO outstream;
    
Enhanced StreamBase Manager

StreamBase Manager, a GUI alternative to the text-based sbmonitor command, was enhanced with new views. For Windows installations, StreamBase Manager is now an entry in the StreamBase section of the Start menu.

Chronicle Updates

StreamBase Chronicle is an optional high-capacity event-store that can be used to provide persistent data storage in association with streaming applications. This release includes the following updates to Chronicle:

  • Chronicle for Vertica now supports Vertica 2.1.

  • Chronicle for Sybase RAP now supports the API for the Trading Edition of Sybase RAP for direct loading of the data store. Previous releases used CSV files as an intermediary for loading Chronicle for Sybase data stores.

Contact StreamBase Systems for information on adding StreamBase Chronicle to your StreamBase implementation.

Expression Language Changes

The following simple functions were added to the StreamBase expression language: coalesce_tuples(), format(), format_time(), parse_time(), tuple(), and the tuple constructor. The following aggregate functions were added: median(), withmin(), and withmax().

The min() and max() aggregate functions were extended to support any data type that can be compared with < or >, which includes int, double, long, timestamp, string, and blob. See StreamBase Expression Language Functions for details.

Dynamic variables can now be used as bare values in aggregate expressions. In previous releases, you could write sum(K) + sum(x), or lastval(K) + sum(x), where K is a dynamic variable. Now you can write K + sum(x). The value of K at calculation time is used to find the result of the aggregate expression.

Self-Referencing Dynamic Variables

In EventFlow applications (but not yet in StreamSQL), dynamic variables can now be self-referencing in the update expression. This means update expressions can use the old value in order to do up the update. For example, the update expression for the variable counter could be counter + 1 to get incrementing behavior. This functionality can also be used to conditionally update a variable based on other conditions in the update stream.

New Samples Added

This release includes the following new samples:

The firstapp sample and its associated Getting Started tutorial in the Help system were revised.

StreamBase Studio Updates
Studio Based on Eclipse 3.3

StreamBase Studio is now based on Eclipse 3.3.2. This allows you to install third-party Eclipse plug-ins that support or require Eclipse 3.3, including plug-ins that add version control to Studio.

Perspectives Renamed

StreamBase Studio's three perspectives were renamed to SB Authoring, SB Test/Debug, and SB Demos. This improves the perspective name's visibility in the default-sized perspective bar.

Simplified Run and Debug Buttons

StreamBase Studio 6.0 provides one Run and one Debug button in the Studio toolbar, to be used for StreamBase applications and for other Eclipse Run and Debug functions you may need. In the 5.x release series, StreamBase Studio had Run and Debug buttons from the Eclipse framework, plus two separate Run and Debug buttons for StreamBase applications. Studio 6.0 restores the Run button simplicity of the 3.x release series.

Support for Precompiled Applications in Studio

Studio now supports the generation of precompiled application files (sbar files) as part of the builder running over your StreamBase projects. This significantly improves the startup time of those applications when launched from Studio. By default, generating precompiled files is disabled, and should remain disabled for modules in active development. You can enable the generation of precompiled application files at the project level, or on a per-file basis.

Refactoring Support

Studio now participates in Eclipse's refactoring feature for StreamBase application names and CSV files. When you use RefactorRename to rename a CSV file, or an sbapp or ssql application file, Studio detects where that resource is referenced in other parts of the current project, and automatically updates those references for you. Studio maintains a refactoring history in each project's Properties dialog. See Refactoring StreamBase Project Resources for more on this feature.

Operator Parameters Supported

The Properties view for adapters and operators now fully supports operator parameters in the form ${parameter}.

Copy Schemas from System Container

The Copy Schema dialog invoked from a Schema properties page in Studio now allows copying a schema from a stream in the system container. For example, you can copy the error stream schema, or stat stream schema.

Comments in EventFlow Applications

To help you document your EventFlow applications, you can now add a description comment for each row of a schema, for the schema as a whole, and for each EventFlow application or module as a whole.

Custom Icon Overlays

You can now add your own icon overlays to the icons for modules, adapters, and operators in EventFlow diagrams. See EventFlow Editor Metadata Tab for instructions.

Clarified Messages from StreamBase Server

StreamBase Studio now displays a warning about an expired StreamBase license when you try to run or debug an application. In general, warnings and errors from StreamBase Server are more clearly shown: the last few lines of output from a failing server process are shown in error dialogs.

Highlight Toggle Button in Studio Help

StreamBase Studio inherits from Eclipse 3.3 the ability to toggle on and off the highlighting of search terms on the Studio Help pages. After you have searched for a term, look for the highlight button () in the toolbar above the Studio help text window.

Adapter Changes
New Reuters RMDS Publishing Output Adapter

The new Reuters RMDS Subscribing Adapter allows a StreamBase application to publish market data to RMDS 6 servers. This adapter complements the existing StreamBase Managed Publishing Adapter for Reuters RFA, which supports RMDS 5. The Reuters RMDS Publishing Adapter is an embedded adapter represented as an icon on the canvas in StreamBase Studio, and runs in the same process as the StreamBase application. This adapter is part of the base kit for all editions of StreamBase. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter for more information.

New Reuters Messaging Adapter

The new Reuters Messaging adapter gives a StreamBase application the ability to communicate with existing users of the Reuters Messaging network via instant messages. This external adapter, for Windows only, is provided in a separate installation kit.

New Once Input Adapter

The Once embedded input adapter sends exactly one tuple when its containing module starts or restarts. This can be used to initialize an application on first start or to re-initialize on restart in a high availability failover situation.

New POP3 Reader Input Adapter

The new POP3 embedded input adapter reads Internet Protocol packets, either from the IP stack of a running system or from an archived capture file, and emits a tuple for each e-mail message found in the TCP data stream. This adapter is provided in a separate installation kit. See POP3 Reader Input Adapter for more information.

New Log Output Adapter

The Log embedded output adapter is a pass-through that copies each received tuple to the StreamBase logging system described above. The Log adapter can be used as a logging endpoint or inline in an application.

RSS Adapter Updates

The RSS Input Adapter was reworked to better handle non-standard RSS feeds. The publication date of an RSS message can now be enqueued as a timestamp.

EMS/JMS Adapter Updates

The EMS/JMS adapter installation kit previously supported one embedded input adapter and a pair of input and output external adapters. This release adds a fourth adapter to the kit, the EMS/JMS embedded output adapter. The message converter API for using all four EMS/JMS adapters changed, and some limitations in the adapters were fixed. The EMS/JMS adapters now support the TIBCO EMS RELIABLE_DELIVERY mode. See JMS Input and Output Adapters for details.

API Changes
C++ Clients Require Recompiling

There were internal changes to the C++ classes in the StreamBase C++ API that require recompiling. If you have custom clients or custom functions written with this API, you must recompile them with the 6.0 libraries before running them with a 6.x StreamBase Server. Linux versions of the StreamBase 6.0 C++ API are now built with GCC 3.4.

API Changes

StreamBase 6.0 includes a number of changes to the Java, C++, and .NET APIs for building extensions to StreamBase.

Fixes

StreamBase 6.0 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.