Contents
This page summarizes the history of significant changes in previous StreamBase releases.
This sections lists the significant changes in the StreamBase 7.4.x release series.
TIBCO StreamBase® CEP 7.4.5 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.5 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.
StreamBase 7.4.5 added the following updates and new features:
- JMS Adapter Updated
-
The JMS Adapter was updated to support the
Simple
message type. The JMS Configuration File Editor was updated to supportSimple
messages, and the adapter's documentation was updated to match. - Exegy Adapter Updated
-
The StreamBase Exegy adapters now rely on version 3.5.0 or later of the JAR file that implements the Exegy Client API,
XCAPI.jar
. As before, this JAR file is provided as part of your Exegy installation and is not shipped with StreamBase. - Platform Changes
-
As of TIBCO StreamBase release 7.4.5:
-
The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u79.
-
The list of supported JDBC databases now includes Oracle 12c.
-
TIBCO StreamBase® CEP 7.4.4 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.4 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.4.4 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:
-
The TIBCO StreamBase® Adapter for Exegy
If you purchased these adapters as part of CEP 7.4.4, you no longer need to install the StreamBase CEP Connectivity Pack to access them.
The three 29West adapters listed below are now sold as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:
-
The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM
-
The TIBCO StreamBase® Publishing Output Adapter for 29West LBM
-
The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (new; see announcement below)
StreamBase 7.4.4 added the following updates and new features:
- Notifications Now Given for Null Arguments to Custom Functions
-
When a custom function is called with null values for arguments that expect a primitive type, execution continues, but now a console warning is issued and a tuple is emitted on the error port of the operator that invoked the function. Formerly, when given null values for such arguments, custom functions silently returned nulls.
- New 29West Output Adapter for Acknowledging Messages
-
The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.
- Explicit ACK for JMS Reader
-
The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgment of the message.
TIBCO StreamBase® CEP 7.4.3 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.3 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
StreamBase 7.4.3 added the following updates and new features:
- Specify Time Zone to format_time()
-
You can now provide an optional third argument to
format_time()
that specifies a time zone location (such as"US/Hawaii"
) or abbreviation ("PST"
), as was already possible for thestrftime
function. For details, see the documentation forformat_time
. - More Argument Types for Custom Java Aggregate Functions
-
User-defined aggregate functions can now accept array, list, and variable-length inputs.
- New Property Enables Active Financial Input Adapter to Interpret Null Values
-
The new property
allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.Previously when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. Fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property has been added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, preserving the adapter's legacy behavior.
- Change in Default Time Format for CSV Adapters
-
The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:
yyyy-MM-dd hh:mm:ss.SSSZ
The new default format is the following, with the hours field now uppercase:
yyyy-MM-dd HH:mm:ss.SSSZ
- Updates to Documentation
-
The StreamBase documentation for release 7.4.3 included all the documentation updates reported for release 7.4.2. Specific updates include:
-
The temperature conversion example in the documentation for Defining Functions in the Expression Language was corrected and expanded to more clearly illustrate how to provide an EventFlow function to an operator.
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.
-
TIBCO StreamBase® CEP 7.4.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.2 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were packaged with TIBCO StreamBase CEP in previous releases. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Be aware that the contents of this package are subject to change.
In the 7.4.2 release, the following adapters are no longer part of the StreamBase CEP Connectivity Package and now ship with the StreamBase CEP and StreamBase CEP Standard editions:
-
TIBCO StreamBase® Adapter for Bloomberg B-Pipe
-
TIBCO StreamBase® Adapter for Bloomberg BPOD
-
TIBCO StreamBase® Adapter for Bloomberg Server API
-
TIBCO StreamBase® Adapter for Bloomberg Tradebook FX
-
TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface
-
TIBCO StreamBase® Adapter for GAIN GTX
-
TIBCO StreamBase® Adapter for Hotspot FX
-
TIBCO StreamBase® Adapter for Hotspot ITCH
If you have purchased these adapters as part of CEP 7.4.2, you no longer need to install the StreamBase CEP Connectivity Package to access them.
StreamBase 7.4.2 adds the following updates and new features:
- Forms-Based Editor for JMS and EMS Adapter Configuration Files
-
This release includes a new graphical editor for configuring the properties of JMS and EMS adapters that makes it easier to specify and reuse name maps and other configuration elements. The editor can also import settings from TIBCO Businessworks™ applications. The new UI eliminates the need to hand-edit
.jmsconf
XML files under most circumstances. For more information, see StreamBase JMS Configuration File Editor in the StreamBase Studio Reference Guide. - Parameterize Property Values for Adapters and Java Operators in Property Views
-
To more easily reuse Java operators and adapters across application contexts, StreamBase Studio now allows you to enter parameters and expressions for Java Adapter and Operator properties that do not use text boxes. In such components, all check boxes, radio buttons, and drop-down menus now optionally display a small T icon . Clicking the icon converts the control to a text field where you can enter the name of a module parameter in
${param}
format or a StreamBase expression in=expr
format.By default, the icons are hidden. To display them, clear a new preference check box,
, found under → → → . A keyboard shortcut is also available.Property views of standard StreamBase operators and data constructs do not have this feature. For further information, see Parameterizing Java Operator and Adapter Properties.
- Launch sbd Process with JVM Suspended
-
To provide complete access to an sbd process by a remote debugger, a launch configuration can now specify that the server's JVM be suspended when the process is launched. The JVM then resumes once the remote debugger attaches to the process. To enable this, use the new Suspend JVM Initially check box in conjunction with the Allow Remote Java Debugging check box when creating a launch configuration. For more information about how this works, see Editing Launch Configurations.
- Parameter Removed from Pattern Operator
-
As of this release, the Pattern operator's
polling-interval
parameter is no longer supported, and causes an error if it is present. To correct your applications, open your EventFlow module's.sbapp
file in a text editor and search for the stringpolling-interval
. If found, remove the entire<param>
element that contains that string. - New Function to Return NaN
-
The simple function
nan()
returns a NaN literal as type double. This is the same value returned from the expressionsqrt(-1)
. - Updated TopN Query Sample
-
The QueryTopN sample was revised and made easier to use by giving its Query Table a simpler schema and making the table self-loading. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.
- Updated Custom Java Simple Function Sample
-
Two new Java functions were added to the Java Simple Function sample to demonstrate how to handle variable-length argument lists.
- Eclipse Studio Update Site Is Now Downloadable
-
Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. The StreamBase Studio plug-ins can now be used with Eclipse versions 3.7, 3.8, 4.3, and 4.4.
- New Adapter for Connecting to Citi FX Option Venues
-
The TIBCO StreamBase® Adapter for CitiFX Options FIX allows a StreamBase application to connect to and exchange FIX messages with the following Citi Options product. See its documentation here.
- Input Binary Files to File Reader Adapter
-
An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a blob field.
- New Options for Bi-Directional Socket Adapters
-
-
All bi-directional socket reader adapters can now handle the
Disconnect
command when in server mode, using the incoming tuple fieldSocketIdentifier
to determine which connection to close. -
All bi-directional socket writer adapters now have a
option, which closes the incoming connection after a write is performed. -
The Bi-Directional JSON Socket Reader adapter can now accept incoming HTTP headers before parsing the JSON payload, enabling it to process data as HTTP request responses.
-
- New Options for the Web Reader Input Adapter
-
-
PassThroughFields
, which contains the entire contents of the incoming control tuple. -
Use this option with caution because ignoring certificate warnings can enable man-in-the-middle attacks.
: When enabled, any errors produced by invalid SSL certificates are ignored and the website is processed as usual. -
-
- Attachments to Email Sender Adapter Can Be Blobs Instead of Files
-
You can now provide an attachment to the Email Sender as a blob, which can be simpler than providing a local file name. In addition, you can also now specify each attachment's content type and encoding.
- Bloomberg B-Pipe Input Adapter Updated
-
The following updates were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe:
-
A reference data output port and schema specification were added to enable the adapter to respond to reference data requests. See the output ports section of the adapter's page in the Adapters Guide.
-
Users of the adapter can now specify which of five types of authentication to use. See the table in the ports section for details.
-
- EBS FIX Adapter Protocol Updated
-
The TIBCO StreamBase® Adapter for ICAP/EBS was updated to use version 1.6 of the EBS FIX specification.
- Updates to Documentation
-
-
A documentation page was added for the new JMS Configuration File Editor.
-
Entries were added to the StreamBase Glossary.
-
Information was added to the sample READMEs for the family of Bi-Directional Socket adapters.
-
TIBCO StreamBase® CEP 7.4.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.1 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
StreamBase 7.4.1 adds the following updates and new features:
- Specify Time Zones for Timestamp Field Functions and strftime()
-
The time-getting functions
get_second()
...get_year()
now take an optional second argument, a string literal, for example"UTC"
or"Europe/Zurich"
. When called with one (timestamp) argument, the functions return local time. Providing a recognized time zone ID as the second argument returns the requested unit of time for the specified time zone. Use the Java functionTimeZone.getAvailableIDs()
to get a list of all time zone IDs. For more information, see Specifying Time Zones.In addition, the
strftime()
function has a new optional argument to format timestamps for a specified time zone instead of local time. - Aggregate-to-List function Excludes Null Values
-
Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).
- Function for Current StreamBase Version
-
The new version() function returns the version of the currently executing StreamBase CEP as a string.
- Feed Simulation Updates
-
-
In the Data File options dialog, the Custom Reader button has been replaced by a check box which, when selected, lets you specify a fully qualified class name in a text field next to it. This change reminds you of the plug-in you are using when you return to the feed simulation UI again.
-
Data files for feed simulations can now occupy a different folder than the feed simulation itself, enabling simulations in different projects to share data sources. You can specify either an absolute or a relative path to data files in the Data File Options dialog. For more information, see Using the Feed Simulation Editor.
-
In feed simulations that read from data files, you can now specify "None" when mapping columns to fields rather than having to choose a column. Use this option to populate fields that are not represented in the data file with nulls.
-
You can use Eclipse internal links to specify data files. Note that the feed simulation identifies and stores the actual file location, not the link itself.
-
- Send and Receive Tweets from StreamBase Applications
-
The TIBCO StreamBase® Twitter input and output adapters enable a StreamBase application to interact with the Twitter service using the twitter4j library. The adapters receive, send and retweet tweets and issue other commands, such as searching and filtering.
- Hotspot FX Market Feed and Execution Adapters
-
The new TIBCO StreamBase input and output adapters for KCG Hotspot FX allows a StreamBase application to connect to and exchange FIX messages with KCG Hotspot BookFeed Market Data and Order Entry And Execution services. See the Adapters Guide for more information.
- Compare Missing Tuples to Unexpected Tuples in Unit Tests
-
To provide more useful diagnostics, SBUnit test failures with multiple missing/unexpected tuples now throw a ComparisonFailure instead of an AssertionFailedError.
- JDK Updated to 1.7_55
-
StreamBase kits now install runtime components of JDK 1.7_55 (also called 7u55).
- Sample Illustrates Type Coercion Rules
-
Running the Type Coercion Sample shows how same-named numeric field values with certain compatible types can all appear to be carried by a new field with a type compatible with all original values.
- Sample for Setting Debugger Breakpoints
-
The DebuggingBreakpoint sample illustrates setting unconditional and conditional breakpoints on data arcs when debugging applications in StreamBase Studio.
- Updated JDBC Query Sample
-
The StreamBase sample explaining how to use JDBC data sources has been completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.
- Documentation Updates
-
The StreamBase documentation for release 7.4.1 includes all the documentation updates reported for release 7.3.11.
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website.
-
An explanation of configuring clients and servers to run on SSL connections using the
sbs://
protocol was added. See SSL Authentication in StreamBase References.
-
This section details changes in behavior between the 7.4.x series and the 7.3.x series.
- Change to StreamBase Studio Behavior for Launching Applications in Project Subfolders
-
If one EventFlow application references a second EventFlow application in the same subfolder within a project, you must add the subfolder to the module search path in order to run the referencing application. One symptom of failing to do this is receiving a "module not found" message from the debugger when attempting to step into a referenced module. This behavior differs from StreamBase Studio 7.3.x and previous releases, in which the referencing application would start without the subfolder being added to the module search path.
Note
The file names of TIBCO StreamBase® CEP, TIBCO StreamBase LiveView®, and adapter installers have recently changed, and are structured as follows:
TIB_<productid><major>.<minor>.<servicepack><os_id>_<hw_arch>.<container_suffix>
For example, the Windows installer for this version of StreamBase CEP is:
TIB_CEP_7.4.0_win_x86.msi
for 32-bit windows, or
TIB_CEP_7.4.0_win_x86_64.msi
for 64-bit windows
Access installers for your TIBCO StreamBase license products via login at download.tibco.com. After you log in, search for "StreamBase". When you click a product's name in the resulting page of results, the installers available for it are listed.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change.
TIBCO StreamBase® CEP 7.4.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.0 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.10.
TIBCO StreamBase® CEP 7.4.0 added the updates and new features shown in the following sections.
- New Iterate Operator Functionality
-
The iterate operator has the following new features
-
An expression for list to iterate over.
-
An optional while expression.
-
Target list for output expressions.
Operators in existing applications still run as expected. For details, see Changes to the Iterate operator.
-
- Updates to Aggregate Operator
-
-
Time-based emission no longer requires additional tuple input.
-
Constant expressions are allowed when specifying size, offset, emit and advance values.
For details, see Changes to the Aggregate Operator, below.
-
- Updates to Gather Operator
-
-
New options and UI for controlling timeouts.
-
Control over emissions for partially gathered tuples.
For details, see Changes to the Gather Operator, below.
-
- Updates to Metronome and Heartbeat Operators
-
-
Use expressions to set output field values.
-
Suppress all but last heartbeat tuple following a delay.
For details, see Changes to the Metronome and Heartbeat Operators, below.
-
- Updates to Query Tables
-
-
Query Tables can now be shared across containers as well as across modules.
-
New and relocated options in the Query Table properties view.
-
Stricter rules for qualifying fields when inserting and updating tables.
For details, see Changes to Query Tables, below.
-
- Studio: Automatically Maintain Server Configuration Files
-
To make them more transportable, StreamBase projects have a new option, How Studio Uses Server Configuration Files.
, found under → → → . Under this option, StreamBase Studio automatically updates configuration files containing settings that StreamBase Server may require to run the project. This feature is particularly useful for sharing projects, for example via a source code control system, in a ready-to-run state. New projects use this synchronization feature by default. To apply it to existing projects (highly recommended), select the option in the project properties dialog, as described above. For more information, see - Studio: Import Schemas from XML and CSV Files
-
The Copy Schema wizard, available from Edit Schema tabs and dialogs, now enables you to:
-
Parse an XML file to import a schema. This functionality is also available from the XML to Tuple operator Properties view.
-
Browse to a CSV file and populate a schema with field names taken from the file's header.
The wizard can infer data types in many cases and defaults to string when it cannot do so. You can always change the resulting field names and data types that the wizard produces. For more information, see Copying Schemas.
-
- Studio: New Context Menu Item to Create Feed Simulations for Input Streams
-
You can create feed simulations for an input schema more easily now by right-clicking on an Input stream and choosing Create New Feed Simulation from the context menu. The feed simulation editor initializes with the selected schema in place. If you select more than one input stream, the feed simulation editor will initialize with a separate stream for each selected input schema.
- Studio: Improved Feed Simulation Editor Column/Field Matching
-
When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.
- Studio: Feed Simulation Field Values Can Depend on Other Fields
-
The Custom feed simulation option has a new Conditional Generation Method. Selecting it for a field lets you specify generation cases for that field that are based on values generated for another field or a combination of fields. You can base conditional fields on other conditional fields, as long as there are no circular dependencies. For more information, see Using the Feed Simulation Editor.
- Send Feed Simulation Streams to Separate Containers
-
By appropriately naming feed simulation streams and configuring a .sbdeploy file, you can now direct its streams to different containers, not just the default containers.
- Studio: Java Operators and Adapter Parameters Can Be Expressions
-
Expressions are now allowed as Java operator parameters. Any operator parameter that starts with an
=
character (equals sign) is parsed as an expression at initialization time. Not "baking in" Java operator parameters enables applications to be deployed into a wider variety of runtime environments. - Studio: New Schema Fields Default to String
-
When you add a field to a schema for a stream or operator in StreamBase Studio, its data type now defaults to string. Previously, new fields defaulted to type int.
- Studio: Module Parameter Definition Changes can be Undone and Redone
-
You can now undo and redo changes you enter in a module's Parameter Definition tab for the following actions:
-
Add Parameter
-
Delete Parameter
-
Delete All
-
Move Up
-
Move Down
-
- Studio: New Source Tab in Debug Configuration Dialog
-
The Debug Configuration dialog now includes a Source (Java) tab, which defines the location of source files used to a display source when debugging Java code as part of your StreamBase application. By default, these settings are derived from the current project's Java Build Path. You can override the default settings in the Source tab.
- Studio: Access Extension Point Modules from Context Menu
-
The Shift+F3 while an extension point is selected.
item on the context menu now has a sub-menu for directly opening any of the associated module instances. You can also access the sub-menu from the menu or by pressing - Studio: Custom Icons Supported for Extension Point Operators
-
Use the General tab of the Properties view for an Extension Point operator to specify a custom icon for that operator to appear on the EventFlow canvas. Icon image files must be in PNG, GIF, or JPG format, and must exist in the project's resource search path. Size your image file as appropriate to fit on the canvas without displacing adjacent operators, aiming for a recommended size of no more than about 64x64 pixels. See Extension Point Operator, and the
ExtensionPoint.sbapp
sample in theoperator
sample group for an example of an extension point with a custom icon. - Studio: Confirmation no Longer Required to Delete Objects from Canvas
-
When you delete an operator, adapter, stream, arc, note, or module from the EventFlow canvas, you are no longer prompted to confirm the action. You can undo any such removal, whether you have deleted one or multiple objects.
- Module Reference Tooltips Now Show Parameters and Stream Mappings
-
Tooltips shown while hovering over a module reference in StreamBase Studio now show parameter substitutions and how input and output streams are mapped, in addition to the module's name. Previously, you had to open the referenced module to obtain this information.
- Programmatic Control of Time in JUnit Tests
-
You can now control the passing of time in EventFlow applications, which is useful when running unit tests of applications that react to time (timeouts or metronomes for example). You can, for example, run a unit test, enqueue events that should all be received by the application within one second, and then tell the server that one second has elapsed, aligning the EventFlow logic more closely with a real-world input stream.
Several Java classes and interfaces and a new enum have been added to provide this control. For more information, see Using the StreamBase JUnit Timeservice in the Test/Debug Guide.
- Studio: Changes to the Aggregate Operator
-
The following updates were made to the Aggregate Operator:
-
In any dimension dialog, you can now enter a simple numeric constant expression for size, offset, emit and advance values, as you already could for Predicate-based dimensions.
-
Time-based windows now close and emit once the specified interval (window size) is reached, without requiring further tuple input. This means that it is no longer necessary to tickle time-based windows with null tuples (such as from a Heartbeat operator) to cause them to close and emit.
-
- Studio: Changes to the Gather Operator
-
The flexibility and usability of the Gather operator has been enhanced in several respects:
-
Rather than buffering unmatched tuples indefinitely, Gather now emits tuples after a set amount of time has passed, even if not all of the inputs have been received. When a new tuple ID is encountered, a timer keyed to it starts counting and is not cleared until all matching tuples have been gathered and emitted. If that tuple ID times out, a tuple is emitted containing null entries for unmatched fields.
-
"Application timeout" no longer causes replacement policy to switch from "keep last" to "keep first." You can now specify replacement policy and emission strategies independently. There is also a new replacement policy named "keep first (strict)", which emits errors when duplicate entries come on the same input port.
-
"Output last time" no longer also enables the behavior of "only emit on application timeout". You can now specify which emissions strategies are enabled, and whether or not to add a last_time field independently. The typechecker will warn you if last_time is not guaranteed to be monotonically increasing (this is the case when you have application timeouts combined with other emission strategies.)
-
In addition to specifying a timeout interval, you can also now force emission by specifying a predicate expression on the inputs which, when evaluating to true, will emit partial tuples.
Operation of the timeout feature is demonstrated in an updated Gather sample.
-
- Studio: Changes to the Iterate operator
-
-
The Operations Settings tab now has Iterate Over, Iterate Condition, and Iterate Filter fields in place of the Iterate Over and Output Element Field Name fields provided in prior releases.
-
Iterate Over remains a field name or an expression that evaluates to an input field of type list
-
Iterate Condition is a boolean expression, which when false, terminates iteration, like in a while loop. Both simple and aggregate expressions can be specified.
-
Iterate Filter is a simple boolean expression, which when false, skips the current list element.
-
-
The Output Element Field Name setting has been replaced by a new Output Settings tab, having the following features:
-
An Input Fields grid, enabling you to choose which input fields to include in or drop from the output. By default, all fields are output at each iteration, subject to the Iterate Filter.
-
An Additional Expressions grid, enabling you to construct output fields, as you can with a Map operator.
-
-
The operator provides internal access to the list being processed and the current element's content and index for use in expressions.
Iterate operators in existing applications should continue to work normally. For more information, see Using the Iterate Operator.
-
- Studio: Changes to the Merge Operator
-
You can now merge data from more than two input streams. The Merge Settings tab now allows you to choose or enter the number of input ports to merge from. You can also drag an arc onto the operator to add an input port.
- Studio: Changes to the Metronome and Heartbeat Operators
-
To prevent the Metronome operator from issuing multiple tuples following delays in servicing it, you can now suppress all but the latest tuple. Select the new check box
in situations where downstream operators or applications that consume output streams are unable to keep pace with the metronome. This can occur when its output interval is very short.You can now prevent a Metronome operator from firing by setting the value of its output interval to 0.
Both the Metronome and Heartbeat operators can now accept constant expressions in addition to strings and parameters to define their output interval (and the Heartbeat Maximum delay property).
- Studio: Changes to Query Tables
-
-
Query tables can now be shared across separate containers at run time:
To reference a table in the same or a different container, enter a connection string for it in the Table Settings tab. The string is a fully qualified path that includes a container name, module and sub-module names, and a table name.
-
Some controls in the Query Table properties view have changed or moved:
In particular, the Table Schema drop-down has moved to the Schema Tab, and a new drop-down named Table Location appears on the Table Settings tab. On the Initial Contents tab there is a new check box,
, that is enabled when the is selected when importing CSV files that have headers. -
Inserting or updating table rows using ambiguous (unqualified) field names may now generate warnings, unlike in previous releases.
In previous releases, StreamBase Studio would default unqualified identifiers to
input.
. Now you are warned, and may either suppress the warnings or update the ambiguous identifiers. For additional details, see the release note for SB-25658 in Limitations Resolved in 7.4.x.fieldname
For migration information about data constructs, see EventFlow Editor 7.4 Changes. The Query Table UI is documented in Using the Query Table Data Construct.
-
- Studio: JDBC Query Operator Reports Reconnection Events
-
When using a Query operator associated with a JDBC Table data construct, if a reconnection to the data source becomes necessary, a tuple is now emitted on the Error Output Port of the Query operator with the message
Attempt reconnect to data source
. When the reconnection succeeds, another tuple on this port reportsSuccess reconnecting to data source
. - Studio: New Configure Sources Link for JDBC Tables
-
The JDBC Table data construct now has a hyperlink labeled configure sources on the Data Source tab of its Properties view. Use the link to open the project's server configuration file. If no configuration file exists for the current project, clicking this link opens the New StreamBase Server Configuration File dialog to create a new, empty configuration file. See Using the JDBC Table Data Construct.
- Studio: Changes to the Sequence Operator
-
You can now place a Sequence Identifier in any suitable numeric field from the input stream rather than having to declare a new field to hold it.
- Studio: Automatic Port Deletion for the Union Operator
-
Starting with this release, when you delete an arc entering a Union operator, or you delete the component immediately upstream of such an arc, the corresponding input port is automatically removed from the Union operator, and the count of input ports on the Union Settings tab of the Properties view is decremented.
- Studio: Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator
-
Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:
-
Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.
-
XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.
-
Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.
-
Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.
See Using the XML to Tuple Operator in the Authoring Guide for more information.
-
- Studio: Schemas for Arcs Can Be Forward Declared
-
You can now forward declare most arcs, not just those in loops, using the same UI as for Output Streams. As before, you can use this to break loops, but now it also works for other purposes, such as reordering fields.
Changes to how EventFlow canvas displays operators, adapters and arcs:
- Objects Have a More Consistent Look
-
-
Operators no longer have drop shadows when selected.
-
Data Construct diamonds have a thinner border and no drop shadow when selected.
-
Stream arrows are thicker, the text now a non-bold larger font, "INPUT" and "OUTPUT" are now "Input" and "Output", the border is now thinner, and there is no more drop shadow
-
When dragging a canvas object, the ghosted figure that displayed as you reposition it has a drop shadow and no blue selection background.
-
- New Flat Visual Theme in Studio
-
Version 7.4 gives you a choice of two themes for displaying canvas objects, "Flat" and "Classic". The two Query operator icons below illustrate the difference in appearance between the themes.
Classic Flat The new Flat theme is the default. To revert to the Classic theme, navigate to Theme.
→ → → → and click the button underFor a complete comparison of Studio icons, see EventFlow Editor 7.4 Changes.
- Single Palette Icon for Adding Adapters and Java Operators
-
There is now a single palette icon for adding a Java operator, .NET operator, Input adapter or Output adapter to an EventFlow canvas. It works the same way as the adapter and Java operator palette icons in earlier releases of StreamBase Studio; you drag it to the canvas and pick a specific operator or adapter from a pick list. The new icon looks like the following:
For further information, see EventFlow Editor 7.4 Changes.
- Data Arcs connecting Query Tables and Operators now Depict Query Type
-
To more clearly depict how Query operators use Query tables, StreamBase Studio now renders all such connecting arcs as follows:
-
Dashed lines indicate Query Reads
-
Dotted lines indicate Query Writes
-
Dashed-dotted lines indicate deletes
The styles are illustrated in Using the Query Operator.
-
- Stream Arcs Are Now Bendable
-
You can introduce curves into a stream arc by selecting it and dragging a black square handle that appears at the arc's midpoint. Displacing that point adds an inflection point and also two new handles on either side of it, which you can then displace to approximate a curve. To remove an inflection point, click and drag it back to a straight-line position. Moving either object that a curved arc connects removes all inflection points. You can still curve arcs automatically using the Ctrl+Alt+L). Both features only affect stream arcs. Data arcs are always straight.
feature ( - Notes on a Studio Canvas Can Be Attached and Rearranged
-
You can now disconnect a note from a component and connect it to other components after the note has been created. In addition, a tool tip displays the content of a note when you hover on a connection to it. See Using Notes for details.
- New Palette of Custom Colors for Group Backgrounds
-
The color chooser for setting group backgrounds now has a more harmonious palette of recommended choices for custom colors. You can still define your own background colors.
The EventFlow Debugger in Studio was extensively rewritten to provide the following new features and changes:
-
The default, filtered Debug view includes frames that map to EventFlow arcs, and includes Java stack frames for code in custom adapters or operators and in Java code called from them. The default view excludes Java frames for StreamBase-proprietary server-side code.
Before debugging, see the Limitations and Cautions on the EventFlow Debugger page.
- Call Custom Java Functions with Variable-Length Arguments
-
You can now implement vararg syntax in custom simple and aggregate Java functions that you invoke with
calljava
or with a function alias. - Call Custom Java Functions with Lists
-
EventFlow lists and lists of lists of numeric types are now transparently passed to plug-in Java functions as Java arrays, improving efficiency and interoperability with mathematical libraries. As a result, you can pass a StreamBase list to a Java function. This enhancement also allows you to pass lists of lists to functions expecting array arguments. For example,
list(list(int))
can be passed to functions acceptingint[][]
. Note that array arguments cannot exceed two dimensions. See Method Parameter and Return Types in Creating Custom Java Functions. - Partially Anonymous Schemas with Generated Names are now Fully Anonymous
-
In previous versions, StreamBase generated internal names for streams with anonymous (unnamed) schemas, names such as "
schema:InputStream
". These generated names have been eliminated, and can no longer be relied upon for client API requests of schema by name, such asStreamBaseClient.getSchemaByName(String)
(or similar C++, .NET, and Python APIs, and the sbc list schema command). To find the schema of the stream, request the stream properties based on the stream name. - New Operator/Adapter API Identifies Applicable Named Schemas for Studio Users
-
Two new methods in the Operator class have been added that identify schemas that may be appropriate for input and output ports:
-
getProposedInputSchemas(String mainName)
-
getProposedOutputSchemas(String mainName)
String argument
mainName
specifies the prefix for the top level schema, which should also be used for any sub-field schemas.The methods check for applicable named schemas and return arrays of type Schema that StreamBase Studio can suggest to the user for configuring input and output ports, respectively. When a custom operator or adapter implements the API, users editing adapter properties can import schemas to a project. When an adapter is so enabled, StreamBase Studio presents a hyperlink labeled
s to allow schemas to be imported into interface or application files. For example, the FileReader input adapter has that link at the top of its properties view, as shown in this illustration.Click the hyperlink to open the Save Named Schemas dialog displaying the schema(s) you can import from an existing EventFlow or StreamBase Interface file or from a new interface file.
Most embedded input adapters are equipped with this feature.
-
- Parsing Java DateFormat Strings
-
StreamBase APIs that parse timestamps from strings have new methods that accept a Java DateFormat to assist in parsing. If you find that existing code which worked before no longer parses certain strings, update it to use these new APIs. Specifically, should parsing errors like "Invalid timestamp format" occur, look for methods that accept Java DateFormat arguments and make sure the arguments you are passing conform to that format.
The following features were added to the StreamBase expression language in release 7.4.0:
-
New Function Data Type
StreamBase expression language now natively supports creating and saving a function. Any StreamBase expression can now be stored as a function. A saved function can be data on a stream, stored in a table, or passed as an argument to another function. Consequently,
function
is now a reserved expression language keyword.See Defining Functions in the Expression Language for an example of creating a function in StreamBase expression language, which you can further explore by running the sample EventFlow Function Sample.
-
New Function to Compile User-Defined Functions
The new
compile
function turns a string into an EventFlow function that can return any specified StreamBase data type. The string can contain any valid StreamBase expression. Besides the expression defining a function body, compile also accepts tuples to define argument lists, the return type, and local variables. -
New List Manipulation Functions that take Functions as Arguments
The following higher-order functions have been added:
-
filterlist()
– Removes elements of a list that fail a test provided by the input function -
foldleft()
– Applies an accumulator function forwards over a set of lists of the same length and compatible type -
foldright()
– Applies an accumulator function backwards over a set of lists of the same length and compatible types -
maplist()
– Applies a function to corresponding elements of multiple lists and collates the results as a single list -
mergelist()
– Merges a list of sorted lists and sorts the output using its input comparison function.In addition,
sort()
has a syntax that passes in a custom comparison function. It works likemergelist()
, but operates on single lists, whilemergelist()
operates on a list of lists.For more information, see Functions as Arguments.
-
-
New Simple and Aggregate Correlation Functions
You can now compute four different measures of correlation for sets of numeric data values. Each function has a simple and an aggregate form. Click the links to see the simple function documentation:
The existing aggregate function
correlation_coefficient
has a new syntax that lets you specify the four types of correlation to perform, and can accept either bivariate or multivariate data. A new simple function version ofcorrelation_coefficient
that accepts list inputs has been added.A new aggregate helper function, rank(), computes the rankings of a double field in an aggregate window and outputs the rankings as a list of doubles.
-
New Exclusive OR Function
The
xorall
function evaluates the logical exclusive OR (XOR) of two or more boolean input expressions. The function returns true when an odd number of inputs are true and false otherwise. -
New Aggregate Function Extends count()
A
countlong()
function, which counts tuples in aggregate windows, has been added. It has the same functionality ascount()
but returns a long result. -
New String Functions and Operations
-
New Syntax and Aggregate Version for join()
You can now call the simple function
join(string separator, list(T) L)
without the first argument,separator
if you do not need to insert a separator between list elements.An aggregate version is now available:
string join(string S, string separator)
. IfS
is empty, no separators are inserted. -
New Function to Convert CSV strings to tuples
The
parsecsv
function accepts a string formatted as comma-separated values (CSV) and returns a tuple. For a related new StreamBase Studio feature, see Import Schema from XML and CSV Files in Studio: New Features and Updates -
New Function to Generate Random Strings
The
randomstring(len)
function returns a random alphabetic string selected from the character set A-Z. -
Repeat Strings Using the * Operator
Similarly to string concatenation (
"a"+"b"+2 -> "ab2"
), now you can repeat a string or single character multiple times using the*
operator ("abc"*2 -> "abcabc"
). See String Repetition for details.
-
-
New Time and Date Functions
-
The
get_day_of_year()
function outputs the Julian date represented by a timestamp or by numeric (year, month, day) arguments. -
The
from_unixtime()
function outputs an absolute timestamp from a double value assumed to represent the number of seconds before or after the start of the Unix epoch (00:00:00 UTC, 1 January 1970).
In addition,
parse_time()
has a new syntax that accepts extra arguments to customize time strings for a specific locale (language, country, or region). -
-
Specify Binary and Hexadecimal Int and Long Numbers
You can now specify numeric literals as base-2 and base-16 numbers using the prefixes
0B
or0b
(binary) and0X
or0x
(hexadecimal), respectively. To represent such a numeric literal as a long instead of an int, terminate it withL
orl
. -
Expressions evaluated by
eval()
can now reference custom functions by the function alias.
- Secure Plain Text Entry Option for sbcipher
-
sbcipher, which enciphers text or generates cipher keys for configuration files, has a new command line option:
-
--prompt
— From a shell, prompts securely for plain text input, or text can be piped from stdin
The
--prompt
option prevents sensitive text from appearing in your session history. For details, see documentation forsbcipher
. -
- New sbadmin Command
-
- manageJdbcConnections
-
This command is used with the following syntax:
sbadmin manageJdbcConnections close|count [datasource-name]
If your application has more than one JDBC connection, specify a
datasource-name
for the connection you want to manage, using a<data-source>
name specified in the server configuration file. Thecount
subcommand returns the number of open connections to this data source, while theclose
subcommand closes the JDBC connection without having to shut down the server or container.
- Identify Configuration Files for Unit Tests
-
Instead of using
sbunit -f config-filename
When running unit tests, you can specify the path to the.sbconf
file the test should use with either the Java system propertystreambase.unit-test.server-conf
or the environment variableSTREAMBASE_UNIT_TEST_SERVER_CONF
.
- New EMS Reader and Writer Adapter Pair
-
The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.
- Share Bi-Directional Socket Data Transformer
-
A
option has been added to the TIBCO StreamBase® Bi-Directional Socket Writer adapter, enabling it to use the same data transformer as the socket reader. Sharing maintains the state of the transformer between read and write operations. - Cannot Configure Concurrency for Adapters that Cannot Have Multiple Instances
-
Some adapters can only be instantiated once and thus cannot run concurrently. All such adapters now suppress the Concurrency tab in StreamBase Studio to prevent configuring multiple instances of them.
- New Summary Column in Thomson Reuters Schema Designer View
-
The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains
Yes
. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.In addition, the RFA.jar library has been updated to version 7.5.1.
- StreamBaseFIX Engine
-
StreamBaseFIX engine is renamed to TIBCO StreamBase® High-Performance FIX Engine and is available for separate download. This engine is required to run FIX adapters using FAST (FIX Adapted for Streaming) protocol.
- Schema Updated for Trading Components CitiFX Vol Market Data Handler
-
The FXQuoteDataSchema has been updated to included an extra field named OptionsExtendedData, which is used by the CitiFX Options Vol market data handler. The FXQuoteDataSchema is used by FXTopOfBookSchema and FXDepthOfBookSchema.
The following StreamBase features are deprecated as of release 7.4.0 and will be removed in a future release:
-
Support is deprecated for Microsoft Windows Server 2003 and Windows XP Professional, and will be removed in a future release.
-
Support is deprecated for StreamBase Studio on Linux platforms. TIBCO StreamBase technical support for Linux StreamBase Studio will be provided to developers on a best-effort basis. StreamBase Server will continue to be supported for Linux.
-
The
tupleid
identifier that exists in the Tuple API classes is deprecated. Tuple IDs add no value to end-user applications, as their value is in almost all cases always zero. In a future release, methods that reference tuple ID and methods that display it when serializing a tuple to a string will no longer do so. At that time, serialization of tuples will ignore requests to include tuple ids (which usually display as:tupleid=0
). -
The sbtest command is deprecated and will be removed in a future release. Use the sbunit command to run a StreamBase JUnit test class.
-
Support for compiling C++ StreamBase client applications for Windows with Visual Studio .NET 2005 (Visual C++ 8.0) has been deprecated.
-
Support for the TIBCO StreamBase Bloomberg BPOD Subscribing Input Adapter has been deprecated.
The following StreamBase features have been removed from release 7.4.0
-
The StreamBase Studio Saved Schema View, which was first deprecated in release 7.2, has been removed. In place of saved schemas, use named schemas and the EventFlow Editor's Definitions tab.
-
The TIBCO StreamBase Adapter for Microsoft Excel is no longer available. The TIBCO StreamBase Add-in for Microsoft Excel provides greater functionality and supports newer versions of Excel. Contact your TIBCO representative for more information on availability and features.
-
Function
Tuple.setTimestamp
has been removed as a public method. If you have used the signatureTuple.setTimestamp(field, long)
in a StreamBase application, you may have been using it improperly, as thelong
argument is an internal representation of an timestamp, not a Unix timestamp. To maintain compatibility, replace that call withTupleUtil.setTimestamp(field, long)
, but be aware that this method is also not part of the API and may be removed or changed at a later date. -
The Java 1.5 JDK is no longer supported for developing StreamBase extensions, which include custom operators, adapters, client applications, and monitor applications. Both StreamBase Server and StreamBase Studio have required Java 6 JDK since release 6.3. Going forward, you must use Java 6 JDK to develop client code.
-
The deprecated method
getApproximateSize
in the Schema class was removed in this release. There are no replacements for it, as this method should not have been used by clients and was never part of the API. -
The FXA Framework is no longer supported and was removed from this release. SchemaProvider.jar is no longer supported and no longer ships.
-
Support removed for Mac OS X 10.6 (Snow Leopard). Use the latest version of 10.7 (Lion) or 10.8 (Mountain Lion).
-
Support removed for 32-bit Linux
-
Support removed for 64-bit Red Hat Enterprise Linux Advanced Server 4 on x86_64 processors
-
Support removed for 64-bit Solaris 10 on SPARC processors
-
Support removed for Novell SuSE Linux Enterprise Server 10. Use SuSE 11 instead.
-
Support removed for Oracle® 9i
-
Support removed for Vertica 4.1
-
The Bovespa input and output market FIX adapters have been removed, because the product is no longer available or supported
-
Support removed for the InfoReach Adapter
-
Support removed for Thomson Reuters RFA External Adapter
-
Support removed for Thomson Reuters SFC External Adapter
-
The TIBCO StreamBase© Adapters for Apache Flume is no longer available for the Solaris x64 platform.
- Installer File Names Have Changed
-
StreamBase, LiveView and external adapter installers available from download.tibco.com have new names. See the above note for details. Specific platform file names are described in the Installation Guide.
- Microsoft Windows 8
-
This release of TIBCO StreamBase CEP fully supports the Windows 8 operating system.
- Support for 32-bit Linux Discontinued
-
TIBCO StreamBase CEP is no longer distributed for 32-bit Linux.
- Visual Studio 2008 (VC9) Libraries Are no Longer Included
-
StreamBase Studio no longer installs libraries for Microsoft Visual Studio 2008. If you use the Python interfaces for ActiveState or the python.org Python implementations, they will include the appropriate libraries. Visual Studio 2008 also installs these libraries.
- JDK 7 Bundled on All Platforms
-
StreamBase Server now ships with and runs from a Java 7 JRE. For the first time, Java is included with StreamBase on Mac OS X. Java from Apple or Oracle need not be independently installed. On all platforms, the
sb-config
Java options return paths to the bundled JDK (the/jdk
directory under the StreamBase installation directory). For Mac users, this means you no longer need to obtain Java from Apple. - Java Compiler Compliance Level Is now 1.6
-
StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.
- Subversion 1.8 now Supported
-
You can now use StreamBase Studio with working copies managed by Subversion 1.8 as well as prior Subversions.
- .NET API for EventFlow Functions Requires Full .NET 4.0
-
The StreamBase .NET API now enables EventFlow functions to be passed to .NET applications. As a result of this update, .NET clients will no longer run under the .NET 4 Client Profile (the "lite" version). You will now need to:
-
Make sure your application is targeting the full .NET 4.0 Framework when you compile
-
Make sure the machine running the application has the full .NET 4.0 Framework installed as well.
-
- StreamBase Studio Now Eclipse 4.3-Compatible
-
StreamBase Studio ships as a product built and bundled with Eclipse 3.8, but the plug-ins are now compatible with Eclipse 4.3. Install StreamBase Studio into Eclipse 4.3 by following the instructions in the StreamBase Studio Eclipse Update Site page.
- Studio Now Includes Eclipse EGit
-
The EGit Eclipse plug-in provides seamless access to files managed by the Git version control system, including projects hosted on the Github repository. EGit documentation is now included as part of the Studio Help system. EGit joins CVS and Subversive as the three team provider version control plug-ins included with Studio.
The sample modules and applications included in the StreamBase kit were updated as follows:
- New Sample: Run a StreamBase App in an Embedded Java Server
-
The StreamBase sample Calling an Embedded StreamBase Server from Java demonstrates running a StreamBase embedded in a running Java program, and contains an Eclipse cheat sheet that opens when you import the sample.
- New Sample: Shared Tables Across Containers
-
The StreamBase sample Shared Tables Across Containers Sample illustrates how you can access a common table from separate containers, both for reading and writing.
- New Sample: EventFlow User-Defined Functions
-
To illustrate the new function data type, the StreamBase sample EventFlow Function Sample demonstrates how an application can define functions in the StreamBase expression language in operators and as constants.
- New Sample: Creating Feed Simulations Containing Contingent Values
-
The StreamBase sample Feed Simulation Conditional Field Sample shows how to generate fields in feed simulations whose values depend on the contents of one or more other fields.
- New Sample: Accessing Data from Complex Schemas in a Custom Java Operator
-
The StreamBase sample Java Operator Complex Types Sample shows how to use the StreamBase Client API to retrieve fields and values from complicated structures such as nested tuples.
The StreamBase documentation for release 7.4.0 included the following updates independent of the above updates:
-
The article EventFlow Editor 7.4 Changes is provided to more fully describe new user interface features in StreamBase Studio and how some existing ones have changed.
-
The article Installing and Running StreamBase on 64-Bit Windows has been removed from the Install Guide and its contents incorporated into Installing StreamBase on Windows.
-
The article Using the Aggregate Operator contains a fuller explanation of aggregate expressions and their usage.
-
The Authoring Guide pages Aggregate Operator: Field-Based Dimension Options and Aggregate Operator: Time-Based Dimension Optionshave been rewritten to explain operator options and behavior in greater detail.
-
The organization and content of documentation gathered under Using Query Tables has been improved to make it easier to use.
-
Instructions for running the StreamBase sample Logging with log4j were added.
This section lists the significant changes in the StreamBase 7.3.x release series.
StreamBase 7.3.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.3.12 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:
-
TIBCO StreamBase® Adapter for Bloomberg B-Pipe
-
TIBCO StreamBase® Adapter for Bloomberg BPOD
-
TIBCO StreamBase® Adapter for Bloomberg Server API
-
TIBCO StreamBase® Adapter for Bloomberg Tradebook FX
-
TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface
-
TIBCO StreamBase® Adapter for GAIN GTX
-
TIBCO StreamBase® Adapter for Hotspot ITCH
-
TIBCO StreamBase® Adapter for Hotspot FX
If you purchased these adapters as part of CEP 7.3.12, you no longer need to install the StreamBase CEP Connectivity Pack to access them.
StreamBase 7.3.12 added the following updates and new features:
- New Aggregate-to-List Function Excludes Null Values
-
Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).
- Eclipse Studio Update Site Is now Downloadable
-
Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site online, as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. Installing Studio 7.3.12 as an Eclipse plug-in requires Eclipse versions 3.7 or 3.8.
- Reference Data Request Port for Bloomberg B-Pipe Input Adapter
-
A reference data output port and schema specification were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe to enable it to respond to reference data requests. See the adapter's page in the Adapters Guide for details.
- Authentication Choices Added to Bloomberg B-Pipe Input Adapter
-
Users of the TIBCO StreamBase® Adapter for Bloomberg B-Pipe can now specify which of five types of authentication to use. See the the adapter's page in the Adapters Guide table for details.
- New 29West Output Adapter for Acknowledging Messages
-
The TIBCO StreamBase 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.
- Input Binary Files to File Reader Adapter
-
An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a a blob field.
- Change in Default Time Format for CSV Adapters
-
The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:
yyyy-MM-dd hh:mm:ss.SSSZ
The new default format is the following, with the hours field now uppercase:
yyyy-MM-dd HH:mm:ss.SSSZ
- TREP Subscribing Adapter Recognizes New Message Structure
-
The Service Provider Status for the TIBCO StreamBase Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe has been updated to handle the new Thomson Reuters message structure while remaining compatible with the old structure.
- UBS FIX Adapter Schema Updated
-
The schema for market data requests in the UBS FIX adapter was updated to match version 1.19 of the UBS specification.
- EBS FIX Adapter Protocol Updated
-
The ICAP/EBS adapter was updated to use version 1.6 of the EBS FIX specification.
- Updated JDBC Query Sample
-
The StreamBase JDBC Query sample explaining how to use JDBC data sources was completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.
- Updated TopN Query Sample
-
The StreamBase TopN Query sample was revised and made easier to use by making its Query Table self-loading and with a simpler schema. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.
- Documentation Updates
-
The StreamBase documentation for release 7.3.12 includes all the documentation updates reported for release 7.2.15. Specific updates include:
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.
-
An explanation of configuring clients and servers to run on SSL connections using the
sbs://
protocol was added. See SSL Authentication in StreamBase References. -
The Authoring Guide topic Using Stored Procedures was updated. It now references examples used in the new JDBC Query sample.
-
StreamBase 7.3.11 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.11 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.
StreamBase 7.3.11 adds the following updates and new features:
- Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator
-
Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:
-
Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.
-
XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.
-
Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.
-
Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.
See Using the XML to Tuple Operator in the Authoring Guide for more information.
-
- Change Log Level at Runtime in FIX Adapter
-
Users of FIX Adapters and Trading Components Handlers now can set the log level of a venue at runtime by issuing
setLogLevel
commands to a control port. Tuple values for the optional Log input field can dynamically set a log level and also control filtering of incoming and outgoing messages. For details, see Adapter Ports And Schemas in the FIX Adapter documentation. - New EMS Reader and Writer Adapter Pair
-
The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.
- Email Sender Adapter Supports Attachments
-
The TIBCO StreamBase® Email Sender adapter now supports attachments, identified by a static set of file names, a list of file names provided in a designated input field, or both.
- Syntax Support for JMS Reader and Writer Configuration Files
-
The StreamBase Studio XML editor now provides syntax highlighting and autocompletion when editing JMSReader and JMSWriter adapter
.jmsconf
configuration files. - Enhancements to File Reader Adapter
-
The following properties were added to the File Reader Input adapter:
-
A Charset property to support reading different character set encodings
-
A PassThroughFields property to enable replicating input tuples in the output fields
-
A FilenameField property to indicate which passed-through field contains the input file name
-
A FileContentsFieldName property to indicate the output field that holds the file contents when input fields are passed through.
-
- Documentation Updates
-
The StreamBase documentation for release 7.3.11 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.10 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.10 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.
StreamBase 7.3.10 adds the following updates and new features:
- Status Port Added to StreamBase Admin Operator
-
The StreamBase Admin operator now has an optional status port that can be enabled to allow the operator to output status tuples to give the user more information during processing. Status tuples for the operator will be emitted for errors and rejections of input tuples. A rejection status tuple will be emitted if there is a problem validating the input tuple. An error status tuple will be emitted if there is an error during processing. Note that errors will also be emitted from the Error Output port, if it is enabled.
- On Mac, Use Cmd+R to Refresh Studio Typecheck Environment
-
The OSX shortcut to refresh a Studio project's Typecheck Environment has changed to Cmd+R, replacing the previous key binding of Cmd+F5, as Apple uses that to toggle VoiceOver.
- Smarter Filter for Studio Function Chooser
-
Searching for appropriate functions in the StreamBase Studio Function Chooser yields more pertinent results because it now matches your search term with any sub-string of a function name, not just initial sub-strings.
- Parse JSON Strings in Non-Strict Way
-
The new
parsejson_loose()
function works similarly to the existingparsejson()
function, but can (within reason) ignore JSON elements that do not conform to the schema definition provided. - Configure SBD with Separate Passwords for Key and Keystore Authentication
-
StreamBase Server configuration files can now have an optional
key-password
child XML element under thessl-authentication
XML element. Call the new Java Client API method,StreamBaseURI.getKeyPassphrase()
, to return the passphrase of the keystore key (defined by thekeypass
URI parameter). The existingStreamBaseURI.getKeystorePassphrase()
method returns the passphrase of the keystore file (defined by thekeystorepass
URI parameter). For backward compatibility, the keystore password is used to access the key if the key password (thekeystorepass
parameter) is not present. In that case,StreamBaseURI.getKeystorePassphrase()
returns value of thekeypass
URI parameter.For details, see the StreamBase Server Configuration File XML Reference and the Java API Guide documentation.
- Specify Timestamp Format for CSV File Writer
-
You can now format timestamps output from the TIBCO StreamBase CSV File Writer. The new Timestamp Format field on the Record Formatting tab specifies the formatting of timestamps when is set to or . The default format is
yyyy-MM-dd hh:mm:ss.SSSZ
. - New Sample for Using LDAP authentication with Active Directory
-
The LDAP Authentication sample demonstrates using Active Directory to limit access to certain StreamBase commands to users who can provide authentication credentials associated with one of the StreamBase roles.
- New Adapter Monitors Data Base Transaction Activity
-
The TIBCO StreamBase® Database Change Data Capture Input Adapter allows a StreamBase application to monitor changes to an Oracle or SQL Server database. It detects when records are inserted, updated, or deleted in a database table and can be customized to report changes to particular table columns.
- New File Writer Adapter and Sample
-
The new TIBCO StreamBase® File Writer Output Adapter writes tuples or single fields from a stream to a file. A sample application has been added that illustrates its use.
- File Reader Adapter Updates
-
The TIBCO StreamBase® File Reader adapter now supports GZIP-compressed files. In addition, its Control and Status ports now have properties that let them be disabled. They are still enabled by default.
- Improvements to Web Reader
-
The TIBCO StreamBase® Web Reader input adapter has new functionality and associated properties:
-
Basic authentication with username/password
-
Connection and read timeout
-
Output a tuple for each line of data received from the server
-
Automatic GZIP and Deflate decompression
-
- Updates to EBS Live XML Input Adapter
-
The EBS Live XML input adapter now has an optional status port which, if enabled, emits tuples on connection state transitions. Reconnect logic is included in this update.
- Log Adapter Can Compress Repetitive Messages and Accept Expressions
-
The TIBCO StreamBase® Log File Output Adapter has a new option allowing the end user to compress frequent messages. Activating the
property compresses messages within a specified number of seconds (the property). If the option is enabled, compression will take place without regard to timestamp fields, which can change for each tuple.In addition, new properties have been added for setting the logger name and for specifying a custom format using StreamBase expression language. For details, see the Log Output Adapter documentation.
- MQ Output Adapter Can Queue Tuples when Server Connection Fails
-
The IBM WebSphere MQ Output Adapter now has a Queue When Connection Down property that causes it to queue rather than reject tuples when the connection to the MQ server is down. When the connection is restored, the queued tuples get processed.
- New TREP Subscribe Adapter Property to Control Message Logging Level
-
The TIBCO StreamBase® Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe now has a Display Already Subscribed Messages At Debug Level property on its Debug tab that causes already-subscribed messages to be logged at DEBUG rather than INFO level.
- StreamBase-to-StreamBase Adapter Provides Defaults for Host and Port
-
The TIBCO StreamBase® StreamBase-to-StreamBase input and output adapter host and port properties now default to
localhost
and10000
, respectively. - New Fields for ActivFeed Input Adapter
-
Two optional special fields were added to the TIBCO StreamBase® ActivFeed input adapter:
UPDATE_EVENT_TYPE
andUPDATE_EVENT_TYPE_NAME
, which receive the numeric value and name of the event type of update messages. - Ports and Link Field Added to RSS Reader
-
The TIBCO StreamBase® RSS Reader now has status and command ports. It can also now insert the RSS Feed link into each item output to allow tracing back to the feed it came from.
- Support for Sybase RAP Removed
-
Support was removed for connectivity to Sybase RAP native databases.
- Documentation Updates
-
The StreamBase documentation for release 7.3.10 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.9 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.9 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.9 adds the following updates and new features:
- CSV File Reader Property to Preserve White Space
-
The CSV file reader adapter now has a Preserve Whitespace property, which, when enabled, preserves leading and trailing white space in string fields. For backward compatibility, the property is disabled by default.
- New Adapters
-
The following pairs of adapters have been added to enable two-way socket communication for various data encodings:
-
TIBCO StreamBase® Adapter for FXSpotStream
See the Adapters Guide for details on the new adapters.
-
- Deprecated Adapters
-
Support for the following adapters is now deprecated:
-
Wombat MAMA input adapter MAMA versions 3 and 4
-
Wombat MAMA output adapter MAMA versions 3 and 4
-
- Documentation Updates
-
The StreamBase documentation for release 7.3.9 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.8 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.8 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.8 adds the following updates and new features:
- FTP Operator Improvements
-
The FTP Operator in StreamBase Studio now has equivalent functionality to the SBX FTP operator. The new features are:
-
An option to allow for asynchronous or synchronous operations
-
An option to allow for reading the local file as a resource file
-
An option to set the buffer size of the FTP operation to accelerate FTP transfers
-
An optional output port to emit tuples describing transfer progress
-
- Two New sbconf Parameters for Restoring Failed JMS Server Connections
-
When using JMS container connections, in the event the JMS server becomes unavailable the container will retry 10 times to reconnect, waiting 5 seconds between each try. You can override this behavior by setting the following values in sbd.sbconf:
<jms-connections-defaults> <param name="server-num-retries" value="XX" /> <param name="server-reconnect-interval" value="YY" /> </jms-connections-defaults>
XX
is the number of retries (0 means no retries, max value is 2147483647) andYY
is the number of seconds to wait between retries. - Disable Timeout for Spotfire Automation Services Adapter
-
If you want to disable the Connection Timeout property of a TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services, You can now specify 0 for its value.
- File Reader Can Now Map Single Lines of Text to Tuples
-
The File Reader input adapter has a new property,
, which is disabled by default. If you enable it, a tuple is emitted for each line read from the file. When disabled, the entire file contents is emitted in a single tuple. - New Socket Adapters
-
The following pairs of adapters have been added to enable two-way socket communication for various data encodings:
-
TIBCO StreamBase® Bi-Directional Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional BLOB Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional BLOB Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional CSV Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional CSV Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional JSON Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional JSON Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Writer Adapter
See the Adapters Guide for details on the new adapters.
-
- Deprecated Adapters
-
Support for the following adapters is now deprecated:
-
Wombat MAMA input adapter MAMA versions 3 and 4
-
Wombat MAMA output adapter MAMA versions 3 and 4
-
- Azul Zing System Tools Updated to 5.2.7
-
If you use Zing, run the
sb-install-zing-system-support
command to update to the new version of Zing System Tools (ZST).Due to limitations in some implementations of the rpm command, the TIBCO StreamBase Zing RPM no longer performs a check of Zing system support during installation, because it fails on certain versions of Red Hat Linux. To be confident about your Zing system configuration after an installation or upgrade, run
/opt/streambase/bin/sb-install-zing-system-support check
and pay attention to the messages that it issues. - Documentation Updates
-
The StreamBase documentation for release 7.3.8 includes all the documentation updates reported for release 7.2.15.
-
The article Installing and Running StreamBase on 64-Bit Windows has been removed from the Install Guide and its contents incorporated into Installing StreamBase on Windows.
-
TIBCO StreamBase® CEP 7.3.7 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.7 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.7 adds the following updates and new features:
- New Operators
-
StreamBase 7.3.7 delivers new operators:
-
TIBCO StreamBase® Operator for TIBCO ActiveSpaces connects to an ActiveSpaces Metaspace and Space and allows your StreamBase application to exchange tuples seamlessly with the Space.
-
The TIBCO StreamBase® FTP Operator is a global Java operator that provides a way to run FTP commands through a Java-based FTP client.
-
- New Operators
-
StreamBase 7.3.7 delivers several new operators:
-
TIBCO StreamBase® Operator for TIBCO ActiveSpaces connects to an ActiveSpaces Metaspace and Space and allows your StreamBase application to exchange tuples seamlessly with the Space.
-
The TIBCO StreamBase FTP operator is a global Java operator that provides a way to run FTP commands through a Java-based FTP client.
-
- New Input and Output Adapters
-
StreamBase 7.3.7 delivers new input and output adapters.
-
TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services is used to post job execution, launch, and status requests to a TIBCO Spotfire® Automation Services server.
-
TIBCO StreamBase® Adapter for UDP is an embedded adapter that can send and receive data from a UDP port.
-
The UDP Receiver receives raw string data by listening on a UDP port.
-
The UDP Sender writes string data through a socket to another machine or process.
-
-
TIBCO StreamBase® Input Adapter for TIBCO FTL® and the TIBCO StreamBase® Output Adapter for TIBCO FTL® are embedded adapters that can receive and publish FTL messages.
-
The FTL Subscribing Input Adapter allows a StreamBase application to receive FTL messages.
-
The FTL Publishing Output Adapter allows a StreamBase application to publish FTL messages.
-
-
- LiveView Connectivity for StreamBase Applications
-
LiveView has adapters that simplify using LiveView Server with EventFlow applications.
-
The LiveView Query adapter allows a StreamBase application to register ad hoc queries with LiveView servers and receive snapshot and real-time results.
-
The LiveView Ready adapter informs a StreamBase application when the configured LiveView Server is ready, and when it changes to not ready.
-
The LiveView Delete adapter allows a StreamBase application to delete LiveView table rows based on a predicate.
-
The LiveView Publish adapter adapter allows a StreamBase application to publish data to LiveView tables.
The product sample demonstrating the adapters is available to customers who have LiveView 1.5.1 or higher installed.
-
- Studio: Improved Feed Simulation Editor Column/Field Matching
-
When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.
- Improved Defaults for Feed Simulation Data File Options Dialog
-
When setting up a feed simulation from a CSV file, the option
now only appears when the stream's schema includes sub-tuples and a CSV file is selected. By default, the option is enabled if the CSV file contains flattened data and not enabled if it contains hierarchical data. These changes decrease the chances of setting the option incorrectly. - Improved Defaults for StreamBase Unit Test Wizard
-
The StreamBase Unit Test Wizard now has improved default settings.
-
The default source folder and application to be tested are determined from the currently selected (or currently running) EventFlow application.
-
The package and source folder for any project applications, if created, will be the default package and source.
-
The test name will have default value
.ApplicationNameTest
.java
See Creating and Running StreamBase JUnit Tests for more information on StreamBase JUnit tests.
-
- Improved Date and Time Conversion for .NET API
-
In the .NET Client API, the
Timestamp
class has been changed to better handle conversions to and from .NETDateTime
objects. Specifically:-
The
Timestamp.ToDateTime()
method has been deprecated. -
A new method,
DateTimeOffset Timestamp.ToUTCDateTimeOffset()
has been added to replace the deprecatedToDateTime()
method. -
Another new method,
DateTime Timestamp.ToLocalDateTime()
has also been added for convenience.
-
- Icon for Runtime Schema Cast Java Operator
-
The Runtime Schema Cast Operator in the Java Operators group, which casts its input schema to its configured target output schema at run time, now has its own icon, as shown here.
- Cloning of Customized Server Configuration Files
-
Placing a copy of a
.sbconf
file that you have edited to include customized defaults into yourSBHOME/etc/
folder and renaming it tostudio-sbd.conf
now enables the Configuration File Wizard to copy it into a project instead of generating a skeleton configuration file with standard defaults. For more information, see Cloning Customized Configuration File Default Contents in Studio. - Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. (which originally was incorrectly announced in release 7.3.4 as 1.6.0_43). As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Java Compiler Compliance Level Is now 1.6
-
StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.
- Heap Size now explicitly set to 1 GB for StreamBase Java-Based Commands
-
StreamBase Java-based commands such as jsbc, jsbadmin, and sbprofile now have a default maximum heap size of 1 GB when launched on 64 bit systems.
- New System Property Extends Control over Logging Level Verbosity
-
A new system property, streambase.decouple.operator.log-level, enables operator and adapter logging levels to be set independently of the system logging level. Its default is
false
, which keeps the old behavior whereby operators and adapters use the more verbose setting of the component's or the systemlog-level
property value. When set totrue
, operator and adapter logging verbosity can be set lower than the system logging level. - New Property to Configure Log Adapter without an Output Port
-
The log adapter now has an Emit Logged Tuples property, which is enabled by default. Disabling this property causes the adapter not to have an output port and not to emit logged tuples.
- New Property Enables TIBCO Rendezvous Subscribing Input Adapter to Use Per-Instance Event Queues
-
The TIBCO Rendezvous Subscribing Input Adapter now has a Use Unique Queue property, which, if enabled, causes the adapter to use a per-adapter-instance event queue rather than the default Tibrv event queue. Using per-instance queues can lower latency in some situations.
- New CSV File Writer Adapter Timestamp Option Enables Easy Feedsim Creation
-
The Use
checkbox has been deprecated.A new
option has been added as a drop-down list box, with choices , and (default). Use this control to optionally add a timestamp to the beginning or end of each CSV row.Adding timestamps enables applications to record data from any input or output stream in a top level application or exposed, in a format suitable for playback. Use the timestamped CSV files for feed simulations to play back streams you recorded in real time.
While an application is running, you can tell
sbadmin
to capture CSV files from input or output streams by issuing commands such as:-
sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Append)=default.Out
-
sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Prepend)=default.Out
-
sbadmin modifyContainer default addConnection '(csvfile://trades.csv.gz?AddTimestamp=Append;CompressData=true;RollPeriod=Hourly)=default.TradesInput'
For more information, see CSV File Writer Output Adapter.
-
- Specify Field Names Directly in Log Output Adapter Custom Message Formats
-
As an alternative to specifying fields in a Custom Message Format via a numeric index (
{0}, {1},
etc.), you can now use field names ({price}, {symbol},
etc.) directly. Custom Message formatting supports escaped field name identifiers but not expressions. - StreamBaseFIX Adapter Custom Dictionary Locations Can Be Specified
-
The StreamBaseFIX configuration file now supports an entry named
<dictionary-file>
(which is only meaningful when<dictionary>
is also specified) to allow users to specify a non-standard name or location for the dictionary file. Previously, StreamBase assumed that custom dictionaries were located in thefixaj-dictionaries
folder.-
If the value of
<dictionary-file>
is unspecified, the usual behavior is applied (a file called "fixaj-dictionaries/
", whereNNN
Dictionary.xmlNNN
is the value of the<dictionary>
setting, is loaded from the classpath). -
If the
<dictionary-file>
value is an absolute path, this file is loaded. -
If the
<dictionary-file>
value is a relative path, this file is loaded from the classpath.
-
- Parameter to Identify Stale Tiers in Deutsche Bank AutobahnFX Market Data Adapters
-
The Trading Components DB-Rapid venue can now output missing depth tiers as zero price items as part of the DepthOfBook message when an item becomes stale. This functionality is disabled by default. Add the parameter
OutputMissingTiersAsZeroPriceItems
to the instance and set it to true to enable this feature. - Attribute Info Support for Thomson Reuters Real-Time Publishing and Subscribing Adapters
-
A new option on the Adapter Properties tab of the TREP-RT Subscribing adapter,
, 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:
-
- Thomson Reuters Schema Designer and Subscribe Adapter Maintain Fractional Prices as Strings
-
When looking up fields, the Thomson Reuters Schema Designer now automatically detects fields with fractional pricing, and adds both the double and string fields to the available fields users can select to create a schema. For example, if the BID field indicates a price of 88 3/32, the field list will now contain a BID field of type double and also a BID_as_string field of type string. The Thomson Reuters subscribe adapter now also automatically maps any field in the schema with an "_as_string" suffix to the string representation of that field.
- Exegy Input Adapter Updates
-
The Exegy library has been updated to version 3.1.11. You must upgrade your installation's Exegy library to this version in order to use this adapter.
A new property, Include Subscribe Pass-Thru Field, has been added. When enabled, the Subscribe stream schema is expected to include a field of any type named PassThru, which is is passed through to the Equities, PriceBook, and Commodities output ports.
A new property, Include Basket Pass-Thru Field, has been added. When enabled, the Basket stream schema is expected to include a field of any type named PassThru, which is is passed through to the BasketUpdates and BasketNav output ports.
For other Exegy input adapter updates, see Fixed in 7.2.15 release notes.
- New Property in IBM WebSphere MQ Output Adapter
-
The IBM WebSphere Output Adapter has a new property, Quick Connection-Down Detection. If enabled, the adapter polls the base queue periodically to quickly detect connection-down conditions.
- Wombat Publishing Adapter Supports Now Handles Array Types
-
The Wombat Publishing adapter can now send messages using any of the ARRAY types, as well as the VECTOR_MSG, and VECTOR_STRING type. Types are mapped as follows:
-
VECTOR_MSG = List<Tuple>
-
VECTOR_STRING = List<String>
-
I8ARRAY = Blob or List<Integer>
-
U8ARRAY, I16ARRAY = List<Integer> (Integer converted to short which may cause data loss)
-
U16ARRAY, I32ARRAY = List<Integer>
-
I64ARRAY, U32ARRAY, U64ARRAY = List<Long>
-
F32ARRAY, F64ARRAY = List<Double>
-
- AppiaFIX and ORC CameronFIX Engine Support Removed
-
As of this release, these FIX engines are no longer supported. Use StreamBaseFIX or QuickFIX/J instead.
- Documentation Updates
-
The StreamBase documentation for release 7.3.7 includes all the documentation updates reported for release 7.2.15.
-
Typographic errors and obsolete information were corrected in sections of Getting Started with StreamBase Studio (especially in the tutorial Creating Your First StreamBase Project) to bring instructions up to date, and illustrations were updated to make them consistent with the appearance of the current version of StreamBase Studio.
-
StreamBase 7.3.6 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.6 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.14, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.6 adds the following updates and new features:
- New String[][] Property for Java Adapters and Operators
-
Java operators and adapters may now have properties of type
string[][]
. Only lists of pairs of strings are supported (that is,string[n][2]
). Use this property type to allow a user to provide a list of string pairs without requiring unique key values, such as Map property types must have. - Updates to FIX Market Data Handler
-
The following enhancements were made:
-
An
OrdRejReason
field was added to the base FXExecutionReportSchema -
A new constant command,
EXEC_CMD_STATUS
, was added to SharedSchemas.sbapp be used to request order status.
-
- Updates to Morningstar Quotes Feed Input Adapter
-
The Morningstar Quotes Feed Input Adapter has new properties that allow you to connect and disconnect from the Morningstar servers without stopping your application.
- Documentation Updates
-
The StreamBase documentation for release 7.3.6 includes all the documentation updates reported for release 7.2.14.
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.
StreamBase 7.3.5 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.5 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.13, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.5 adds the following updates and new features:
- Improved Aggregate Operator Predicate Dimension GUI
-
A new Edit Dimension dialog for the Aggregate operator predicate dimension clarifies options for closing and emitting tuples for the current group and all groups of windows. In addition, all emit and close predicates can now be either simple or aggregate expressions. The new dialog is illustrated and described in the updated page Aggregate Operator: Predicate-Based Dimension Options in the StreamBase Studio Authoring Guide.
- Zoom-to-Fit Keyboard Shortcut Ctrl-0
-
Beside pressing the zoom-to-fit icon in the StreamBase Studio editor to show the contents of an entire EventFlow diagram, you can now press Ctrl-0 (zero). On the Mac, press Command-0.
- Control over Fonts for Notes in StreamBase Studio Editor
-
You can now display notes in EventFlow diagrams using any available font. The default is the font used to display text in the editor view. To change the font used for notes, go to
→ , then select → → → → , and then click . The example note displayed below uses the Segoe Script font.This preference is global, so that all notes in all projects display the selected font until you change it.
- Abbreviated Field Values and Blob Display in StreamBase Studio Test/Debug Perspective
-
The debugging Variables view includes a row for each tuple field. Previous to this release, the text appearing in a row's value cell was a complete representation of the data it contained, except for data in cells containing blobs, which was not displayed at all. Creating textual representations of large sub-tuples and lists could cause debugger performance problems, because the time to calculate strings was proportional to the size of the fields. Now, text for fields of type sub-tuple and list is intentionally abbreviated, and the code to calculate that text executes much faster, both in StreamBase Studio and StreamBase server. Also, cells containing blobs now indicate their content. You can control how that content displays by setting preferences. Go to Maximum blob characters to display.
→ → → to set the hex or ASCII characters option and specify theYou can always view the full values of abbreviated tuples by selecting a row in the Variables view. The Details pane at the bottom of the Variables view displays a textual representation of all of the selected row's data.
- Maven Repository for StreamBase Artifacts
-
Version 7.3.5 ships with a local repository of Apache Maven artifacts for StreamBase. There are artifacts for the StreamBase Client library, the StreamBase Test Support library, and a third one for the embedded server. These artifacts are provided under your StreamBase installation directory, in
STREAMBASE_HOME/sdk/maven/repo
.For information on using this repository with your own projects, see StreamBase Maven Artifacts in the API Guide.
- Change to vwap Aggregate Function
-
In previous releases, the vwap function would return NaN if all volumes were zero or if there were no entries in the window. The function has been updated to return null, matching the behavior of avg.
- Enhancements to Log Adapter
-
The Log adapter has two new options:
-
An option to emit the contents of blobs as hex characters. In the Log Adapter Properties pane, select
to enable this feature. By default, the checkbox is cleared and blob content is output as a String, which may be unreadable. -
An option to override the Log Level 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:
you set for the adapter on a per-tuple basis. In the Log Adapter Properties pane, use theError
,Warn
,Info
,Debug
, orTrace
. Any other value, includingnull
, causes the adapter use the configured log level for that tuple.
-
- New SNMP Input Adapter
-
The SNMP input adapter allows a StreamBase application to act as an SNMP manager for receiving SNMP v1 and v2c traps.
- New Syslog Adapter
-
The Syslog input adapter allows a StreamBase application to act as a Syslog collector for receiving syslog messages.
- Enhancements to Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
-
The TREP-RT RMDS subscribe adapter now has a Download Service(s) property that lets users restrict the set of Thomson Reuters services from which data dictionaries are downloaded. In addition, Multiple instances of the adapter within a StreamBase application can now share downloaded and locally-loaded data dictionaries.
- Thomson Reuters Enterprise Platform Real-Time adapters Library Update
-
The RFA/Java library,
rfa.jar
, used by TREP adapters has been upgraded to version 7.2.1. - Added Event Port and Properties for Regex File Reader
-
The Regex File Reader adapter now has an optional event port, enabled by a new Start Event Port property. It also has a Map Control Port to Event Port property, which can be used to include control port input tuples in event port tuples. The Start Control Port and Start Event Port properties must be enabled to enable the Map Control Port to Event Port property.
- Web Reader Input Adapter now Handles HTTP POST Requests
-
The embedded Web Reader input adapter now supports HTTP POST as well as HTTP GET. Two new examples were added to the Web Reader Samples illustrating how to handle POST and SOAP requests.
- Two New Properties Added to Hotspot FX Trading System Adapter
-
-
A Receive BBO Only property that can be used to receive only the best bid and offer in the book
-
A Connect On Startup property that can be used to prevent the adapter from connecting to the Hotspot FX server on start-up
-
- Updates to DB Rapid FIX market data handler
-
-
The TargetSubID (57) field in Market Data Request (V) messages are no longer included.
-
Quotes with MDEntrySize=0 are now discarded (pulled off the market).
-
- Updated xml-to-tuple Operator Samples
-
The XML to Tuple and Tuple to XML Operator Sample group has been reorganized as five sample applications, four of which have been redesigned:
-
tuple2xml-attributes.sbapp
-
tuple2xml-datatypes.sbapp
-
xml2tuple-attributes.sbapp
-
xml2tuple-datatypes.sbapp
-
xml2tuple-fixml.sbapp
The two -attribute variants illustrate generating and parsing XML attributes. The two -datatype variants illustrate using fields with a variety of StreamBase data types, including primitive types, lists, and nested tuples. xml2tuple-fixml.sbapp demonstrates how to parse a FIXML message.
The two tuple2xml samples now have two input streams each, one which runs through a map operator to supply default values for any tuple fields containing null, and a second which leaves the user's input unchanged. The three xml2tuple sample applications can now be fed from either new canned XML file read by the file reader adapter or from a user-supplied XML string through an alternate input stream (which is used by the automated tests as well). A note on each sample sbapp canvas describes what the sample does and how the canned data is supplied.
-
- New Embedded StreamBase Server Sample
-
Calling an Embedded StreamBase Server from Java, has been added to the Client Libraries group of StreamBase samples that demonstrates how to run applications in an embedded StreamBase Server inside a JVM. Loading the sample opens a cheatsheet to guide you through it.
- Deprecated and Removed Features
-
The functions
getInputTuplesEnqueuedTotal()
andgetInputTuplesDequeuedTotal()
in classOperatorInfo
have been deprecated and will be removed in a future release. Their replacement functions,getTotalInputTuplesDequeued()
andgetTotalInputTuplesEnqueued()
, provide the same information but return longs instead of ints. Functions have also been added for getting tuple counts for individual ports. - Azul Zing Upgrade to Version 5.6
-
If you use the bundled Zing JVM from Azul Systems, you must upgrade the Zing system with the
sb-install-zing-system-support install
command, because the Zing license used with the version requires it. If you do not, you will get a license failure on StreamBase startup. - Trading Components Frameworks Updated to Support Forwards and Swaps
-
The Trading Components Framework now provides extra data for swaps and forwards. To support this change, the FX handlers of the Trading Components Framework have an additional schema field, SettlDateFar, for the settlement date for the far leg of swaps.
- Documentation Updates
-
The StreamBase documentation for release 7.3.5 includes all the documentation updates reported for release 7.2.13, as well as the following:
-
A new page of information describing how to obtain Live Server Configuration, Status, and Events, in the Authoring Guide
-
An expanded discussion and examples for Client Access to Capture Fields in the API Guide
-
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.
StreamBase 7.3.4 was a maintenance release that included no significant bug fixes. For information in known issues in other releases, see the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.4 added the following updates and new features:
- Functions and Language Features to Support Binary JSON (BSON) Data
-
A new set of functions and built-in language features ease the use of StreamBase blobs to store BSON (binary serializations of JSON-like documents) data. Within BSON blobs, StreamBase ints, longs, doubles, strings, timestamps, and blobs map to their respective BSON scalar types, nulls map to nulls, lists map to arrays, and tuples map to objects. The BSON functions consist of:
addbson()
Adds a new field at the end of a BSON array bsontojson()
Converts BSON to a JSON-formatted string findbson()
Searches a BSON object for a specified array index or field name frombson()
Converts a BSON blob to the requested StreamBase type joinbson()
Concatenates a list of BSON fields into a BSON object jsontobson()
Converts a JSON string to a BSON blob lenbson()
Returns the length of a BSON object or array listbson()
Accelerator for constructing a (possibly heterogeneous) BSON array, similar to a StreamBase list namebson()
Returns the name of a BSON field putbson()
Adds a new field to a BSON object removebson()
Removes fields or list elements from BSON blobs splitbson()
Returns a list of BSON fields from a BSON object or a list of BSON values from a BSON array tobson()
Converts StreamBase values to a BSON blob tuplebson()
Accelerator for constructing a BSON object from comma-separated AS expressions Associated language features include:
-
The
'.'
component reference operator on a blob now selects a field, assuming the blob is a BSON Object -
the
[]
array reference operator on a blob now selects a field either by numerical or string index, assuming the blob is a BSON Object -
int() long() and double() now can take in a BSON blob version of their respective types, and return the StreamBase type
You can find the BSON specification at http://bsonspec.org.
-
- Gain FIX Input Adapter
-
The Gain GTX FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by GAIN Capital, and to exchange FIX messages with it.
- File Reader Input Adapter
-
The File Reader input adapter reads a text file and emits a tuple with a string field containing the entire contents of the file. The adapter can be configured to read a file at start-up or in response to the receipt of a tuple on its control input port.
- .NET Redistribution Installer Removed
-
As deploying Microsoft .NET client applications from StreamBase Studio has been greatly simplified, it is no longer necessary to use the StreamBase Redistributable Installer. The simplified deployment process was introduced in StreamBase 7.3.0, and requires a .NET 4.0 or later framework on each client machine you deploy .NET applications to. As of this release, the Redistributable Installer has been eliminated and the .NET client documentation updated accordingly.
For information on .NET application deployment, see Creating StreamBase .NET Clients in the StreamBase documentation.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Documentation Updates
-
The StreamBase documentation for release 7.3.4 includeed all the documentation updates reported for release 7.2.11, as well as the following:
-
Documentation for the BSON function family in StreamBase Expression Language Functions
-
Clarifications and a Studio example for how client applications access capture fields
-
New example for Using the Microsoft .NET Operator
-
Updates to the StreamBase Studio Eclipse Update Site page
-
Simplified .NET client deployment instructions (see note above)
-
StreamBase 7.3.3 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.3 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.3 adds the following updates and new features:
- New Splash Screen and Application Icon for StreamBase Studio
-
StreamBase Studio now has a redesigned splash screen and program icon.
- Documentation Updates
-
The StreamBase documentation for release 7.3.3 includes all the documentation updates reported for release 7.2.11, as well as the following:
-
Documentation for using the Trace Debugger has been expanded to describe its usage and user interface features.
-
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.
StreamBase 7.3.2 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.2 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.2 adds the following updates and new features:
- Beta Feature: .NET Operator
-
This release includes a preview of the .NET operator, which is expected to be added to a future release. StreamBase Studio projects can reference Microsoft .NET assemblies with the .NET operator on the Operators and Adapters palette (keyboard shortcut
O.
). It is a global Java operator that can load client code in the form of a .NET assembly, instantiate a class within that assembly, pass it incoming tuples, and optionally emit tuples provided by the .NET client code. For more information, see Using the Microsoft .NET Operator in the Authoring Guide. Contact StreamBase Support if you have questions or feedback regarding this feature. Until it is fully released, do not use this feature in production deployments. - Changes to Query Table Indexes, expressions and operators
-
-
Query tables can be indexed with expressions. Primary keys allow you to index on subfields. Secondary keys allow you to index on subfields and expressions that contain at least one table field.
-
Query table "in" functionality that is more efficient than a table scan. You can use one-field keys, i.e.
contains(list(3,4,5), key)
or multi-field keys, i.e.
contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2)), tuple(k1, k2))
-
table "or" functionality that is more efficient than a table scan, e.g.
a == 3 or b < input.c
, or cases such as:(a == 2 or a > 10) and length(s) == 4
-
- Keyboard Input of Feed Simulation Speed Factor
-
In addition to being able to set the speed of a feed simulation with a slider, you can now type a speed factor in the text field to the right of the slider, which is now editable. This lets you simulate at any relative feed rate. The rate you specify can be higher than 25x, which is still the maximum that the slider enables.
- Manual Input in JSON Mode
-
The Manual Input view now has a round button at at the upper right of the toolbar for manually enqueuing JSON data. Switch to this mode to enter one or more tuples in JSON syntax. Send the data with the CTRL+Enter.
button or by pressing - Log Adapter Option to Omit Quotes around Nulls in String Tuple Fields
-
You can now control how the Log Output Adapter treats null values within string fields of tuples it logs to the Console. That is, a field of type string that contains a null character can be displayed in the Console as either
null
or"null"
. The quoted form is ambiguous, as it could either signify a string field has a null value or is a string containing the charactersnull
. Now, in the Adapter Properties tab, when you select the Display Tuple Field Names check box, a new check box beneath it is enabled. This check box, Quote Null Strings, is by default selected, so as to preserve the adapter's existing behavior. To omit quotes around null strings, turn off the Quote Null Strings option by clearing the check box. - Comparing Timestamps and Literals with Relational Operators
-
When comparing a timestamp with a string literal, the operators
==
,!=
,<=
,>=
,<
, and>
now attempt to interpret the string literal as a time. If this fails, the comparison fails to typecheck. If the string literal does not contain an explicit time zone, it is assumed to have the time zone set in the operating system of the computer compiling the application. - New Attribute Fields Property for Tuple-to-XML Operator
-
The tuple-to-XML operator now has an Attribute Fields property that can be used to specify a comma-delimited list of fully-qualified tuple field names that should generate XML attributes rather than sub-elements. For example, if the XML generated by the operator for a given input tuple is:
<Top><s>This value comes from tuple field Top.s of type string</s></Top>
Adding
Top.s
to the Attribute Fields property would result in the following XML:<Top s="This value comes from tuple field Top.s of type string"></Top>
- New Aggregate Operator Predicates to Emit and Close All Windows
-
Aggregate now has predicates to emit and close all windows. You can use this feature in an application that groups tuples to clean up when a specified condition occurs (such as market close), by emitting and/or closing all the windows.
- Three New String Functions
-
The following Boolean utility string functions have been added:
-
startswith
: Determines if a given string begins with another given string, returningtrue
orfalse
. -
endswith
: Determines if a given string terminates with another given string, returningtrue
orfalse
. -
isempty
: Determines if a given string is null or empty, returningtrue
orfalse
.
-
- List Manipulation Updates
-
-
You can now use expressions such as
["A", "B", "C", "D"]
to construct lists of literals, equivalent tolist("A", "B", "C", "D")
. -
You can now use
in
as an infix operator to test for list containment. For example,2 in [1, 2, 3]
returnstrue
.
-
- New option to sbbundle to declare Java Classpath Variables
-
When you use
sbbundle
to create a bundle that includes projects in StreamBase Studio that use Eclipse Classpath Variables, you can identify one or more of them using the new--classpath-variable
(-V
) option. The option is described in Application Bundling. - Documentation Updates
-
The StreamBase documentation for release 7.3.2 includes all the documentation updates reported for release 7.2.11, as well as the following:
-
Previously, when editing Java source files in StreamBase Studio or in Eclipse against the StreamBase Client API Library, certain methods from the client library did not display any javadoc in the Javadoc view or during Content Assist. This has been corrected, as methods that lacked javadoc, while available for the compiler, were internal methods and not part of the public API.
Studio and Eclipse will now show Javadoc for internal only methods, and the Javadoc for them states that they are not API. Please avoid using non-API methods, as any of them may be renamed or removed without warning.
Finally, note that the Javadoc HTML documentation pages exclude all internal methods.
-
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.
StreamBase 7.3.1 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.1 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.10, 7.1.12, 7.0.12, and 6.6.23.
StreamBase 7.3.1 adds the following updates and new features:
- Aggregate Operator Updated
-
The Aggregate operator has two new features for this release. The first is that the
input1.
prefix is still accepted but no longer required when entering field names in an expression for a predicate-based dimension. The second feature is a new check box in the Edit Dimension dialog for predicate-based dimensions, Evaluate Close and Emit predicates before adding the new tuple to the window. The new check box is described on the Predicate-Based Dimension Options page. - Changes to Maximum Queue Buffer Size
-
In StreamBase 7.3 and later, when queues begin to grow, each additional buffer is twice the previous buffer size, until a default maximum of 1 GB per buffer is reached. After the limit is reached, each additional buffer requested is capped at the limit size. You can change the limit size by setting the following Java property:
streambase.runtime.stream-queue-max-buffer
See StreamBase Java System Properties for more information on this property.
- New Output Added to sbprofile
-
The output from the sbprofile command now includes the number of tuples delivered for each input/output stream.
- New Expression Language Function
-
The StreamBase expression language includes a new aggregate function, lag(), which returns the next-to-last value for field f in an Aggregate operator's current window or in a Query Table column. If the window or table column has only one row or zero rows, lag() returns null. The function accepts all data types and returns the same type as its argument.
- Python Support Updated
-
This release increments the Python language support in StreamBase in two ways:
-
Support is added for Python 2.7.2 or later on Windows, 64-bit Linux, and OS X.
-
Support is added for 64-bit Python 2.6.6 or later and 2.7.2 or later on Windows.
See Creating StreamBase Python Clients for details.
-
- Client API Updated
-
New support was added to com.streambase.sb.operator.parameter.UIHints that allows adapter and operator writers to offer String value proposals to the user when typing into a text field. See the
UIHints#setProposals()
Javadoc for details. - New Saxo Bank FIX Adapter
-
The Saxo Bank FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by Saxo Bank, and to exchange FIX messages with it.
- Character Set Support Added for Several Standard Adapters
-
Several standard adapters now have two new controls on the Adapter Properties tab of their Properties views. There is a new check box, Use Default Charset, which is selected by default (with one exception, see the XML File Writer adapter note in the next paragraph). When selected, the default behavior of the adapter is to use the JVM default character set. When you want to configure an application to use Unicode support, you need to configure the adapter in addition to configuring StreamBase Server and Studio. When the check box is cleared, you must specify a standard Java character set in the new Character Set field.
This applies to the following adapters: CSV File Reader, CSV Socket Reader, CSV File Writer, CSV Socket Writer, Regular Expressions File Reader, Regular Expressions Socket Reader, and the Web Reader. The exception is the XML File Writer adapter, which does have the new controls, but whose default remains the US-ASCII character set.
- CSV Socket Reader Input Adapter Updated
-
The CSV Socket Reader Input adapter was updated to provide a server mode where the adapter listens on a specified port for incoming connections. In addition, when acting as a client, the adapter now attempts to reconnect if connections fail, using a specified wait period between reconnection attempts. The adapter also has new properties for specifying how to handle incomplete records, and whether to log incomplete record events.
- CSV File Reader Adapter Sample Updated
-
The sample for the CSV File Reader adapter was simplified for clarity. See CSV File Reader Input Adapter Sample.
- New Property for CSV File Reader and CSV Socket Reader Adapters
-
The CSV File Reader Input adapter and CSV Socket Reader Input adapter have a new property, Lenient Parsing, whose default value is true.
- FIX Output Adapter Updated
-
The FIX Output adapter and all adapters that inherit from the FIX Output adapter were updated with the ability to track acknowledgment of the receipt of sent messages. This feature is described in Requesting Outgoing Message Send Confirmation on the FIX Output Adapter page.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.1 of the Trading Technologies FIX specification.
- Thomson Reuters TREP-RT Subscribing Input Adapter Updated
-
The Thomson Reuters TREP-RT Subscribing Input adapter was updated such that CLOSED events, including access denied errors, are now logged at the INFO level, in addition to being sent to the adapter's event port.
- Studio Now Based on Eclipse 3.8.1
-
For release 7.3.1, StreamBase Studio is based on Eclipse 3.8.1, which provides some underlying Eclipse bug fixes over Eclipse 3.8.0. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8.1. Earlier Eclipse versions are no longer supported for that purpose.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Documentation Updates
-
The StreamBase documentation for release 7.3.1 includes all the documentation updates reported for release 7.2.10, as well as the following:
-
The Aggregate operator and its Predicate-Based Dimension Options pages were clarified and corrected.
-
The entry for the expression language's strptime() function was updated to add the %p format specifier, which was silently supported in previous releases, and to extend the description of %H to clarify its use with both 12-hour and 24-hour clocks.
-
The Expression Language, Expression Language Features, and Data Types pages were updated to include the IN operator, square bracket list syntax, and timestamps compared to string literal features added as of release 7.3.0.
-
The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.
-
The FIX adapter's page was clarified with respect to the use of logging options for the QuickFIX/J engine.
-
The Shared Query Table Limitation section of the Using Interfaces with Extension Points page was corrected and clarified.
-
The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.
-
StreamBase 7.3.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
StreamBase 7.3.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.8, 7.1.11, 7.0.12, and 6.6.22.
The following features were recently added to maintenance releases of previous release series:
-
Initial contents for a Query Table can be specified with tab-separated values as well as with CSV and JSON values.
-
In the EventFlow Debugger, you can now set conditional breakpoints.
-
You can now create a StreamBase JUnit test directly from selected values in the Application Input or Application Output views.
-
New Read-Only EventFlow Editors for non-hygienic modules.
-
New Web Reader Input adapter.
-
JDK 7 is now supported as an external JDK.
StreamBase 7.3.0 added the updates and new features shown in the following sections.
- Change to Rolling File Name Feature
-
This release includes a change to the rolling file name feature used by the CSV File Writer and XML File Writer adapters, and by the sbprofile command. Before this change, the rolled-over file's name represented the beginning of the roll period for weekly rolling, but represented the end of the roll period for daily or hourly rolling. After this change, rolled-over file names represent the beginning of the roll period for all roll periods.
- Control Stream Behavior Change
-
When a container, A, is added to a running StreamBase Server, and that container has a connection to the
system.control
stream, container A no longer receives the STARTING tuple on the control stream. However, othercontrol
-connected containers in the same Server instance do receive the STARTING tuple for container A. See The Container Subsystem.
- New Macintosh OS X Support
-
Release 7.3.0 adds Macintosh OS X 10.6 Snow Leopard, 10.7 Lion, and 10.8 Mountain Lion to the list of formally supported platforms. See the installation instructions, including the Limitations and Differences section.
TIBCO StreamBase Studio is provided on OS X as a client application to allow users to develop, debug, and test StreamBase applications and client applications. StreamBase installations on OS X do include a local copy of StreamBase Server for running and testing your applications locally, on the same Macintosh computer as Studio. However, StreamBase Server is explicitly not supported for deployment on Apple Macintosh machines.
- Aggregate Operator Updates
-
The Aggregate operator has the following new features for 7.3.0:
- New Edit Dimension Dialog
-
A new Edit Dimension dialog is invoked by using the Type drop-down list at the top of the dialog, selecting as before between Field, Predicate, Time, and Tuple types. The dialog then reconfigures itself to conform to the selected dimension type:
or buttons in the Dimensions tab of an Aggregate operator's Properties view. You specify the dimension type in the-
For Field type dimensions, the dialog offers a second drop-down list from which to select field names from the schema of the incoming stream.
-
For Predicate type dimensions, the dialog provides five wide edit fields in which to type expressions. The five fields are the familiar Open, Emit, and Close predicate fields from previous releases, plus the new Emit All and Close All predicate fields discussed below. All five fields have hover text that helps explain how each predicate field is used.
-
For the Field, Time, and Tuple dimension types, the Optional Windows section at the bottom now changes to contents that only apply to the selected dimension type. The wording for the options in this section now does a better job of explaining each option's purpose.
-
- Predicates for Emit All and Close All
-
In the Edit Dimension dialog for Predicate type dimensions, there are two new predicate fields, Emit All and Close All. These fields are useful for Aggregate operators that have group-by specifications where you want to emit all the windows or close all the windows based on a specific condition (such as market close time).
- New Query Table and Query Operator Features
-
The Query Table data construct and Query operator have the following new features starting with 7.3.0:
- Indexes Accept Subfields
-
If a Query Table's schema includes fields of type list or tuple, you can now use a subfield as the field specification for the table's primary index or one of its secondary indexes.
- Secondary Index Accepts Expressions
-
You can now use an expression as part of specifying the field or fields that comprise a secondary index for a Query Table. The expression must be statically resolvable, and must contain the name of at least one field in the Query Table's schema. There is a new sample in the Operator Sample Group that illustrates this feature. (Note that primary indexes cannot contain expressions.)
- New In Functionality
-
Query operators with an expression that tests whether a value is a member of a list can now proceed quickly, without requiring a full table scan. This includes expressions that use the new
in
infix operator described below, as well as expressions usingcontains()
. Both single keyin
operations and multi-keycontains()
operations experience the speedup:field-value
in [3, 4, 5] contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2))) - New Or Functionality
-
Similarly, Query operators with
or
tests can return results much faster without requiring a full table scan. As long as each part of theor
query can be efficiently planned, the whole query can be efficiently planned:a == 3 or b < input.c
In expressions like the following, the
and
operator is correctly distributed for efficient planning:(a == 2 or a > 10) and length(input.s) == 4
- Local Variables in Map and Query Operators
-
You can now declare local variables in operators that have Input Fields, Current Table Fields, or Additional Expressions grids in their Properties views, including Map and Query operators. Local variables are scoped for use in the same grid in that operator only. They can be used to prevent retyping portions of long expressions that are reused throughout the operator.
In grids of these types, the Action field's drop-down list now includes Declare, as well as the previous Add, Replace, and Remove options. When you select Declare, use the Field Name field to specify the name of your local variable, then in the Expression field, define the expression that comprises the variable. These expressions are evaluated once, at operator start time, and the result of that one-time evaluation is used as the value of the local variable thereafter. You can then use the local variable by name in subsequent rows of the same grid.
- Refactor-Move More Than One Item
-
In the Interface tab of the Interface Editor, or in the Definitions tab of the EventFlow Editor, you can now select more than one constant, named schema, or table schema (holding down Ctrl while selecting), before you right-click and select → from the context menu. This allows you to move more than one item at the same time to a different interface or EventFlow module.
- Compiler Optimizations
-
This release includes two optimizations for compiling EventFlow modules:
-
Unused field elimination. After parsing the EventFlow modules that comprise an application, the compiler determines whether there are fields declared but never used. If found, it does not generate any bytecode for such fields.
-
Common subexpression elimination. Users dealing with very large schemas might add fields that reference other fields deeply nested elsewhere in the schema, for ease of reference for those nested fields. If the compiler detects cases like this, it converts the pointing field to an internally used alias so that there is no cost to using this feature. This optimization can be disabled by setting the Java system property
streambase.codegen.common-subexpression-optimization
tofalse
. The default istrue
.
-
- Reduced Queue Latencies
-
The buffers that queue data for parallel regions were enhanced with disruptor-style features, resulting in a significant reduction in queue latencies for most applications.
- New System Property to Disable Query Table Remote Client Access
-
A new system property for sbd,
streambase.sbd.disable-remote-table-access
, disables remote client access to Query Tables. Set this property totrue
to cause all sbc readTable commands to fail as unrecognized, as well as all client table reads that use theStreamBaseClient.readTable()
API. - Suppressing the Subversive Install Connectors Dialog
-
The Install Connectors dialog is presented by the Subversive Team Provider plug-in included with Studio. If you use the Subversive plug-in, select an SVN Kit Java implementation of the Subversion libraries that match the 1.6.x or 1.7.x release of your Subversion checkouts.
If you are not using the Subversive plug-in, this dialog can come up after you inadvertently open any team provider perspective in Studio. To avoid these inadvertent pop-ups, Studio ships with the Subversive plug-in disabled on Studio startup. This is accomplished with Subversive SVN Team Provider UI Plug-in check box. To suppress the Install Connectors dialog, make sure this check box is cleared.
→ , → by clearing the
- New Option for sbargen Command
-
The sbargen command now supports the
–q
option to suppress compiler warnings.
The following changes were made to the StreamBase expression language in release 7.3.0:
-
In comparison expressions that use the operators ==, !=, <=, >=, <, or >, if one side of the comparison is a timestamp, and the other side is a string literal, StreamBase now tries to interpret the string as a valid timestamp. If the string literal does not contain an explicit time zone, the string is interpreted as having the time zone set in the operating system of the computer that compiles the application. If the conversion of the string literal fails, then the comparison fails typechecking.
-
You can now define a list and specify its contents by enclosing a comma-separated set of values in square brackets. For example,
[12, 400, 3345]
defines and populates a list(int), and["London", "Paris", "Madrid"]
defines and populates a list(string). The bracket syntax is syntactic sugar forlist(12, 400, 3345)
. -
This release adds
in
as an infix operator to test for list containment, returning Booleantrue
orfalse
. For example, the expression2 in [1, 2, 3]
returnstrue
. Notice thatin
does not enter the list of reserved words for the expression language, and can still be used as an identifier in other contexts. The operatorin
only becomes an operator in the context of a list containment expression as shown here, with the test value on its left and the queried list on its right. The queried list can be expressed with bracket syntax as above, or can be any expression that resolves to a list.
The StreamBase .NET Client Library was extensively reworked for release 7.3.0 and later. As before, you can use the .NET Client Library to create client programs or StreamBase Server monitoring programs, or to incorporate client access or server monitoring into an existing .NET program.
- Implementation Changes
-
Starting with release 7.3.0, using the .NET Client Library requires the .NET Framework 4, and requires using Microsoft Visual Studio 2010, with projects targeted to version 4 of the .NET Framework.
The Windows-native portion of the .NET API is now built with Visual Studio 2010. This means:
-
Using the StreamBase .NET API requires the Visual C++ 10 runtime DLLs. (This requirement was already in place for C++ projects built with Visual Studio 2010 starting with StreamBase release 7.2.0.)
-
The two DLLs that comprise the StreamBase .NET API no longer need to reside in the Global Assembly Cache (GAC). In fact, TIBCO strongly recommends that these DLLs not be installed there.
The names of the two StreamBase .NET API DLLs were changed to adhere to standard .NET assembly naming conventions, and to avoid confusion with the Java API delivered as
sbclient.jar
and with the sbmonitor command delivered assbmonitor.exe
. The new names are:-
StreamBase.SB.Client.dll
replaces the formersbclient.dll
. -
StreamBase.SB.Monitor.dll
replaces the formersbmonitor.dll
.
Because of these DLL name changes, existing .NET projects using the StreamBase .NET API must update their references in their Visual Studio project settings. Be sure to set the Copy Local property of references to these StreamBase assemblies to
True
. -
- Documentation Changes
-
Documentation for the .NET Client Library is now delivered as a package of HTML files with a contents panel on the left, which replaces the previous
.chm
help file. Links to the .NET API documentation are now in the API Guide's contents panel in Studio Help and sbhelp for StreamBase on Windows installations, and the .NET documentation is now linked from the API Guide's main page and from the Reference Guide.If you use the standard .NET API DLLs in the StreamBase installation's
bin
directory as references, IntelliSense help for the .NET API is enabled as you write code in Visual Studio 2010. - Installation Changes
-
The StreamBase installers no longer place the .NET API DLLs in the Global Assembly Cache, and no longer attempt to install a .NET framework for you. The 7.3.x installers always install the .NET API DLLs in the
%STREAMBASE_HOME%\bin
directory (\bin64
for 64-bit applications).The StreamBase installer detects whether or not the .NET Framework 4 is installed. If not, a dialog offers you a link to the Microsoft web page from which you can download and install the Framework after the StreamBase installation completes. The StreamBase installation itself is not blocked by the absence of the .NET Framework 4: you can install the .NET Framework later at any time, and the .NET Client Library and its features are enabled at that time.
- New Simple Deployment for .NET Programs
-
Deploying your .NET client or monitoring program is now greatly simplified, but support for the previous GAC method of deployment also remains available.
The new Simple Deployment method is the strongly recommended way to deploy your .NET programs starting with release 7.3.0. This method is to copy the following DLLs to the same directory as your code's executable:
-
Streambase.SB.Client.dll
, 32-bit or 64-bit as appropriate for the target machine. -
StreamBase.SB.Monitor.dll
, if your program uses the .NET monitor API. -
The Microsoft Visual C++ 10 runtime DLLs, which are named
MSVCP100.DLL
andMSVCR100.DLL
. You install the Microsoft runtime DLLs the same way for .NET programs as for C++ programs, described in Client Program Redistribution.
If you are writing an installer to distribute your .NET client program, arrange for it to copy these files, along with your program's executable, to the same directory. Setting the Copy Local property to
True
in your .NET Visual Studio project settings helps with this.Notice that installers that use this Simple Deployment method do not require administrative privileges on the target machine. Specify that your installer can be run in per-user mode to avoid the administrator privileges requirement.
-
- Connection Status Features Added to Java Client Library
-
The StreamBase Java Client Library was updated to supported various mechanisms for obtaining and reporting connection and disconnection events for each StreamBase client. To use these features, you must import the appropriate new classes and recompile your client code with the 7.3+ version of the Client Library.
-
The Java Client API now includes the
ConnectionStatusCallback
interface andConnectionStatus
enum. Use code like the following to add a connection callback to your client code:ConnectionStatusCallback callback = new ConnectionStatusCallback() { @Override public void stateChanged(ConnectionStatus state, StreamBaseClient streamBaseClient, String additionalInfo) { ... }
Register the callback like this example:
StreamBaseClient client = new StreamBaseClient(uri); client.addConnectionStatusCallback(callback);
-
The
StreamBaseClient
class now includes thegetConnectionSatus()
method that returns aConnectionStatus
enum, which can be either CREATED, CONNECTED, DISCONNECTED. -
There is a new Java system property,
streambase.client.log-connection-status
, which can be set totrue
orfalse
; the default isfalse
. In the default setting, StreamBase clients log both connection and disconnection events at the DEBUG level. Set totrue
to have your clients log at the INFO level for connection events, and at the WARN level for disconnection events.
These features have a new sample described below.
-
- Table Access from SBJunit Tests
-
In the StreamBase API for running StreamBase JUnit tests, the
SBServerManager
class has a new method,getTable()
, which returns aTableAccessor
object identical to those returned by the Java Operator API. This allows you to write tests that can inspect or manipulate Query Tables in applications running under test.
- New StreamBase Add-in for Microsoft Excel
-
The StreamBase Add-in for Microsoft Excel allows you to import data from StreamBase Server into an Excel 2007 or Excel 2010 spreadsheet, and to publish from Excel to a StreamBase table. The Add-in is packaged and delivered independently of the StreamBase CEP product line. Contact your StreamBase representative for more information on availability and features.
- New StreamBase Monitor Input Adapter
-
The StreamBase Monitor Input adapter consumes StreamBase Server performance and profile statistics and provides them as tuples to an EventFlow application. The statistics gathered include CPU usage, input and output rates, thread counts, and memory usage. StreamBase profiling statistics are described on Profiling.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.0 of the Trading Technologies FIX specification.
The sample modules and applications included in the StreamBase kit were updated as follows:
- New Loop Sample
-
The new Loop sample in the Applications category of Studio's Load StreamBase Samples dialog demonstrates a looping arc in a simple EventFlow application.
- New StreamBase Monitor Input Adapter Sample
-
The StreamBase Monitor Input adapter, newly added in this release, has a sample, described on StreamBase Monitor Adapter Sample.
- New Client Status Monitor Sample
-
The connection status monitor features added to the StreamBase Java Client API, described above, have a new sample, described in Client Status Monitor Sample.
- Studio Now Based on Eclipse 3.8
-
For release 7.3, StreamBase Studio is based on Eclipse 3.8. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8. Earlier Eclipse versions are no longer supported for that purpose.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
StreamBase for OS X does not include a JDK, but instead relies on the standard Java 1.6 implementation provided by Apple for OS X.
- Setup.exe Removed from Windows ISO Installers
-
The Windows installation kits in ISO format no longer include the setup.exe bootstrap program. If you mount an ISO installer, or burn installation media from an ISO, run the MSI installer directly by double-clicking it.
- Third-Party Logging Versions Updated
-
The logging features incorporated into StreamBase were updated to slf4j 1.6.6, Logback 1.0.6, and Log4j 1.2.17.
- StreamBase Platform Deprecations
-
Support for running StreamBase Server and StreamBase Studio on the following platforms is deprecated as of release 7.3.0; support for these platforms is expected to be removed in a future release:
-
Support for running StreamBase Server on Solaris SPARC platforms. (The Solaris Intel platform continues to enjoy full support.)
-
Support for running StreamBase Server and StreamBase Studio on Novell SUSE Linux Enterprise Server.
-
Support for running StreamBase Server and StreamBase Studio on Red Hat Enterprise Linux Advanced Server 4. (Support remains for RHEL 5 and 6.)
-
As a consequence of deprecating RHEL AS 4 (the only platform still supported on 32-bit Linux), all StreamBase support for 32-bit Linux is also deprecated.
-
The following StreamBase features are deprecated as of release 7.3.0 and will be removed in a future release:
-
The Thomson Reuters SFC External adapter.
-
Support for both JDBC and native connectivity to Vertica database version 4.1. (Support for Vertica versions 5.0 and 5.1 remains in place.)
-
Support for native connectivity to Sybase RAP databases.
-
Support for JDBC connections to Oracle 9i. (Support for Oracle 10 and 11 remains in place.)
-
Support for compiling 32-bit C++ StreamBase client applications for 32-bit Windows with Visual Studio .NET 2003 (Visual C++ 7.1).
-
Since release 6.3, StreamBase has shipped configured to build custom Java clients and functions with Java 6. However, an alternate method to use Java 5 for these purposes has been documented and supported. As of release 7.3.0, this alternate support for building StreamBase extensions with Java 5 is deprecated.
The following StreamBase features were announced as deprecated in previous releases, and are now removed as of release 7.3.0.
-
The JDBC External adapter. Instead, use a JDBC Table data construct and Query operator.
-
The TIBCO Rendezvous External adapter. Instead, use the embedded TIBCO Rendezvous Input and Output adapters.
-
The JMS External adapters. Instead, use the embedded JMS Input and Output adapters.
-
The Adobe Flex adapter.
-
The security tagging feature.
-
Support for StreamBase Frameworks on 32-bit Linux or Solaris SPARC platforms.
The StreamBase documentation for release 7.3.0 included the following updates independent of the above updates:
-
Terminology throughout the documentation was revised to favor the term parallel region over thread when describing the runtime options for operators and adapters expressed in the Concurrency tab of their respective Properties views. Parallel regions are described in Parallel Region Defined.
-
The documentation pages for the Read Table and Table Operator samples were updated from plain text to HTML, and now include more robust instructions for running the samples.
-
Documentation was updated and clarified for the Runtime Schema Cast Operator introduced in release 7.2.8, and for its sample.
-
The Query Table page in the Authoring Guide was updated to describe CSV, TSV, and JSON formats for entering tuple subfields in the Initial Contents tab of the Properties view.
-
The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.
This section lists the significant changes in the StreamBase 7.2.x release series.
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.
StreamBase 7.2.15 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 systemlog-level
property value. When set totrue
, 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
checkbox has been deprecated.A new
option has been added as a drop-down list box, with choices , and (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,
, 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:
-
- 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>
-
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.
StreamBase 7.2.14 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
-
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.
StreamBase 7.2.13 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 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:
you set for the adapter on a per-tuple basis. In the Log Adapter Properties pane, use theError
,Warn
,Info
,Debug
, orTrace
. Any other value, includingnull
, 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. TheListInstruments
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.
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.
StreamBase 7.2.12 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
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.
StreamBase 7.2.11 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 eithertrue
orfalse
.Adapters in a application that have
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
→ - 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
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.
StreamBase 7.2.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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, othercontrol
-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 astrue
, the function returns a string formatted as a JSON object, as defined on http://www.json.org. With the second argument expressed asfalse
, the function returns a JSON array. - New Loop Sample
-
The new Loop sample in the Applications category of Studio's Load StreamBase Samples dialog demonstrates a looping arc in a simple EventFlow application.
- New Saxo Bank FIX Adapter
-
The Saxo Bank FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by Saxo Bank, and to exchange FIX messages with it.
- FIX Output Adapter Updated
-
The FIX Output adapter and all adapters that inherit from the FIX Output adapter were updated with the ability to track acknowledgment of the receipt of sent messages. This feature is described in Requesting Outgoing Message Send Confirmation on the FIX Output Adapter page.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.1 of the Trading Technologies FIX specification.
- Thomson Reuters TREP-RT Subscribing Input Adapter Updated
-
The Thomson Reuters TREP-RT Subscribing Input adapter was updated such that CLOSED events, including access denied errors, are now logged at the INFO level, in addition to being sent to the adapter's event port.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Documentation Updates
-
The StreamBase documentation for release 7.2.10 included the following updates independent of the above changes:
-
Documentation pages for the Flume external adapters and their associated sample were updated to account for Flume 1.2.
-
The FIX adapter's page was clarified with respect to the use of logging options for the QuickFIX/J engine.
-
The documentation for the Read Table and Table Operator samples were updated from plain text to HTML, and now include more robust instructions for running the samples.
-
The readTable subcommand of the sbc command is now included in sbc's reference page and man page as well as in the sbc -h usage text.
-
The entry for the expression language's strptime() function was updated to add the %p format specifier, which was silently supported in previous releases, and to extend the description of %H to clarify its use with both 12-hour and 24-hour clocks.
-
Documentation was updated and clarified for the Runtime Schema Cast Operator introduced in release 7.2.8, and for its sample.
-
The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.
-
The Shared Query Table Limitation section of the Using Interfaces with Extension Points page was corrected and clarified.
-
The StreamBase expression language has silently supported the
between-and
operator for many releases. Documentation for this operator is now in place in the Expression Language Features page in this section. -
The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.
-
The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.
-
StreamBase 7.2.9 was a maintenance release that fixed a product limitation, as described in the Resolved Limitations section of the Release Notes.
StreamBase 7.2.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 Booleantrue
orfalse
. 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:
-
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, we 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.
-
StreamBase 7.2.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
StreamBase 7.2.7 added the following updates and new features:
- Extended Feature: More Save-As Options for Tuples
-
When you select and right-click one or more tuples in the Application Input or Application Output views, the context menu now offers some new options designed to accelerate the creation of StreamBase JUnit tests.
The new Save-As options generate fragments that can be pasted into an existing StreamBase JUnit test's Java file. The options are described in Copy Tuples to Clipboard on the Application Output page.
- New Feature: Create StreamBase JUnit Test from Application Input and Output Views
-
In addition to the above, this release introduces a new feature that generates an entire working StreamBase JUnit Java test file from scratch, based on selected tuples in the Application Input and/or Application Output views. A new button now appears in the toolbar of the Application Output view:
and in the toolbar of the Application Input view:
Click either button to run the New StreamBase Unit Test Class wizard. This is the same wizard described in the Test/Debug Guide, with additions to specify the set of tuples on which to base the test, and to specify which tuple maker class to use.
Use the Selected Tuples option when you pre-select one or more tuple rows in the Application Input and/or Application Output views before starting the wizard. The Example code option generates a generic test as before.
The Tuple Maker Class drop-down selects CSV or JSON single quote tuple maker types. The JSON tuple maker is the default, but it does not handle tuples that contain slashes or double quotes in field values. Use the CSV tuple maker for those cases.
- New Feature: Read-Only Editors for Non-Hygienic Modules
-
Starting with this release, you can select a Module Reference to a non-hygienic module, right-click, and from the context menu, select View Module with Overridden Schemas. Like using F3, this opens an EventFlow Editor canvas showing the referenced module. However, there are important differences compared to opening with F3:
-
The EventFlow Editor canvas is a read-only temporary view of the called module.
-
The schemas of the input streams of this temporary module view are shown, not as they were originally defined, but exactly as they would be overridden by the calling module.
While this feature is not an interactive debugging aid, it can nevertheless help you understand how a non-hygienic module is actually used at runtime. See EventFlow Editor Read-Only Canvas for more on this feature.
-
- New Feature: Create Configuration File Fragments for Module and Resource Search Paths
-
In the Project Properties dialog, the Module Search Path panel has a new feature. Below the Resolved Module Search Path grid, look for the new Generate configuration file snippet controls. These are links that create a fragment of a server configuration file ready for including into your project's top-level server configuration file, as described in Module Search Path Configuration File Snippets.
The same links appear in the Resource Search Path panel, in this case creating fragment files containing operator resource search path links. See Resource Search Path Configuration File Snippets.
- New Feature: X I and X A Keyboard Shortcuts
-
StreamBase release 7.1.11 enhanced the X O keyboard shortcut so that if the most recently added component is a Module Reference, the automatically added output ports receive the names of the corresponding output streams in the referenced module.
This release adds the X I (ex eye) shortcut, which operates on input ports. For any component selected or recently added to the canvas, X I adds input streams to that component's input port or ports. If the newly added component is a Module Reference, the newly added input streams take on the names of the corresponding input streams in the referenced module.
Finally, this release adds the X A shortcut, which performs both X I and X O actions on the selected or most recently added component. This is especially useful right after adding an adapter or a Module Reference to the canvas.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_33. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- New Web Reader Adapter
-
This release includes the new Web Reader adapter that reads from a specified URL using HTTP GET requests and emits the page contents in a string field of its
Data
output port. The adapter can be configured to read a web page on demand when receiving a tuple on its control input port, or to periodically poll the specified web page. The adapter is described in Web Reader Input Adapter in the Adapters Guide.This adapter is especially useful for reading web pages that emit a pure XML structure containing ongoing market trade data. This adapter's sample demonstrates reading such a page, and uses the XML to Tuple operator to parse the received XML data. See Web Reader Input Adapter Sample in the Samples Guide.
- XML to Tuple Operator and its Sample Updated
-
The XML to Tuple operator was updated to eliminate unnecessary console messages when parsing XML comments and repeated elements that map to a list. The operator's sample was updated to include a new application that parses a complex, hierarchical XML input string, using a FIXML message as the example. See XML to Tuple and Tuple to XML Operator Sample.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.0 of the Trading Technologies FIX specification.
- IBM WebSphere MQ Adapter Updated
-
The IBM WebSphere MQ Input adapter now has an Include JMS Correlation ID Field property, which is only activated when the Include Metadata Field is selected. If enabled, the adapter includes a JMSCorrelationID subfield in the schema metadata field that holds the JMS correlation ID received with the message.
- Documentation Updates
-
The StreamBase documentation for release 7.2.7 included the following updates independent of the above changes:
-
The Adapter Guide's FIX Adapter page was updated to clarify the difference between the two configuration files required by the StreamBaseFIX engine, and to make explicit that the complete set of XML elements for the first configuration file is documented in the provided example. Examples of the two configuration files on that page are now identical to those shipped with the FIX adapter sample.
-
Both StreamBase Manager and StreamBase Monitor pages were updated to clarify how weighted moving averages are calculated.
-
StreamBase 7.2.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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
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 uppercaseI
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.
-
StreamBase 7.2.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 Ctrl+Alt+T keyboard shortcut to initiate the same action.
→ context menu option to clean and rebuild individual EventFlow modules. Starting with this release, you can use the - 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
andmaxtime
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 inSTREAMBASE_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
andsystem.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.
-
StreamBase 7.2.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 eitherdisk
ormemory
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.
StreamBase 7.2.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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 → menu.
-
New
→ 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.
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 theSTREAMBASE_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.
-
-
StreamBase 7.2.2 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 thesbd
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.
StreamBase 7.2.1 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
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 includesstreambase-install-dir
/bin/opt/streambase/bin
. For 32-bit Windows and for a 32-bit Server launched from 64-bit Windows, the Studio-launched Server PATH includes
. For 64-bit Windows, the PATH includesstreambase-install-dir
\bin
.streambase-install-dir
\bin64;streambase-install-dir
\binIn addition, previous releases incorrectly appended the StreamBase home directory itself,
, 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.streambase-install-dir
- 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 theenableOperatorDetail()
method to obtain operator details.
StreamBase 7.2.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
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.
StreamBase 7.2.0 added the updates and new features shown in the following sections.
- 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:
-
Open your application in your current StreamBase release.
-
Add an Input Stream, Query operator, and CSV File Writer adapter. Connect the Query operator to the Query Table of interest.
-
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.
-
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.
-
Start StreamBase 7.2 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.
-
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 thenew
orold
fields. Theoperation
field now reportsupdate
events as a single event, instead of the previousinsert
plusdelete
events. Existing applications that monitor a Query Table delta stream will continue to work without modification.
- 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 acreate schema
statement:create schema child (foo int, bar int) implements parent1, parent2;
StreamBase Studio was updated to allow parent schema assignments when editing named schemas, table schemas, input streams, Union operators, output streams, Query Tables, and Lock Sets. See Using Parent Schemas for details.
- Hygienic Modules and Interfaces
-
Starting with this release, modules and interfaces can be configured as hygienic, and newly created modules and interfaces now default to this behavior. A hygienic module requires that the schema of input streams for a Module Reference must strictly match the schemas configured inside the module. This has the benefit of eliminating field name conflicts and other difficult-to-debug typecheck errors, and allows for faster typechecking. Hygienic modules that require flexible input schemas must use the new capture fields functionality described next. Modules and interfaces created in previous releases retain their non-hygienic settings by default when opened in release 7.2.0 or later. See Hygienic Modules.
- Capture Fields
-
Starting with this release, modules designated as hygienic can be configured to have a capture field on their input stream schemas and table schemas. If a stream connected to a Module Reference contains additional fields not specified in the module's input schema, these additional fields are captured into the capture field, and are then passed around inside the module as an opaque blob. On output from the module, the captured fields are flattened back into the output stream with their original field names and data types.
The capture type is parameterized by a name, and all capture fields in a module with the same capture type name have the same payload type. The scope of the name binding is module-instance, so different instances of a module can capture different sets of fields to the same capture field name.
Input streams and Query Table schemas can contain exactly one capture field, which collects all additional fields. Hierarchical tuples can contain one capture field in each tuple and sub-tuple. Thus, output streams and outgoing table schemas can end up containing more than one capture field to be expanded; all such capture fields are expanded when exiting the module, potentially leading to name conflicts. See Capture Fields.
- Studio 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
→ → → → 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
→ 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.
-
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'sprocessTuple()
method (or in a method directly or indirectly called byprocessTuple()
), a Step IntosendOutput
brings you back into the EventFlow stream, suspended at the arc that passes thesendOutput
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 theprocessTuple
method) brings you out of Java debugging and suspends at the next EventFlow arc traversed by the stepping process. While suspended anywhere inprocessTuple
, 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: 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 reportsSuccess reconnecting to data source
.
- 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 Compiler Cache Panel.
→ → → to specify using a persistent cache directory that maintains the cache between Studio sessions. On the same preference page, there is a button. See - 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 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:
→ → → panel, there is a new setting,-
With the Back and Forward arrows in the Studio toolbar, or
-
In the Outline view, when the
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
→ → → .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 Typecheck Warnings for an overview, and see the EventFlow Editor Annotations Tab page for warning categories you can control.
→ panel of the project's Properties dialog. See - 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 thesystem
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 theoperator
sample group for an example of an extension point with a custom icon.
- 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. Thecount
subcommand returns the number of open connections to this data source, while theclose
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 theshutdown
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
, wherecontainername
does not need to be specified for the container nameddefault
. See the usage text for the sbc and jsbc utilities and the Javadoc for the newStreamBaseClient.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 withsbc list tables
.
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:
-
join()
, added in releases 7.0.11 and 7.1.5. -
new_tuple_subset()
andnew_tuple_subset_loose()
, added in release 7.1.4.
Comparison expressions that always return null, such as x==null
, now result in a warning that you
probably meant to use the isnull()
function.
- 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:
- 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 thelibpcap
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 latestWinPcap
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.
- 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 oldStreamBaseClient.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
, incom.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 theStreamBaseClient
class to display all or a specified number of rows from a Query Table or Materialized Window. The .NET API has an analogous new methodStreamBaseClient.ReadTable()
. ThereadTable()
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 usenull
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. Thename
argument may be deprecated in a future release. - Schema.hasField(String) Removed
-
The
hasField(String)
method was removed from the Schema class, leavinghasField(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 withgetTupleLength()
(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 uppercaseS
. The previous spelling with lowercases
was retained for compatibility, but is now deprecated. - SBTestEnvironment and BaseTestEnvironment Simplified
-
In the com.streambase.sb.unittest package, the
SBTestEnvironment
interface and its implementationBaseTestEnvironment
were simplified to avoid a compile time dependency onsbserver.jar
. This change break backwards compatibility on these classes and their subclasses. Most subclasses will only need to delete the methodcreateRuntimeEnv()
.
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, useinput.
.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.
- 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, TIBCO 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-
. 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++.release
-datecode
.msi - 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.
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.
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.
This section lists the significant changes in the StreamBase 7.1.x release series.
StreamBase 7.1.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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, othercontrol
-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 astrue
, the function returns a string formatted as a JSON object, as defined on http://www.json.org. With the second argument expressed asfalse
, 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.
-
StreamBase 7.1.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
-
StreamBase 7.1.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
StreamBase 7.1.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 Ctrl+Alt+T keyboard shortcut to initiate the same action.
→ context menu option to clean and rebuild individual EventFlow modules. Starting with this release, you can use the - 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 inSTREAMBASE_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.
-
StreamBase 7.1.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 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.
→ , open the → panel, and select the check box labeled - 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 eitherdisk
ormemory
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
→ . 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.
-
-
StreamBase 7.1.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
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 includesstreambase-install-dir
/bin/opt/streambase/bin
. For 32-bit Windows and for a 32-bit Server launched from 64-bit Windows, the Studio-launched Server PATH includes
. For 64-bit Windows, the PATH includesstreambase-install-dir
\bin
.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 Use slanted arcs during arc routing and auto-layout.
→ → → → panel,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
-
-
The description of the Queues View was updated and corrected for both StreamBase Monitor and StreamBase Manager.
-
Parallel Region Defined is a new section of the Execution Order and Concurrency page of the Administration Guide.
-
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.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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:
- 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().
StreamBase 7.1.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 occurn
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 samemajor.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.
-
StreamBase 7.1.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 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.
→ , then open the → panel and select the check box labeledThis 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 theinput1.
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 → 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 missingjava-src
folder. Starting with this release, when importing projects from an archive file, Studio automatically adds thejava-src
folder if not present in the archive. - Two New Expression Language Functions
-
The functions
new_tuple_subset()
andnew_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
, thestartContainers
() 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 namedfoo
, 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 runningsbd -b
on Windows. -
The expression language's
nanotime()
function was moved from the Timestamp category to the System category with an updated description.
-
StreamBase 7.1.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
→ for the SB Authoring perspective, or directly open the new view with → → → → . - 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>
namesenabled
,truststore
, andtruststore-password
for the<ssl-authentication>
element. -
The
ldap-server-algorithm
<param>
now supports thefirst-hit
value in addition toround-robin
. -
New
<param>
namesrole-root
,role-search
, androle-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 totrue
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 theSTREAMBASE_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.
-
StreamBase 7.1.2 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 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 theOperator
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 ofpostShutdown()
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 thepostShutdown()
method's non-strict behavior by setting thestreambase.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, seeregisterUnmanagedThread()
andunregisterUnmanagedThread()
inOperator.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 theUnsolicitedRefresh
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 containsSOLICITED
orUNSOLICITED
for refresh messages, or containsQUOTE
,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
andRetransRetryCount
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:
-
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.
-
Descriptions of the timestamp data type were simplified and corrected, along with descriptions of the epoch() and today_utc() functions.
-
On the Expression Language Functions page and in Studio function assistance, the signatures of most Math category functions were extended to express their support for arguments of types int, double, and long.
-
On the Server Configuration File XML Reference page, the description of the
<java-vm/library>
element was corrected, and a contrast drawn with the<global/plugin>
element. The descriptions of the<global/module-search>
and<global/operator-resource-search>
elements were brought into agreement with current usage. -
The page describing the Wombat Publishing Output Adapter was updated to correct the required location of the
mamajni.jar
file.
-
StreamBase 7.1.1 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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 theServerManagerFactory
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.
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 TIBCO 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.
StreamBase 7.1.0 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
StreamBase 7.1 added the following updates and new features:
- 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:
-
Open your application in your current StreamBase release.
-
Add an Input Stream, Query operator, and CSV File Writer adapter. Connect the Query operator to the Query Table of interest.
-
Use the Query operator to send a Read operation that reads all rows from the table, and outputs all rows unmodified.
-
Configure the CSV File Writer adapter to accept the stream from the Query operator and write all rows to disk in CSV format.
-
Start StreamBase 7.1 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.
-
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 usingparsejson()
.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:
-
Open all EventFlow modules that have breakpoints set.
-
Remove all breakpoints, keeping notes of which arcs have breakpoints.
-
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
orstreambase.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 newgetServerURI()
function. To obtain the current leadership status, use thegetLeadershipStatus()
function.In Java code, use
getRuntimeEnvironment().getURI()
to request the server's URI. Do not use theStreambaseURI.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 EventFlow Layout Options.
→ → . For details, see -
- 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 → , → . Then, run your keyboard sequence without Enter keystrokes, and re-enable the preference afterwards.
- 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.
- 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, 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.
→ , → , as described on - 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
#"
, 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 asname
"#"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 "
argument to the sbadmin modifyContainer command.expression
" -
With the
where="
attribute of theexpression
"<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 theStreamBaseMonitor
API changes that support this feature.
- 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 totrue
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.
-
- Skip Deep Typechecking Option
-
The
→ 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 → .
-
There is a new
→ 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
→ 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
→ and → . -
-
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
#"
syntax described above.name
"
-
- Extract as Module Updates
-
In previous releases, the
→ 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 formParamName
=${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 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.
→ dialog. After a search, in the Search view, use the up and down arrow buttons (or the - 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 prefixG
. 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 Property Data Type Determines Generated Control on the Using the Embedded Adapter Wizard page for further details.
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 inIn 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.
- 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. Setparam name="jdbc-connection-timeout" value=
, whereinteger
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
→ → → . This feature was extended in release 7.1 in the following ways:-
A reminder link to the
preferences page is now at the top of the → → preferences page. -
The default background color for Groups is now specified in the
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 / (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.
→ → → page of Studio Preferences. There is now a keyboard shortcut to place a new Note on the canvas:
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
→ , then → to save all or a selection of breakpoints in a release 7.1.x EventFlow module. Use → 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
The StreamBase expression language gained the following new aggregate functions:
-
andall(
f
) — Performs an AND operation on all values in window or columnf
and returns the boolean result. -
orall(
f
) — Performs an OR operation on all values in window or columnf
and returns the boolean result. -
firstnonnullval(
f
) — Like firstval(), but returns the first non-null value in window or columnf
. -
lastnonnullval(
f
) — Like lastval(), but returns the last non-null value in window or columnf
. -
maxn(
count
,f
) — Returns a list withcount
elements containing thecount
number of maximum non-null values in window or columnf
. -
minn(
count
,f
) — Returns a list withcount
elements containing thecount
number of minimum non-null values in window or columnf
. -
firstn(
count
,f
) — Returns a list withcount
elements containing the firstcount
non-null values in window or columnf
. -
lastn(
count
,f
) — Returns a list withcount
elements containing the lastcount
non-null values in window or columnf
.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
, boolb2
, boolb3
, ...) — Performs an AND operation on the provided boolean arguments and returns the boolean result. -
orall(bool
b1
, boolb2
, boolb3
, ...) — 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 JSONmap
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"))
.
- 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 must install the 64-bit Excel Adapter kit.
→ 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 - >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.
-
-
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()
andStreamBaseClient.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 forgetGCollectors()
in theSystemInfo
class, and a new classSystemInfo.GCInfo
. -
The Java package
com.streambase.sb.client
has a new class,ClientSettings
. Use this class to set and modify various settings forStreamBaseClient
andStreamBaseAdminClient
client applications. There are new ctors onStreamBaseClient
andStreamBaseAdminClient
that take aClientSettings
object as an argument. -
In the Java API, there are new interface classes
Operator.SharedObject
andOperator.SharedObjectManager
that implement and manage objects that can be shared between operators in the same container.
The StreamBase documentation for release 7.1.0 included the following updates independent of the changes noted above:
-
The StreamBase Java System Properties page was moved from the API Guide to the Reference Guide.
-
The EventFlow Editor Command Reference was upgraded from a section of the EventFlow Editor Canvas page to a page of its own.
-
The Studio Keyboard Shortcuts page was significantly reorganized, expanded, and corrected.
-
The Query operator's page was updated to add documentation of the Order control that appears in some circumstances on the Output Settings tab.
This section lists the significant changes in the StreamBase 7.0.x release series.
StreamBase 7.0.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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:
- 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
-
-
The description of the Queues View was updated and corrected for both StreamBase Monitor and StreamBase Manager.
-
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.0.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
-
StreamBase 7.0.10 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 namedfoo
, 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 runningsbd -b
on Windows. -
The expression language's
nanotime()
function was moved from the Timestamp category to the System category with an updated description.
-
StreamBase 7.0.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 theinput1.
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.
-
StreamBase 7.0.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
→ for the SB Authoring perspective, or directly open the new view with → → → → . - 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 theOperator
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 ofpostShutdown()
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 thepostShutdown()
method's non-strict behavior by setting thestreambase.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, seeregisterUnmanagedThread()
andunregisterUnmanagedThread()
inOperator.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
, andRetranRetryWaitTime
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 theSTREAMBASE_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.
-
StreamBase 7.0.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 theUnsolicitedRefresh
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 containsSOLICITED
orUNSOLICITED
for refresh messages, or containsQUOTE
,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:
-
Descriptions of the timestamp data type were simplified and corrected, along with descriptions of the epoch() and today_utc() functions.
-
On the Expression Language Functions page and in Studio function assistance, the signatures of most Math category functions were extended to express their support for arguments of types int, double, and long.
-
On the Server Configuration File XML Reference page, the description of the
<java-vm/library>
element was corrected, and a contrast drawn with the<global/plugin>
element. The descriptions of the<global/module-search>
and<global/operator-resource-search>
elements were brought into agreement with current usage. -
The page describing the Wombat Publishing Output Adapter was updated to correct the required location of the
mamajni.jar
file.
-
StreamBase 7.0.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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 theServerManagerFactory
class.
See the 6.6.13 New and Noteworthy for details.
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 TIBCO 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
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 formParamName
=${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 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.
→ dialog. After a search, in the Search view, use the up and down arrow buttons (or the - 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:
-
The Studio Keyboard Shortcuts page was expanded and revised.
-
The Query operator's page was updated to add documentation of the Order control that appears in some circumstances on the Output Settings tab.
-
The Properties View and Expression Language Features pages were updated to clarify the ability to use comments in expressions.
-
StreamBase 7.0.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 returnslocalhost
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. TIBCO recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of thestreambase.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 thatmyApp.sbbundle
exist in the directory from which you entered the sbd command. Starting with this release,myApp.sbbundle
must exist insubdir
. - 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. TheQuoteHandoffTime
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.
-
StreamBase 7.0.4 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.
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.
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 newstreambase.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 theSTREAMBASE_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 forTuple.getTuple()
andTuple.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\u
as valid string literals in Specifying Literals in Expressions on the Expression Language Features page.NNNN
-
StreamBase 7.0.3 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.
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.
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 thesystem.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 existingheartbeat
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:
-
The Eclipse cheat sheet documentation for the Error Streams sample was rewritten to match the error streams product fix reported in Resolved Limitations.
-
The Materialized Window page in the Authoring Guide was reworked and corrected.
-
StreamBase 7.0.2 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.
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.
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:
-
The Application Bundling page was reorganized and clarified.
-
A new entry on the Environment Variables page describes how StreamBase Server determines the location of its temporary directory, which can include using the TMP environment variable.
-
A new section of the Palette View page explains Palette View Drawer Pinning.
-
StreamBase 7.0.1 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.
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.
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.
- 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.
- 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, orS
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
orsource
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 Module instances grid.
and buttons to reorder the list of modules in the - 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.
- 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
andConnectionStatusAll
. 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 eitherConnected
orDisconnected
.SenderCompID
andTargetCompID
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.
- Get/Set Dynamic Variable Methods Added to .NET API
-
Release 7.0.0 saw the addition of
setDynamicVariable()
and relatedget
methods to the Java Client Library. As of release 7.0.1, the .NET Client Library now hasStreamBaseClient.setDynamicVariable()
andgetDynamicVariables()
. - 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:
-
The Using StreamBase Logging page was reorganized and clarified.
-
The Profiling page and sbprofile reference page were expanded, reorganized, and clarified.
-
The Studio Keyboard Shortcuts was expanded and clarified.
-
Descriptions of the error() and throw() functions were clarified.
-
StreamBase 7.0.0 fixed several product limitations, as described in the Resolved Limitation and Known Issues sections of the Release Notes.
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.
StreamBase 7.0.0 added the following updates and new features:
- 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:
-
Open Studio 6.x.
-
Close ALL Editor sessions, so that you end with a large gray area where the canvas usually is, and an empty Palette view.
-
Close Studio 6.x and open Studio 7.0 using the same workspace.
-
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 → 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
→ 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
-
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 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
→ → , 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 → , the newly created file is pre-populated with an<application>
element to run that module in thedefault
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.
- 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. Thetarget-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 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 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.
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'sSimilarly, 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 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 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:
-
Open the Subversive plug-in's perspective with
→ → → . -
If the dialog does not appear after a moment, exit Studio, leaving that perspective active.
-
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.)
TIBCO 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.
- 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 TIBCO 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 → , 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
, andha-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 formertrue
andfalse
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 formContainerName.OperatorName.ParamName
. Previously, operator parameter settings applied globally. See <operator-parameter> in the server configuration XML reference.
- 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. TIBCO 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 ofstreambase.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.
- New options for sbc and sbadmin
-
The sbc command has two new subcommands,
getDynamicVariable
andsetDynamicVariable
. The first argument for both subcommands is a StreamBase path to a dynamic variable in the formcontainer.module.dynvar-name
. The second argument forsetDynamicVariable
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.
- 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.
- 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 theResourceFiles
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.
- 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 initialx_
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.
- Deprecated Methods Now Removed
-
Some methods in the StreamBase Client API that were marked as deprecated in previous releases have been removed in release 7.0.0.
- New Methods Added
-
The Client API was extended to add:
-
Methods that can get and set dynamic variable values for a module from a client application.
-
Methods that give Java operators access to StreamBase Server facilities.
-
- 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 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:
-
The Administration Guide was significantly reorganized, with all topic pages gathered into sections.
-
Some pages were moved between books or consolidated with similar pages in other books. For example, the Environment Variables page was moved to the StreamBase References.
-
In previous releases, the Migration Notes were presented as a separate book in the documentation structure. In release 7.x, the Migration Notes are now part of the Installation Guide, while the API Change History notes now in the API Guide.
-
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 page Java VM Memory Settings gathers into one location the advice on this topic that was previously in several places. A companion page is the new Garbage Collection Policy Settings.
-
The pages describing the StreamBase JUnit test feature were corrected and revised for clarity. See StreamBase JUnit Tests.
-
The descriptions of the tuple() function and the Named Schema Constructor Function were clarified and corrected, along with overall information about the tuple data type and named schemas in general.
-
The description of advanced Logback configuration on Using StreamBase Logging was corrected and clarified.
-
The description of container connections specified in the Advanced tab of a stream's Properties view was updated and corrected. See Connections in Stream Advanced Tabs, input stream properties, Advanced tab, and output stream properties, Advanced tab.
-
The New and Noteworthy and Release Note Resolved Limitations pages for previous StreamBase releases were reorganized into single pages to make it easier to find what changed in previous releases. See New and Noteworthy Archives and Release Note Archives.
-
This section lists the significant changes in the StreamBase 6.6.x release series.
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.
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
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.
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.)
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.
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 inSTREAMBASE_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.
StreamBase 6.6.19 fixed product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
StreamBase 6.6.18 fixed product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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:
- 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.
StreamBase 6.6.17 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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.
StreamBase 6.6.16 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 namedfoo
, 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 runningsbd -b
on Windows. -
The expression language's
nanotime()
function was moved from the Timestamp category to the System category with an updated description.
-
StreamBase 6.6.15 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 theSTREAMBASE_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.
-
StreamBase 6.6.14 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 theOperator
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 ofpostShutdown()
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 thepostShutdown()
method's non-strict behavior by setting thestreambase.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 theUnsolicitedRefresh
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 containsSOLICITED
orUNSOLICITED
for refresh messages, or containsQUOTE
,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
andRetransRetryCount
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:
-
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.
-
Descriptions of the timestamp data type were simplified and corrected, along with descriptions of the epoch() and today_utc() functions.
-
On the Expression Language Functions page and in Studio function assistance, the signatures of most Math category functions were extended to express their support for arguments of types int, double, and long.
-
On the Server Configuration File XML Reference page, the description of the
<java-vm/library>
element was corrected, and a contrast drawn with the<global/plugin>
element. The descriptions of the<global/module-search>
and<global/operator-resource-search>
elements were brought into agreement with current usage. -
The page describing the Wombat Publishing Output Adapter was updated to correct the required location of the
mamajni.jar
file.
-
StreamBase 6.6.13 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 TIBCO 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 newstreambase.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, whereparam
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 returnslocalhost
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. TIBCO recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of thestreambase.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. TheQuoteHandoffTime
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 toServerManagerFactory
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:
-
The Query operator's page was updated to add documentation of the Order control that appears in some circumstances on the Output Settings tab.
-
The Properties View and Expression Language Features pages were updated to clarify the ability to use comments in expressions.
-
StreamBase 6.6.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 forTuple.getTuple()
andTuple.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:
-
The Materialized Window page in the Authoring Guide was reworked and corrected.
-
Added
\f
and\u
as valid string literals in Specifying Literals in Expressions on the Expression Language Features page.NNNN
-
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.
-
StreamBase 6.6.11 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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:
-
A new page, Java VM Memory Settings, was added to the Administration Guide.
-
Discussion of the server configuration file was extended and clarified in a new suite of pages starting with StreamBase Server Configuration Files. The new page How StreamBase Studio Uses Server Configuration Files clarifies which configuration elements are used and which are ignored when running applications in Studio.
-
The Application Bundling page was reorganized and clarified.
-
A new entry on the Environment Variables page describes how StreamBase Server determines the location of its temporary directory, which can include using the TMP environment variable.
-
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.
StreamBase 6.6.9 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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 newisClosed()
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:
-
The Using StreamBase Logging page was reorganized and clarified.
-
StreamBase 6.6.8 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
andConnectionStatusAll
. 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 eitherConnected
orDisconnected
.SenderCompID
andTargetCompID
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 formContainerName.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
orunable to connect
Monitoring is disabled on this server
. Try again using a 7.x monitor utility.
StreamBase 6.6.7 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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, existingUserData
properties do not need to specify theUserData.
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
anddisconnect
commands sent to the adapter in theCommand
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 thename
attribute specifies a simple parameter name such asParamOne
, as in previous releases, all operators in the application that have a parameter namedParamOne
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 formContainerName.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 ofParamName
only for the specified operator. All other operators with a parameter namedParamName
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:
-
The descriptions of the tuple() function and the named schema constructor function were clarified and corrected, along with overall information about the tuple data type and named schemas in general.
-
The description of advanced Logback configuration on Using StreamBase Logging was corrected and clarified.
-
The description of container connections specified in the Advanced tab of a stream's Properties view was updated and corrected. See Connections in Stream Advanced Tabs, input stream properties, Advanced tab, and output stream properties, Advanced tab.
-
StreamBase 6.6.6 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
StreamBase announced support for the following feature after the initial release of 6.6.6:
- Support for SQL Server 2008 Added
-
StreamBase added support for accessing Microsoft SQL Server 2008 from StreamBase applications, using the JDBC interface.
StreamBase 6.6.6 added the following updates and new features:
- JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- New Raptor Trading Systems Adapter
-
The Raptor adapter allows a StreamBase application to connect to a Raptor Trading Systems venue and to exchange FIX messages with it. See Raptor Adapter.
- New CitiFX Adapter
-
The CitiFX FIX adapter allows a StreamBase application to connect to and exchange FIX messages with the following Citi products:
-
Executable Streaming Prices for Spot FX
-
RFS for FX Spot, FWD and Swap (also known as RFX)
See CitiFX FIX Adapter.
-
- IBM WebSphere MQ and Wall Street Systems Adapters Updated
-
The IBM WebSphere MQ adapters and the Wall Street Systems adapters were updated with a new property, SSL Cipher Suite. If this property remains empty, the adapter falls back to using a non-SSL connection. Use the property to specify the name of an SSL security package such as SSL_RSA_WITH_RC4_128_SHA. For this to work, the StreamBase Server hosting the adapter must be started with a set of JVM arguments that specify a truststore file and related values. For details, see IBM WebSphere MQ Input Adapter, Wall Street Systems Input Adapter, or their output adapter counterparts.
- TIBCO Rendezvous Input Adapter Updated
-
The TIBCO Rendezvous Subscribing Input Adapter now has a Raw Message Field Name property. Use this to specify the name of a field of type string or blob in the output schema to receive the raw Tibrv message. See TIBCO Rendezvous Subscribing Input Adapter.
- Wombat Adapter Updated
-
The Wombat MAMA Input adapter was updated to allow matches on symbols with spaces appended to the symbol name.
- Lime Citrius Adapter Updated
-
The Lime Citrius Quote Input Adapter now uses version 2.0.4 of the Lime Citrius API. This corrects a bug causing incorrect processing of Modify Execution messages.
- Log Adapter Updated
-
The Log adapter now supports independent error log level settings.
- New Load StreamBase Sample Dialog Organization
-
The categories for adapter samples in the Load StreamBase Sample dialog in Studio were reorganized into functional groups.
- Documentation Updates
-
The StreamBase documentation for release 6.6.6 included the following updates independent of the above updates:
-
The pages describing the StreamBase JUnit test feature were corrected and revised for clarity. See StreamBase JUnit Tests.
-
The two-layer contents structure of the Samples Guide was reorganized to provide a single contents page that matches the new category organization of the Load StreamBase Sample dialog. Documentation for any particular sample is now much easier to find.
-
The New and Noteworthy and Release Note Resolved Limitations pages for previous StreamBase releases were reorganized for clarity into single pages. See New and Noteworthy Archives and StreamBase Release Note Archives.
-
StreamBase 6.6.5 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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:
-
New adapters for Bovespa, Nomura FX FIX, and Solace Systems.
See the 6.5.9 New and Noteworthy for details.
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.
-
StreamBase 6.6.4 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
andEquities
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,
, 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 aConnect
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:
-
StreamBase documentation in Studio Help and sbhelp formats is now pre-indexed for searches.
-
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.
-
StreamBase 6.6.3 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
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.
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
, andLastMsgSeqNumProcessed
. - 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:
-
The descriptions of the expression language's zip() and unzip() functions were updated with example expressions.
-
Clarifications were made for the Drools operator, CSV File Reader adapter, and dynamic variables.
-
StreamBase 6.6.2 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
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.
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 module search path.
or 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 - 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 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
→ , which opens a
first in the PATH, ahead of%STREAMBASE_HOME%
\bin64
.%STREAMBASE_HOME%
\bin
StreamBase 6.6.1 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
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.
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 thepassiveOnly
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.
-
StreamBase 6.6.0 fixed several product limitations, as described in the Resolved Limitations section of the Release Notes.
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.
StreamBase 6.6.0 added the following updates and new features:
- 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.
- 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.
- 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.
- New sbunit Utility
-
This release includes a new command line utility, sbunit, used to run StreamBase JUnit test classes from the command line.
- 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
→ 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.
- 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 container connections, so that the container with the outgoing stream is started before another container with the incoming stream.
and buttons on the Containers tab. It may be necessary to adjust container start order when specifyingAs 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 thedefault
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.
- 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.
- 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.
- 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.
- 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 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.
-