New and Noteworthy Archives

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

StreamBase 7.0.x Release History

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

What Was New in StreamBase 7.0.12

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 7.0.12 added the following updates and new features:

Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

StreamBase to StreamBase Adapters Updated

Starting with this release, the Connect on adapter init property of the StreamBase to StreamBase input and output adapters no longer has any effect. Both adapters now behave as though the property is disabled (meaning they do not connect on startup), which conforms to StreamBase best practices. This change applies only to the 7.0.x release series.

FIX/FAST Support Added to FIX Schema Designer

The FIX Schema Designer (FSD), added in release 7.0.8, now supports the FIX/FAST protocol. FAST stands for FIX Adapted for STreaming, and is a FIX variation used by some trading venues. To design a schema to communicate with such a venue, select FAST Data Dictionary File in the FSD's Select Data Dictionary dialog, then navigate to select the dictionary file provided by the venue. In all other ways, the FSD works the same as before.

Update for Several StreamBase Utility Commands

The StreamBase utilities jsbadmin, jsbc, sbbundle, and sbfeedsim were updated to accept the -J option anywhere on the command line instead of its former required first position. You can now specify -J options with or without a following space.

Documentation Updates

What Was New in StreamBase 7.0.11

Fixes

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

Updates from Previous Releases

StreamBase 7.0.11 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.17.

New and Updated Features

StreamBase 7.0.11 added the following updates and new features:

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

C++ Client Library Update

The Timestamp class in the C++ Client Library now uses snap to end of month semantics for the setMonth() method. The following code fragment illustrates how this works:

Timestamp tm;
tm.setYear(2011);
tm.setMonth(10);
tm.setDayOfMonth(31);
// tm now represents October 31, 2011
tm.setMonth(2);
// tm now represents February 28, 2011
New Expression Language Function

The expression language gained a join() function, the opposite of split(). Use join() to return a string formed by concatenating the members of a list of any type, and interposing a specified character or string between each element.

Excel Adapter Updated

The Excel External adapter was updated such that the buffer-size configuration parameter and TUPLENUM tag are now limited to values between 1 and 1000. Prior to this change, there was no limit on buffer-size, and TUPLENUM was limited to values between 1 and 999.

29West LBM Adapters Updated

The 29West LBM Subscribing and Publishing adapters were updated to support pre-defined messages. Enable support for this feature with the new Enable Pre-defined Messages property. The adapters have several other new properties that control how a publish and subscribe adapter pair agree on message definitions in cooperation with the StreamBase schema.

Documentation Updates

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

  • On the Expression Language Functions page, the descriptions for the strptime(), strftime(), and strpinterval() functions now have tables that describe the supported format pattern strings, instead of off-page references to Open Group documentation. The interval() function refers back to strftime() for its pattern string descriptions.

    Likewise, the description of the format_time() function now has a table of the supported pattern characters from the Java SimpleDateFormat class, instead of references to the Java documentation. The parse_time() and timestamp() functions refer back to format_time().

    These changes make it easier for StreamBase developers working on a computer with no Internet access.

What Was New in StreamBase 7.0.10

Fixes

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

Updates from Previous Releases

StreamBase 7.0.10 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.16.

New and Updated Features

StreamBase 7.0.10 added the following updates and new features:

.NET Client Library Updated

To provide better alignment of the StreamBase .NET Client Library with the Java Client Library, the .NET API was updated to add new field creation methods to StreamBase.SB.Schema, and to deprecate older field creation methods.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support through version 7.7.2 of the Trading Technologies data dictionary.

Wombat MAMA Input Adapter Supports MAMA API Version 5

The Wombat MAMA Input adapter was updated to support version 5 of the MAMA API. To specify the use of MAMA version 5, in the adapter's Properties view, for the MAMA Version property, select 4.x and above, which is now the default setting.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a new configuration option, RequestRetransmitOnHeartbeatTimeout.

IBM WebSphere MQ Adapter Updated

JAR files provided by IBM that support WebSphere MQ are no longer shipped as part of the StreamBase kit. Documentation topics for the IBM WebSphere MQ Input and Output adapters and sample were updated to describe where to install the MQ JAR files you obtain from IBM.

Deutsche Bank AutobahnFX Trading System Adapter Updated

JAR files provided by Deutsche Bank that support the AutobahnFX Trading System are no longer shipped as part of the StreamBase kit. Documentation topics for the AutobahnFX Trading System adapter and its sample were updated to describe where to install the Autobahn FX JAR files you obtain from Deutsche Bank.

UBS FIX Adapter Updated

The data dictionary for the UBS FIX adapter was updated to the latest version.

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter was updated to send its e-mail messages in a separate, background thread and to add the new Outgoing Message Queue Capacity property. Set this to a value large enough to accommodate the maximum expected e-mail message burst.

Log Output Adapter and Sample Updates

The Log Output Adapter sample was revised to show three examples of formatting that the adapter can apply to log messages. The Log Output adapter topic in the Adapters Guide was revised, corrected, and expanded. The sample's topic in the Samples Guide was revised and expanded.

Binary File Reader Adapter Updated

The Binary File Reader adapter now emits a close event tuple when it finishes reading a file.

Documentation Updates

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

  • In the Authoring Guide topic for the Query operator, the Output Settings Tab section was reorganized and expanded, and has a new subsection, Using Aggregate Functions. The Group Options Tab section was entirely rewritten and corrected.

  • Notes were added to the Expression Language Features and Dynamic Variables topics to clarify that, in any expression anywhere in StreamBase, unqualified names are resolved first against the names of any dynamic variables in the current module, and then against the names of fields in currently available streams. This means that a dynamic variable named foo can inadvertently mask a field also named foo, depending on context.

  • The section for the -b option on the sbd reference page, and the Background Mode on Windows section of the Server Background Mode and Logging page were rewritten to emphasize and better explain why we discourage running sbd -b on Windows.

  • The expression language's nanotime() function was moved from the Timestamp category to the System category with an updated description.

What Was New in StreamBase 7.0.9

Fixes

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

Updates from Previous Releases

StreamBase 7.0.9 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.15. See the 6.6.15 New and Noteworthy for details.

New and Updated Features

StreamBase 7.0.9 added the following updates and new features:

Aggregate Operator Updated

The field name qualifier input. is now valid in expressions in the Aggregate operator, and has the same meaning as the input1. qualifier.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a configuration option, QueueCapacity, and to increase the default blocking capacity of the adapter.

Windows Installers Are Now Digitally Signed

As of this release, all Windows MSI installer files are digitally signed, including the installers for external adapters and Frameworks.

Documentation Updates

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

  • The instructions for configuring Visual C++ to build StreamBase clients and custom functions for Windows were expanded and clarified. See Configuring Visual C++.

  • Documentation for the operator-parameter element of the server configuration file was updated and expanded, both in the skeleton configuration file comments and in the StreamBase Server Configuration File XML Reference.

What Was New in StreamBase 7.0.8

Fixes

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

Updates from Previous Releases

StreamBase 7.0.8 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.14.

New and Updated Features

StreamBase 7.0.8 adds the following updates and new features:

New FIX Schema Designer

This release introduces the FIX Schema Designer, which provides a way to generate named schemas for FIX message types for use with the FIX adapter or any StreamBase adapter that uses the FIX protocol. See FIX Schema Designer View for details.

If you use an existing Studio workspace after installing this release, the FIX Schema Designer view may not appear by default. In this case, either run WindowReset Perspective for the SB Authoring perspective, or directly open the new view with WindowShow ViewOtherStreamBase FIXFIX Schema Designer.

Copy Schema From Dialog Now Supports Interfaces

You can now copy schemas from streams and components in interface files as well as from EventFlow and StreamSQL modules, when using the Copy Schema From dialog. See Copying Schemas in the Authoring Guide.

Module Call Hierarchy View Updated

Entries in the Module Call Hierarchy View now show the name of an Extension Point first, followed by the StreamBase interface file implemented by that Extension Point. This more accurately reflects the action to expect from double-clicking an Extension Point name, which is to select and highlight that Extension Point in the EventFlow Editor for the containing module. To open the interface file instead, right-click and select Open Module File from the context menu, as before.

Trace Debugger Color Legend

The Trace Debugger view now has a link that pops up a reminder of the color legend for the debugger.

Stricter Operator.postShutdown() Behavior

The postShutdown() method of the Operator class was updated to more strictly wait for an operator or adapter's run threads to exit (or time out) before running. This strict behavior of postShutdown() is the default behavior as of this release, and improves the shutdown behavior of all operators and adapters, whether provided by StreamBase or custom. You can restore the postShutdown() method's non-strict behavior by setting the streambase.java-operator.unsynchronized-shutdown system property to true.

StreamBase Authentication Now Supports Enciphered Passwords

Basic StreamBase authentication now supports connecting to StreamBase Server with URLs that include an enciphered password, as described in Enciphering Passwords. This affects all client access to the server, including StreamBase-provided clients such as sbc and sbadmin, and affects access from most adapters.

Independent Threads Now Registerable for Operators and Adapters

Custom operators and adapters can now register independent threads that are not derived from the Operator class for purposes of thread CPU tracking in StreamBase profiling tools. In the Javadoc for the StreamBase Client Library, see registerUnmanagedThread() and unregisterUnmanagedThread() in Operator.RuntimeEnvironment.

.NET Client Library Update

In the .NET Client Library, the StreamBase::SB::Timestamp class was made serializable.

New BM&FBovespa UMDF Adapter

The BM&FBovespa UMDF adapter allows a StreamBase application to connect to BM&FBovespa's Unified Market Data Feed to receive market data in the form of FIX/FAST messages. The adapter uses the high-speed, low-latency StreamBaseFIX engine to decode the incoming FAST messages. The adapter is described in BM&FBovespa UMDF Input Adapter and has a sample, described in BM&FBOVESPA UMDF Input Adapter Sample.

Thomson Reuters RMDS Subscribing Input Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to add useMarketfeedUpdateType=true to its default configuration file. For SSL connections when using the Market Feed message model only, this directs the adapter to emit Market Feed corrections as CORRECTION messages.

Deutsche Bank AutobahnFX Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support ladder rungs for swaps and to provide performance enhancements.

CitiFX FIX Adapter Updated

The CitiFX FIX adapter was updated to support the Executable Streaming Prices for Forwards product as well as ESP for Spot. Continue to select the Spot option in the adapter's Properties view for either ESP product.

TBF Adapter Updates

The TBF Input adapter was updated to support the new MaxQueueLength, RetransRetryCount, and RetranRetryWaitTime properties in the STAMP session configuration file. See TBF Input Adapter for details.

Lime Citrius Adapter Updated

The Lime Citrius Quote adapter was updated to use version 2.0.6 of the Lime Citrius API.

FXall Provider Adapter Updated

The output adapter in the FXall Relationship Trading Provider Adapter set was updated to add the Log XML Messages and INFO Level property. Previously, only the input adapter of this adapter set supported this option.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support version 7.6.5.29 of the Trading Technologies data dictionary.

Documentation Updates

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

  • The Rules of StreamBase Execution Order were updated and extended.

  • The Microsoft Excel External Adapter documentation was updated to extend and correct the sample code for publishing tuples to StreamBase from Excel.

  • The description of the sbd --eval command was updated with a note listing the functions that are not expected to work with that command. The description of each of those functions on the Expression Language Functions page was updated to reflect the same issue.

  • The reference pages (and man pages on UNIX) for several commands were updated to reflect support for the -J option to specify per-invocation JVM arguments. The -J option is an updated and more convenient alternative to using the STREAMBASE_JVM_ARGS environment variable for this purpose. The commands affected are: jsbadmin, jsbc, jsbclientgen, sbargen, sbbundle, sbcipher, sbd, sbfeedsim, sbprofile, sbproxy, sbrecord, and sbtest. The following commands from external adapter kits also support -J: sb-ems-* and sb-jdbc.

  • The Drools Operator page was updated to reflect the name change of the optional third-party package from Drools Expert to Drools Core and to rework the steps for downloading and installing it.

What Was New in StreamBase 7.0.7

Fixes

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

Updates from Previous Releases

StreamBase 7.0.7 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.13.

New and Updated Features

StreamBase 7.0.7 added the following updates and new features:

Thomson Reuters Velocity Analytics Database Now Supported

The Velocity Analytics tick-store database from Thomson Reuters is now supported for standard JDBC access.

New Support for Container Connections Within One Container

In previous releases, container connections were restricted to streams exiting one container and entering a stream in a separate container. As of this release, that restriction is relaxed, and you can configure stream to stream connections within the same container, where the destination and source container names are the same. Intra-container connections must be Asynchronous, and the same access restrictions apply: that is, streams you wish to connect to or from in sub-modules must be marked as Always exposed in EventFlow modules, or public in StreamSQL modules.

New Studio Save Optimization

To provide better compatibility with version control systems, in cases where only layout changes have occurred, Studio now saves only the module's .sblayout file. In previous releases, Studio would save both .sbapp and .sblayout files for any change.

New Search Path Order Display for Module Explorer

The Module Explorer view shows all StreamBase module files and folders containing such files in the module search path of the currently open EventFlow or StreamSQL module. The default display order is to list files and folders in alphabetical order. Starting with this release, there is a Search Path Order button in the view's toolbar. Click this button to show the view in module search path order. The button's selected state persists between Studio sessions.

New JDBC Query Timeout Parameter

In StreamBase Server configuration files, the param child element of the data-source element accepts a new value, jdbc-query-timeout. This parameter specifies an integer number of milliseconds that StreamBase waits for each JDBC query operation to execute. The default is 0, which means wait forever for each query to return; this default matches the behavior of StreamBase before this parameter was added. Specify a value such as 15000 (15 seconds) to prevent StreamBase Server from hanging in rare cases where the JDBC server never responds to a query. See StreamBase Server Configuration File XML Reference.

Drools Operator Updated

The Drools operator was updated to add an optional status port specified with the new Enable status port property. This port conveys the status of rules entered at runtime on the dynamic rule port. The documentation page for the operator was updated to clarify the format of rules entered on this port.

New Expression Language Functions

The new nullif() function evaluates two arguments. If the arguments are equal, the function returns null; otherwise, the first argument is returned. This function can be used to evaluate fields before and after an event, and to send a field downstream only if it has changed, otherwise null.

The new eval() function takes either two or three arguments. With two arguments, the function evaluates a simple expression entered as a string and returns the result using the data type of the second argument. With three arguments, the second field contains a tuple, and the expression in the first field can be evaluated against any fields in that tuple. The third argument specifies the return data type. Because of environment limitations, the eval() function does not run successfully at the command prompt with sbd --eval, but runs as expected in EventFlow and StreamSQL expressions.

Thomson Reuters RMDS Subscribing Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to better distinguish quotes from trades. The market data output port now contains an optional ResponseType field, which supersedes the UnsolicitedRefresh field. The field is enabled by selecting the Include OMM Response Type Field property in the Tuple Properties tab in the adapter's Properties view. The field contains SOLICITED or UNSOLICITED for refresh messages, or contains QUOTE, TRADE, CORRECTION, and so on, for update messages.

QuickFIX/J FIX Engine Now Supports Rolling Log Files

The FIX adapter, and all StreamBase adapters that use the QuickFIX/J FIX engine, were updated to take advantage of the version of the LogBack logging libraries included with the StreamBase base kit. This allows you to configure adapter-specific entries in your logback.xml file that specify file rolling for log files that capture QuickFIX/J messages. Contact StreamBase Technical Support if you need help configuring this option.

ActivFeed Input Adapter Updated

The ActivFeed Input adapter was updated to support Activ's Service.WorkstationService address to support multiple connections with shared user credentials. See ActivFeed Input Adapter in the Adapters Guide.

JMS Adapters Updated

The JMS embedded adapters were updated to support connections to OpenMQ without JNDI.

Documentation Updates

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

What Was New in StreamBase 7.0.6

Fixes

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

Updates from Previous Releases

StreamBase 7.0.6 inherited the updates and new features added to maintenance releases of previous release series, through and including release 6.6.13. Thus, StreamBase 7.0.6 included the following changes added in 6.6.13:

  • Properties View, Concurrency Tab now accepts parameters.

  • New regexreplace() function.

  • New Bloomberg BPOD Subscribing Input adapter.

  • New Wombat MAMA Publishing Output adapter.

  • Thomson Reuters RMDS adapter updated.

  • Deutsche Bank Trading System adapter updated.

  • Alpha Trading System adapters updated to use Alpha API 4.5.

  • Thomson Reuters RFA adapter updated.

  • API change: new method, confFilePath(), was added to the ServerManagerFactory class.

See the 6.6.13 New and Noteworthy for details.

New and Updated Features

StreamBase 7.0.6 added the following updates and new features:

New StreamBaseFIX FIX Engine Available

Starting with this release, the FIX adapter can be configured to take advantage of a new FIX engine, StreamBaseFIX, in addition to the QuickFIX/J, CameronFIX, and Appia FIX engines already supported. StreamBaseFIX is derived from the B2Bits Antenna FIX engine from EPAM Systems, and allows high-speed, low-latency communication using the FIX protocol.

StreamBaseFIX can be used with the FIX adapter and with all StreamBase adapters that use the FIX protocol, including the Bolsa Commercio Santiago FIX, Bovespa, CitiFX FIX, Currenex, EBS, FXall FIX, Goldman Sachs Electronic Trading FX, Integral FX Inside FIX, LavaFX, Lime FIX, Nomura FX FIX, Raptor, Trading Technologies, and UBS FIX adapters.

The StreamBaseFIX engine is included with the base StreamBase kit, but its use is separately licensed. Contact StreamBase Systems Technical Support or your StreamBase Sales Engineer for further details.

Reuters Adapter Family Rebranded as Thomson Reuters

The six StreamBase adapters that connect StreamBase applications to the Reuters infrastructure were rebranded as Thomson Reuters adapters. Functionality for all Thomson Reuters adapters remains the same as before.

Extract as Module Updates

In previous releases, the Extract as Module command (in the context menu of the EventFlow canvas) was extracting all parameters and their settings from the parent module to the new child module. The command was updated such that it now extracts only parameters actually used by the components selected for extraction. Parameters with default values in the parent module are copied with the same values to the child module. Parameter settings in the child module are updated to link to the parent module's parameter values, in the form ParamName = ${ParamValue}.

Studio Supports Canvas Highlighting After Eclipse Text Searches

This release adds Studio highlight and location support in text searches for StreamBase file types in the Studio workspace initiated by the Eclipse SearchFile dialog. After a search, in the Search view, use the up and down arrow buttons (or the Ctrl+. shortcut) to select each found location in sequence. Starting with this release, selecting a found location in the Search view opens the editor for the StreamBase file in which the search phrase was found, and highlights the containing line. For EventFlow files, the component that contains the search phrase is selected and centered on the canvas. This feature is described in a new Authoring Guide page, Text Search in Studio.

New sbprofile Options

When using sbprofile to generate a profiling output file, you can now append a --roll-size or --roll-time option to automatically roll over the output file when it reaches a specified size or when a certain time has elapsed. See sbprofile for syntax details.

New Options for External Process and StreamBase Admin Operators

The External Process and StreamBase Admin operators both gained a new property, Number of async worker threads. For the StreamBase Admin operator, this property is on the Operator Properties tab; for the External Process operator, the property is on the Advanced tab and is only active when the Run this command asynchronously check box is selected. The default value of 1 means that the operator's commands are performed serially, and this default behavior is new for both operators. Positive values specify a limit on the number of threads to spawn to perform the operator's requested operations. Negative or 0 means the operator spawns an unlimited number of threads (which is the default behavior in previous releases).

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter now has a new X-Headers tab in its Properties view, which allows you to specify multiple X-Header lines to be included in the emitted e-mail. See E-mail Sender Output Adapter in the Adapters Guide.

Documentation Updates

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

What Was New in StreamBase 7.0.5

Fixes

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

Updates from Previous Releases

StreamBase 7.0.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.12 and 6.5.13.

New and Updated Features

StreamBase 7.0.5 added the following updates and new features:

Studio Now Based on Eclipse 3.6.2

The version of Eclipse that serves as a foundation for StreamBase Studio was updated to Eclipse 3.6.2, which retains backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

JDK Version Updated

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

New getServerURI() Expression Language Function

The expression language gained the new getServerURI() function that returns the StreamBase URI of the currently running server in the form sb://localhost:10000. The function reports the URI from the server's point of view, and thus always returns localhost as the host name. Use this function to obtain the port number plus any appended authentication parameters from a running server.

In previous releases, StreamBase samples and documentation recommended using systemproperty("streambase.uri") to retrieve this information. As of this release, the HA samples and documentation now show the use of getServerURI() instead.

Sites that run multiple instances of StreamBase Server in the same JVM need a way to distinguish the port number from the URI of separate server instances, which is not possible with a JVM-wide property. StreamBase Server continues to provide the streambase.uri system property in the 6.6.x and 7.0.x release series, but the property will be deprecated in a future release. StreamBase Systems recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of the streambase.uri property.

New isInterval() Expression Language Function

The expression language was enhanced with a new function, isinterval(), that returns true if its timestamp argument is an interval timestamp.

New System Property for Some Cases of Running Bundle Files

Under some circumstances, StreamBase Server can emit warning messages at startup that indicate an environment variable has changed since the application was compiled. In most cases, these warnings have no consequences and can be ignored. However, when the server is loading a bundle file that includes a precompiled archive file, an environment variable warning message has the unintended side effect that the server ignores the bundled archive file and recompiles the application from the bundled source files. The bundled application does run normally, but for very large applications, at the cost of the recompilation time. To avoid recompiling a bundled archive file, you can now set the following system property:

streambase.check-app-environment-variables-changed=false
New Application Compilation Statistics

In Studio, the StreamBase panel of the Properties dialog for EventFlow and StreamSQL files now shows statistics about the selected file after it has been compiled by StreamBase Server at least once. Statistics are shown for the selected module and all submodules it references. See Application Statistics on the new StreamBase File Properties page.

Stricter Behavior for sbd --working-directory

The -w or --working-directory options for the sbd command were added in release 7.0.3. As of release 7.0.5, these options change earlier in the sbd startup sequence to the specified working directory path. This change means that every file the server needs to reference, including files specified on the sbd command line, must be specified relative to the working directory, or must be absolute paths.

For example, in 7.0.3 and 7.0.4, sbd -w subdir myApp.sbbundle required that myApp.sbbundle exist in the directory from which you entered the sbd command. Starting with this release, myApp.sbbundle must exist in subdir.

New sbargen Switch

The sbargen command has a new option, --if-modified. When used, it directs sbargen to check the target .sbar file's dependencies, and only rebuild the target if it is older than its dependencies.

SBJunit Method Extended

The SBServerManager.loadApp() method in the com.streambase.sb.unittest package now loads precompiled archive files (.sbar files) as well as EventFlow and StreamSQL files. As before, specified files are located on the module search path.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was updated with the following enhancements: See FXall Relationship Trading Provider Adapter for details.

  • The adapter now supports the Use Custom Order Schema and Custom Order Schema properties on the adapter's Studio Properties page. Enable the Use option to specify the use of a custom schema with which to emit order tuples on the event port. Specify the custom schema itself in the Custom Order Schema field.

  • The adapter now includes a field in the event output port that conveys the nanotime value at the time each callback was made from the FXall API into the adapter.

  • The new Log XML Messages at INFO Level property specifies that received XML messages are to be logged at the INFO level.

  • The new Set Requirement Maker IDs property adds support for populating the Maker ID of each requirement of each leg during SentPickup commands.

  • The following output adapter properties were not used and were removed: Maker ID, Maker Name, Maker Group Name.

  • The sample associated with this adapter was refactored into separate modules.

Deutsche Bank Trading System Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support a new Include Latency Data property in the adapter's Properties view. When selected, this property adds two latency measurement fields to the Quotes output tuple expressed in nanoseconds. The QuoteArrivalTime field records the time between delivering a quote to the adapter and the time that quote arrives in the containing adapter. The QuoteHandoffTime field records the time a Quotes tuple spends enqueued after the adapter has called sendOutputAsync().

29West LBM Adapter Updated

The 29West LBM adapter was updated such that all instances of the adapter now share a context if they specify the same LBM configuration file and section.

Hotspot FX Adapter Updated

The Hotspot FX Control adapter (part of the Hotspot TXTrading System adapter suite) now supports two new actions: connect and disconnect. See Hotspot FX Trading System Adapter.

Reuters RMDS Subscribing Input Adapter Updated

In processing update messages, the Reuters RMDS Subscribing input adapter now uses cached item state to populate metadata fields for OMM message models, as it has been doing for the non-OMM MarketFeed model.

Documentation Updates

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

  • The StreamBase File Properties page was added to the Authoring Guide to provide a place to document the new Application Compilation Statistics feature described above. This provided an opportunity to clarify the differences between Project Builder settings and the Builder Options you specify for individual files.

  • The documentation page for the Hotspot FX Trading System adapter incorrectly listed some fields in the control adapter's input port as ints rather than strings. This was corrected.

What Was New in StreamBase 7.0.4

Fixes

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

Updates from Previous Releases

StreamBase 7.0.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.4 added the following updates and new features:

Improved Support for Running Bundled Applications

This release includes several related features that improve the ability to run bundled StreamBase applications:

Include Third-Party Resource Files in Bundles

This release introduces both Studio and command-line mechanisms to specify the inclusion in a bundle of certain files that are not automatically bundled, and to optionally place those files in a particular relative path in the bundle. The Studio implementation is the new Bundling page in the Project Properties settings, while the command-line implementation is found in the sbbundle -I or --include options.

Bundles are Now Extracted to Disk Before Being Run

In releases 7.0.0 through 7.0.3, when giving a StreamBase bundle file name as an argument to the sbd command, the sbd startup code would run the bundled application directly from the bundle archive file. Starting with release 7.0.4, bundle contents are unzipped to disk by the sbd startup code and then run. This restores the bundle behavior of the 6.6.x release series. See How Bundles Are Run on the Application Bundling page.

Recently Added sbd Working Directory Switch

Release 7.0.3 introduced the -w and --working-directory options for the sbd command that allow you to specify a path to an existing directory from which to run StreamBase applications. When used in conjunction with a bundle file, this switch specifies the directory into which the bundle is unzipped before running its contents.

New Delete on Exit Behavior for Bundles

In previous releases, a temporary working directory where a bundle's contents were unzipped was automatically created and used, and was silently and automatically deleted on sbd exit. Starting with release 7.0.4, the unzipped bundle's working directory contents are still deleted on exit under two circumstances:

  • You do not specify a working directory with -w, in which case an automatically determined temporary directory is created and deleted.

  • You use -w, and specify an empty working directory.

If you use -w, but specify a path to a directory with any existing contents, that directory is preserved on sbd exit. You can use the new streambase.sbd.delete-working-bundle-dir system property to modify this delete on exit behavior. Set -Dstreambase.sbd.delete-working-bundle-dir=true to delete the working directory's contents even if you specify a non-empty path with -w. You can use the sbd command's -J option to specify the system property on the sbd command line.

New Custom Logging Switch for the sbd Command

The new sbd switch --use-custom-logging has the same effect as setting the STREAMBASE_USE_CUSTOM_LOGGING environment variable, as described in Using StreamBase Logging. The advantage of the new switch is that it can be used when sbd is configured to run as a Windows service, so that an alternate logging system can be specified without needing to set a global environment variable.

New Expression Language Function

The expression language was enhanced with the replace() function for strings. The new function operates much like the Java String.replace() function.

Copy-free Tuple Setter Methods Added

Zero copy Tuple setter methods were added to the Java API. See the Javadoc for Tuple.getAllocatedTuple() and the comments added for Tuple.getTuple() and Tuple.setTuple().

New Feature for Embedded JMS Adapters

The JMS Reader and JMS Writer embedded adapters were updated to support creating JMS endpoints dynamically, if the target JMS server supports this feature. See Dynamic Endpoints on the JMS Input and Output Adapters page for details.

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 7.0.4, the Vhayu Subscription and Vhayu Query adapters were removed from the StreamBase base kit. Vhayu Technologies was acquired by Thomson Reuters in August, 2009, and Vhayu's proprietary subscribe and publish API was replaced with the standard Reuters RMDS protocol. Thus, to subscribe to or publish to a Vhayu Velocity or Reuters Tick Capture Engine tick-store database, you can now use the Reuters RMDS Subscribing Input and Publishing Output adapters.

Documentation Updates

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

  • The Using StreamBase Logging page was once again extensively rewritten and reorganized to describe new behavior, to clarify the default settings for Logback logging, and to provide a better description of the criteria that must be met to configure StreamBase to use the Log4J logging back end.

  • Reworked the Unicode Support page to clarify the configuration for StreamBase client applications as well as for Studio and Server.

  • Added \f and \uXXXX as valid string literals in Specifying Literals in Expressions on the Expression Language Features page.

What Was New in StreamBase 7.0.3

Fixes

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

Updates from Previous Releases

StreamBase 7.0.3 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.3 adds the following updates and new features:

New Feature for the sbd Command

The sbd command now recognizes the -w or --working-directory option that takes an absolute or relative path as an argument. If used, the sbd startup code changes to the specified directory before starting the Server. See the sbd reference page for further details.

System.control Stream Updates

Events sent by the container subsystem of the system container's control stream were changed to report STARTING, STOPPING, and STOPPED events for containers in addition to the existing START event. Connections to the system.control stream can now be synchronous, but only when used with caution. See Using Control Stream Features for the details of these changes and a discussion of the caution. That page also adds documentation for the existing heartbeat subsystem of the control stream.

FIX Adapter Updated

When using the FIX Adapter with the Appia FIX engine, time-based FIX fields (UTCTimestamp, LocalMarketTime, and so on) are mapped to StreamBase field types differently than for other supported FIX engines. For details, see Field Type Mapping on the FIX Adapter documentation page.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.3: RSS Reader, TIBCO Embedded Input and Output, Vertica Load, XML File Writer, and XML Over HTTP adapters.

Documentation Updates

The StreamBase documentation for release 7.0.3 includes the following updates independent of the above updates:

What Was New in StreamBase 7.0.2

Fixes

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

Updates from Previous Releases

StreamBase 7.0.2 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.11 and 6.5.12.

New and Updated Features

StreamBase 7.0.2 added the following updates and new features:

Reroute Arcs Function Restored

The Reroute Arcs function ( button or Ctrl+Alt+L) returns to Studio as of release 7.0.2, and the automatic arc layout feature of releases 7.0.0 and 7.0.1 is now disabled. As in the 6.6 release series, the Reroute Arcs function routes arcs around components, using curves and bends in the arcs as needed. With no arcs selected, this function acts on all arcs on the current canvas; with one or more arcs selected, it acts only on the selected arcs. Use this function when you are satisfied with the component layout of the current canvas, but want to add curved arcs.

The Rearrange components and arcs function ( button or Ctrl+L) now runs the Reroute Arcs function automatically. In 6.6.x, these were independent controls that required running each in sequence. These functions are discussed in Component and Arc Layout Controls on the EventFlow Editor Canvas page.

StreamBase Manager Now Has Automatic Reconnection

The context menu in the Servers view of StreamBase Manager has a new option, Connect Automatically. This option connects to the selected server URI and stores persistent connection information; statistics from that server begin to display when the connection is made. If the connected server goes down and restarts, StreamBase Manager automatically reconnects and continues monitoring. If you exit and restart StreamBase Manager later, you only need to select the server's entry in the Servers View to reestablish the connection. See StreamBase Manager.

JDK Version Updated

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

Minor Linux and Solaris Installation Changes

The names of the .bin files that contain both RPM and archive installation options for Linux and Solaris were extended to include a build number as well as architecture and platform tags. This helps you distinguish similar installation files when installing an upgrade on several platforms. See Installing StreamBase on Linux and Installing StreamBase on Solaris.

The installers now check the current platform and architecture, and issue a warning if you attempt run a non-matching installer version. Finally, the unpack option for the archive installer on Linux was improved, as described in Installing StreamBase on Linux.

sbd command: Cannot Use -f Option with Bundle File Arguments

StreamBase bundle files contain a generated bundle-specific server configuration file, as described on Application Bundling. For this reason, starting with this release, an error message results if you use sbd -f sbd.sbconf with a bundle file argument.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.2: Lime Citrius, Regular Expressions Reader, Regular Expressions Socket Reader, Sybase RAP4, Reuters RMDS Publishing, Reuters RMDS Subscribing, and the StreamBase to StreamBase input and output adapters.

Documentation Updates

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

What Was New in StreamBase 7.0.1

Fixes

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

Updates from Previous Releases

StreamBase 7.0.1 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.6.10 and 6.5.11.

New and Updated Features

StreamBase 7.0.1 added updates and new features in the following categories:

Platform Updates
Studio and Profiling Updates
Adapter Updates
API, SBX, and Documentation Updates

If you are new to the StreamBase 7.x series, be sure to see the New and Noteworthy for release 7.0.0, as well as Migrating From StreamBase 6 to 7.

 Platform Updates 
JDK Version Updated

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

Studio Now Based on Eclipse 3.6.1

The version of Eclipse that serves as a foundation for StreamBase Studio was updated to Eclipse 3.6.1, which retains backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

SLF4J and Logback Versions Updated

The version of the SLF4J front end logging system was updated to release 1.6.1. The Logback back end logging system was updated to release 0.9.26. See Using StreamBase Logging for details.

 Studio and Profiling Updates 
Updates for Profiling and the sbprofile Command

The sbprofile command was updated to support the -t option, which suppresses thread information in the profile report. The output of sbprofile now includes System statistics, as well as Operator, Queue, and Thread statistics. Each row of the CSV profiling report now includes an initial field that shows the type of statistics information in that line: O for operator statistics, Q for queue statistics, T for thread statistics, or S for system statistics.

When running sbprofile interactively with a connection to a live server, you can request a description line preceding each operator statistics line in the CSV output format, that shows the type of the following operator. These description lines have a D in the first column, and are not available when using sbprofile to analyze a saved statistics stream file.

Studio: New Autocompletion Feature in Deployment File Editor

When editing a StreamBase deployment file in Studio's Deployment File Editor, you can now press Ctrl+Space between the quotes for the value of the dest or source attributes of the <container-connection> element, and the Editor shows a list of container-qualified names of the top-level streams in all modules in the module search path. See Deployment File Editor.

Studio: Improvement for Arc Endpoint Moves

In release 7.0.0, moving an arc's endpoint from one component to another required precise placement of the cursor. In release 7.0.1, you can pick up an arc's endpoint by clicking and holding any part of the arc near that endpoint.

Studio: Mismatched Schema Errors Now Offer Schema Comparison

There are EventFlow locations where two schemas are expected to match, such as when specifying a declared schema in an output stream, or specifying strict options in a Union operator. As of release 7.0.1, mismatched schema error messages now offer to automatically open the Compare Schemas dialog showing the two mismatched schemas.

In the Union operator, right-click the red X error icon to get to the Compare Schemas dialog.

Studio: New Keyboard Shortcut to Toggle Breakpoint

The EventFlow Editor now honors the Eclipse-standard Toggle Breakpoint keyboard shortcut when an arc is selected. When more than one arc is selected, continue pressing the keyboard shortcut to toggle each selected arc in order. The Toggle Breakpoint shortcut is defined as Ctrl+Shift+B by default.

Studio: Up and Down Arrows in Module Reference Ports Tabs

The Port associations grids in the Input Ports and Output Ports tabs of a Module Reference's Properties view now include Up and Down arrows. This lets you rearrange which streams or components connect to a module's various ports without disconnecting and reconnecting arcs.

Studio: Update for Application Output View

In previous releases, when running an application module in Studio, when you clicked the Application Output View's Disable Dequeuing button (), the grid of output tuples was disabled. Starting with release 7.0.1, when dequeuing is disabled, the grid of recent output tuples stops being populated, but is still active. You can still scroll and select any row to see individual output tuples in the Details Pane.

Studio: Extension Point Modules Can Be Reordered

In the Modules tab of the Properties view of an Extension Point operator, you can now use Up and Down buttons to reorder the list of modules in the Module instances grid.

Studio: Outline View Now Includes Notes

The Outline View now includes Notes in the tree of components.

Studio: Java Hover Text Warns About Non-Public APIs

When editing Java code in StreamBase Studio, the pop-up hover text for classes and methods now shows a warning if you try to use a non-public method or class in the StreamBase Client Library.

 Adapter Updates 
New Reuters Contribution Adapter

The new StreamBase Reuters RMDS Contribution Adapter allows a StreamBase application to contribute market data via off-stream OMM POST messages to a Reuters Posting Provider. Contributed data is then typically published to Reuters subscribers. See Thomson Reuters RMDS Contribution Output Adapter in the Adapters Guide. The adapter has a sample, described in Reuters RMDS Contribution Output Adapter Sample.

New Morningstar Quotes Feed Input Adapter

This release adds the Morningstar Quotes Feed input adapter, which allows a StreamBase application to receive market data from Morningstar servers, as described in Morningstar Quotes Feed Input Adapter in the Adapters Guide. The adapter has a sample described in Morningstar Quotes Feed Adapter Sample.

FIX Adapter Updated

The FIX adapter, and all adapters that inherit from the baseline FIX adapter, were updated to support two new commands for the Command port when using the QuickFIX/J FIX engine: ConnectionStatus and ConnectionStatusAll. As a response, one or more tuples (depending on the command and the number of configured FIX sessions) is issued on the Admin Message port with __ExtraInfo set to either Connected or Disconnected. SenderCompID and TargetCompID are also correctly set to identify the session in question. See FIX Adapter.

360T SuperSonic Adapter Updated

The 360T SuperSonic TEX adapter's FIX data dictionary was updated to the latest specification.

EBS Adapter Updated

The EBS Ai adapter's FIX data dictionary was updated to conform to the latest specification.

Alpha Adapters Updated

The Alpha Trading Systems EMAPI Market Data Feed adapter was updated to use version 4.4 of the Alpha Trading Systems API.

Lime Citrius Adapter Updated

The Lime Citrius Quote Input adapter was updated to support the following property settings: Enable Aggregate by Price, Enable Snapshot Book, Enable Trade Replay. See Lime Citrius Quote Input Adapter.

Log Adapter Updated

The Log adapter was updated to support two new properties, Logger Name and Message Prefix, that together replace the Message Identifier property; plus a third new property, Custom MessageFormat. The adapter's description in the Adapters Guide was extended and clarified. See Log Output Adapter for details.

E-mail Sender Adapter Updated

The E-mail Sender adapter was updated to support SSL connections to an SMTP server and to support specifying the content type of messages (text/plain, text/html, and so on). See E-mail Sender Output Adapter.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels on the Using StreamBase Logging page. The independent Log Level adapter property was added to the following adapters as of release 7.0.1: Activfeed, Binary File Reader, Binary File Writer, CSV File Writer, CSV Socket Writer, Digitec D3, Deutsche Bank AutobahnFX, E-mail Sender, Hotspot FX, Hotspot Itch, InfoReach TMS, and Interactive Data PlusFeed, HTTP Reader, IRC Reader, POP3 Reader, and SMTP Reader.

 API, SBX, and Documentation Updates 
Get/Set Dynamic Variable Methods Added to .NET API

Release 7.0.0 saw the addition of setDynamicVariable() and related get methods to the Java Client Library. As of release 7.0.1, the .NET Client Library now has StreamBaseClient.setDynamicVariable() and getDynamicVariables().

Site-Specific Component Exchange Sites Now Support HTTPS

Customer sites can configure and support site-specific StreamBase component exchanges, as described in Studio Preference Settings and StreamBase Component Exchange. Starting with releases 6.6.8 and 7.0.1, in-house component exchanges can use the HTTPS protocol, in which case, StreamBase Studio prompts for credentials on the specified server before allowing access to components.

Documentation Updates

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

What Was New in StreamBase 7.0.0

Fixes

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

Inherited from Previous Releases

StreamBase 7.0.0 inherited the new adapters and new features added to previous maintenance releases, through releases 6.4.14, 6.5.10 and 6.6.6.

New and Updated Features

StreamBase 7.0.0 added the following updates and new features:

 Behavior Changes 
Migrating from StreamBase 6.x to 7.x

The Migration Notes section of the Installation Guide includes Migrating from StreamBase 6 to 7. Study this important page to understand the behavior changes and API changes in the new release.

Close All 6.x EventFlow Modules in 6.x Before Opening in 7.0

Studio 7.0 includes a new EventFlow Editor with advanced features, as described in EventFlow Editor 7.x Differences. All EventFlow files open automatically in the new Editor if you start with a new, blank Studio workspace. If you open an existing 6.x workspace in Studio 7.x, EventFlow files might open in the Legacy EventFlow Editor instead. To prevent this, follow these steps:

  1. Open Studio 6.x.

  2. Close ALL Editor sessions, so that you end with a large gray area where the canvas usually is, and an empty Palette view.

  3. Close Studio 6.x and open Studio 7.0 using the same workspace.

  4. With one exception, all EventFlow files you open in Studio 7.0 now open in the new EventFlow Editor.

The exception is that any EventFlow file you ever opened using the Open With context menu in Studio 6.x might still open in the Legacy EventFlow Editor in 7.0. In this case, close the Editor session and reopen it one time in Studio 7.0 using the Open WithEventFlow Editor context menu. Thereafter, that file opens in the new Editor.

Reset Your Perspectives

This release adds menu items, views, and editors to the standard StreamBase Studio perspectives. If you are re-using an existing Studio workspace, you must run WindowReset Perspective to see the newly added items. Do this for all perspectives you used in the existing workspace, especially SB Authoring and SB Test/Debug.

Beta Users, Delete Studio Configuration Directory

If you installed and ran a beta release of StreamBase 7.0.0, remove Studio's configuration directory before installing and running the final release. This is not your workspace directory, but the configuration directory used by Studio to hold internal data, such as window positions and sizes, and the help index. The location of the Studio configuration directory is described at this link for Windows and this link for Linux.

 Studio: New EventFlow Editor 
Studio: New EventFlow Editor

Release 7.0 introduces a new version of the EventFlow Editor that provides significant usability improvements while maintaining compatibility with existing EventFlow modules. All your existing EventFlow applications and modules will open normally, but the component icons now have a new look.

The many features of the new EventFlow Editor are described on EventFlow Editor 7.x Differences. To become familiar with the benefits of the new Editor, go through the list of new and changed features, trying each feature one by one in your own application files or with sample applications.

 New StreamBase Deployment Files 
New File Type: StreamBase Deployment Files

Release 7.0.0 introduces StreamBase deployment files, a new XML format for files with the .sbdeploy extension. Deployment files are XML configuration files used for two primary purposes:

  • To specify which application modules will run in which containers, along with any container connections, module parameters, or trace instructions to configure at application start time.

  • To specify a set of externally defined modules to which tuples can be dispatched by an Extension Point operator in your application.

The use and advantages of deployment files is discussed in Deployment File Overview. Create new deployment files as described in Creating New Deployment Files, then edit them in Studio with the Deployment File Editor.

Deployment files support most of the <runtime> elements of the server configuration file, plus a new element, <extension-point-contents>, discussed below. The XML syntax of deployment files is described in StreamBase Deployment File XML Reference.

Deployment files are runnable in Studio in several ways, and can be used as arguments to the sbd command. The server configuration file is still supported, of course, and can be used in conjunction with a deployment file:

sbd -f sbd.sbconf fxtrading.sbdeploy

The <runtime> element of the server configuration file is still supported for backward compatibility. If both .sbconf and .sbdeploy files specify application modules and containers, the server reports an error and fails to start. Enciphered values are supported in the deployment files.

Deployment files can be the target of the Studio bundler or the sbbundle command, and can be converted to precompiled archive files with the sbargen command.

New Studio Deployment File Editor

StreamBase Studio includes a new Deployment File Editor that provides typechecking of your deployment file as you compose it. The editor has two modes, Design view and Source view (the Studio default mode), and both modes provide color coding, autocompletion, and context-aware tag proposal of valid elements and attributes by pressing Ctrl+Space:

Invoke the deployment file editor by creating a new deployment file with FileNewStreamBase Deployment File, or by double-clicking the name of an existing .sbdeploy file in the Package Explorer. If you first select the name of an EventFlow or StreamSQL file in the Package Explorer before running NewStreamBase Deployment File, the newly created file is pre-populated with an <application> element to run that module in the default container.

New Samples to Illustrate Deployment Files

There is a new Deployment File sample that illustrates using deployment files to run the same application in two different ways, depending on which deployment file is run. See Deployment File Sample.

The operator group of samples includes a new sample that illustrates the use of deployment files with externally defined Extension Point modules to run an application that dispatches tuples to one of two sub-modules based on a field in the input tuple. See Extension Point Deployment Sample.

 External Configuration of Extension Points 
Extension Points Extended

The Extension Point operator was introduced in release 6.6.0 as a sort of Module Reference for StreamBase interfaces, as described in Using Interfaces with Extension Points and Using the Extension Point Operator.

Release 7.0.0 introduces the ability to use a StreamBase deployment file to define which modules are to run to implement an interface. This provides support for team development of large StreamBase applications, where different teams are assigned the task of creating different modules that each implement the same StreamBase interface. Instead of hard-coding the name of an implementing module into an extension point operator, you can complete the containing application without access to the subordinate implementing modules.

You do this by specifying Defined: Externally in the Extension Point operator's Properties view of the containing module. You then provide a StreamBase deployment file (described above) with an <extension-point-contents> element and an <extension-point> child element. The target-id attribute of the <extension-point> element must match the Extension Point ID field in the Extension Point operator's Properties view. You then specify one or more module names, module identifiers, and optional module parameters for each <extension-point> element.

 Studio: New Features 
Studio Now Based on Eclipse 3.6

StreamBase Studio is now based on Eclipse 3.6, with backward compatibility for Eclipse 3.5 plug-ins. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5 or 3.6.

StreamBase on 64-bit Windows Now Includes 64-bit Studio

Release 7.0 continues to support separate installers for 32-bit and 64-bit Windows. The Windows installers have the following new features for release 7.0:

  • The 64-bit Windows installer now provides a 64-bit version of StreamBase Studio. It continues to provide a 64-bit JDK and both 32-bit and 64-bit StreamBase Servers.

  • The 32-bit Windows installer provides 32-bit editions of Studio and StreamBase Server. As before, you can install 32-bit StreamBase on either 32-bit or 64-bit Windows.

  • You can run both 64-bit and 32-bit installers in either order on the same target PC. The first installer to run provides the majority of StreamBase features; the second installer to run adds only the components not already installed.

  • If you run both 32- and 64-bit installers, there are now separate desktop icons and Start menu entries for 32-bit and 64-bit Studio. Both Studios can be installed without conflict, and each can use the same workspace (but not simultaneously). You might run 64-bit Studio for the majority of your work, then run 32-bit Studio occasionally to support an existing application that loads 32-bit native code for an adapter or custom operator.

Studio: Attach to Running Server

StreamBase Studio now supports attaching to a running remote or local StreamBase Server instance to analyze applications on that server. This feature does NOT provide support for remote debugging. Once connected, you can use most features of the SB Test/Debug perspective on the running application, including the Manual Input view, Application Input and Output views, feed simulations, recordings, and the profiler. This feature is implemented as a new run configuration type, Attach to StreamBase Server. See Attaching to a Running Application.

Studio: Debug Across Container Boundaries

The Studio visual debugger can now step into modules running in non-default containers.

Studio: Manual Input View Now Has Automatic Timestamp Entry

In the Manual Input view, Studio now provides an autocompletion shortcut to enter the current date and time in any timestamp field. To enter a timestamp value, press Ctrl+Space with the cursor in a timestamp field. Studio prompts with an autocompletion message as shown below. Select the message and press Enter to fill the field with a formatted timestamp string. You can accept the string, or edit it to provide another date or time. See Manual Input of Data.

Studio: Manual Input View Now Has Select Link

The Manual Input view now has a select link on the right of the Stream field. When working with large applications with many input streams in several modules, click this link to open a dialog that shows all input streams in the current project's module search path.

Studio: Module and Resource Chooser Dialogs Added

To help select modules in large projects with a large module search path, two places where you select modules now have a Choose button next to their module selection fields. The button opens a Choose Module dialog that lets you browse the files and folder of your project's module search path with a tree view. The two places with the new button are the General tab of the Properties view for the Module Reference icon, and the Modules tab of the Properties view for the Extension Point operator.

Similarly, a Choose button is now shown next to the File Name field for any adapter or operator that allows you to select a resource file. This shows a flattened view of the files and folders in your project's resource search path. The CSV File Reader adapter's Adapter Properties tab is one place where the Choose button now appears.

Studio: Separate Layout Files Now Automatically Renamed, Copied, Deleted

If you elect to keep EventFlow layout information in a separate layout file, the .sblayout file is now copied and deleted automatically when you copy or delete the corresponding EventFlow file. If you rename the EventFlow file, its corresponding .sblayout file is automatically renamed. The reverse is not true: you can copy, delete, and rename .sblayout files without affecting the corresponding EventFlow file.

Studio: Toolbar Typecheck Button Now Toggles State

The Typecheck button () in the Studio toolbar now has a drop-down arrow and menu that allows you to toggle the state of automatic typechecking without opening Studio Preferences.

Studio: Feed Simulation Editor Update

In the Data File Options dialog (invoked from the first Options button in the Feed Simulation Editor), the Map to Leaf Fields check box was renamed, and now only appears when it can be used. If the schema of one of the input streams of the simulation includes one or more fields of type tuple, the check box appears in the Data File Options dialog, now labeled Map data file columns to sub-fields of tuple fields. The same option was also renamed in the StreamBase Test Editor, and is described in Map to Sub-Fields Option.

Studio: Edit Table Schema Dialog Now Indicates Primary Key

When editing a table schema, the primary key is now marked with an asterisk in the Schema tab's field grid.

Studio: Hover to See Origin of Imported Items

In the Manage Module Imports section of the EventFlow Editor's Definitions tab, you can now hover the mouse over an imported application or interface's name to show the path of the originating Studio project, rooted at the Studio workspace.

Studio: Variables View Brought to Front at Breakpoint

When debugging an EventFlow application and hitting a breakpoint, the Variables view is now automatically brought to the front to show the tuple contents at the breakpoint. You can toggle this behavior with the StreamBase button in the Variables view's toolbar, or with a Studio preference setting.

Studio: Running a StreamBase JUnit Test No Longer Switches Perspective

When running a StreamBase JUnit Test in Studio, the JUnit view now appears in the bottom pane of the SB Authoring perspective instead of switching to the SB Test/Debug perspective. This allows you to edit and re-run the test file with fewer delays.

Studio: New Application Wizard Can Extend an Extension Point

In the New EventFlow Application wizard, you can now opt to create the new application module to extend an existing Extension Point in the selected project. See Creating an Application to Extend an Extension Point.

Studio: New Launch Configuration Option

The Run Configuration dialog (and its Debug and Trace equivalents) has a new option on the Main tab. Select Compile StreamBase application in separate process if StreamBase Server fails to start because of heap or memory issues on memory-constrained systems such as 32-bit Windows. See Editing Launch Configurations for details.

Studio: Updates for Module Call Hierarchy View

Introduced in release 6.6, the Module Call Hierarchy view shows a tree view of modules and interfaces called by the current EventFlow module (the callee view). Starting with release 7.0, the Module Call Hierarchy view can also show a tree view in the other direction of modules that call the currently active module (the caller view). You switch between caller and callee views with buttons in the top right corner of the view. Release 6.6's graphical view option was removed. See Module Call Hierarchy View.

Studio Now Includes Subversive

In addition to the CVS plug-in, StreamBase Studio now includes the Subversive plug-in, which provides support for the Subversion version control system. Documentation for Subversive is now included as part of Studio's help system.

The plug-in requires, but does not include, a connector component. When you first use the Subversive plug-in, the Subversive Connector Discovery dialog prompts you to download and install a connector that matches the Subversion release in use at your site. This is a one-time selection and does not need to be repeated.

This dialog only comes up one time per Studio session, and reappears when Studio starts as long as you have not made a selection. Follow these steps to force the dialog to come up:

  1. Open the Subversive plug-in's perspective with WindowOpen PerspectiveOtherSVN Repository Exploring.

  2. If the dialog does not appear after a moment, exit Studio, leaving that perspective active.

  3. Restart Studio and wait for the dialog to appear. (The dialog must contact an external web site, so it might take a moment to populate and appear.)

StreamBase Systems recommends using the SVN Kit connector that matches the Subversion release in use at your site.

Migration Wizard for 3.x Projects Removed

In release 6.3.0, Studio stopped autodetecting and automatically converting Studio projects created with StreamBase 3.x. As of release 7.0.0, Studio no longer includes the wizard that automated the conversion of such projects. If you still have StreamBase 3.x projects to migrate, you can convert them in an earlier StreamBase release, then import the converted project to release 7.x. If this is not feasible, follow the manual conversion steps in Migrating from StreamBase 3.7 or contact StreamBase Systems Technical Support for assistance.

 Server Configuration File Changes 
Application Element Deprecated

The <application> element of the server configuration file's XML syntax is now deprecated. The server still supports the <application> element in server configuration files for backward compatibility, but StreamBase Systems now recommends migrating to the <application> element in StreamBase deployment files, as discussed in New StreamBase Deployment Files above.

New Menu Placement

The various New menus in Studio now include StreamBase Server Configuration File at their top level, instead of in the Other menu tree. As before, invoke the New menu from FileNew, or from the New button in the toolbar, or from the Package Explorer context menu.

Studio Can Now Generate an Empty Configuration File

When using Studio to generate a new server configuration file, you can now optionally create an empty file without explanatory comments. This creates a bare-bones configuration like the example below, to which you add the lines you want, rather than removing the explanatory commented lines.

<?xml version="1.0" encoding="UTF-8"?>
<streambase-configuration 
  xmlns:xi="http://www.w3.org/2001/XInclude" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:noNamespaceSchemaLocation="http://www.streambase.com/schemas/sbconf/">
  
</streambase-configuration>
New Configuration File Editor

Studio's Configuration File Editor, in addition to typechecking your configuration file as you compose it, now provides two editor modes, Design view and Source view (the Studio default mode), and provides color coding, autocompletion, and context-aware tag proposal of valid elements and attributes by pressing Ctrl+Space:

Server Configuration Files Now Support Include Files

Release 7.0.0 introduces support for breaking a complex server configuration file into component pieces, and then including smaller portions into a master configuration file. This feature allows for greater reusability of standard or site-specific configuration file settings. Include-files are supported only for server configuration files, and not for any other StreamBase file type. Include file support is provided by the XML Inclusions specification, commonly called XInclude. See Using Modular Configuration Files for instructions.

Suggested Defaults for Garbage Collection Policy Now Included

The skeleton server configuration file generated with sbd -s, and the configuration file generated in Studio with comments enabled, both now include suggested default settings for configuring Java garbage collection policy for StreamBase Server. These settings are discussed in Garbage Collection Policy Settings.

New Option for Automatic HA Setting

The enabled parameter of the <high-availability> element of the server configuration file now has three possible settings: auto, custom, and ha-off. This change was made to support a distinction between two situations where automatic HA is disabled: one where you are writing custom HA support, and the other where the application is not an HA application at all. The former true and false settings are still supported for backward compatibility. See <high-availability> and Using Automatic HA for details.

Operator Parameters Can Be Defined Narrowly

When using the <operator-parameter> element of the server configuration file, you can now narrow the setting to apply only to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. Previously, operator parameter settings applied globally. See <operator-parameter> in the server configuration XML reference.

 New StreamBase Server Features 
Speed Increase from String Representation Change

The internal representation of strings was optimized to avoid many internal string copies, resulting in a speed increase for all StreamBase applications. StreamBase Systems tests on real-world applications have shown an improvement of up to 20% faster.

Finer Resolution in Profiling Statistics

CPU profiling resolution was improved. The base clock is more accurate and, while CPU profiling is still statistically sampled, the sample interval is now configurable. The default sample rate of 10 milliseconds is unchanged from previous releases, but you can now set the system property streambase.profile.intervalMS to an integer representing an alternate number of milliseconds between samples. For example, a setting of streambase.profile.intervalMS=1 takes a CPU sample every millisecond and provides roughly millisecond sampling accuracy. StreamBase Manager, sbmonitor, and sbprofile all benefit from the increased accuracy. The sbprofile command now reports microseconds per cycle for operator CPU time.

New Support for JMX Management Bean

StreamBase Server is now instrumented with a JMX-compliant Management Bean that provides access to limited status information and provides some control methods similar to the sbadmin command. This allows the server to be visible to JMX-compliant network management tools such as Java JConsole or HP Openview. See JMX Monitoring.

Tuple Sub-Field Data Coercion

When entering data to a stream whose schema contains a field of type tuple, StreamBase now attempts to coerce the data into the sub-tuple fields using the same rules as for a loose union in the Union operator.

 Utility Command Changes 
New options for sbc and sbadmin

The sbc command has two new subcommands, getDynamicVariable and setDynamicVariable. The first argument for both subcommands is a StreamBase path to a dynamic variable in the form container.module.dynvar-name. The second argument for setDynamicVariable is the value to set for that variable. As before, the sbadmin command inherits all sbc subcommands. See sbc.

The sbadmin command now has an addDeploy subcommand much like the addContainer command, except that the application, container, and all options are specified in a deployment file. Four subcommands (addContainer, addDeploy, modifyContainer, and removeContainer) now have a --verbose flag; if used, these subcommands report success instead of returning silently. See sbadmin.

New option for sbc list

The sbc list command now supports –a to produce a list of all streams, containers, and schemas in the connected application, including intermediate streams, but not including any system streams. The sbc list –a command was present in StreamBase 5.0, and was removed in subsequent releases. This release restores the –a option.

New options for sbbundle

When you create a StreamBase bundle in Studio, the bundler takes advantage of its access to Studio configuration metadata (such as the module search path, resource search path, Java build path, and so on). Release 7.0.0 introduces the same capability to the sbbundle command with the new –p and –P options. See the sbbundle reference page and Application Bundling.

 Adapter Updates 
StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase input and output adapters were updated with a new check box property, Connect on adapter init. With the default setting of enabled, the adapters attempt to connect to the other server during adapter initialization, which can block the startup of the containing StreamBase Server. When disabled, the adapters start at the time they are needed. You can specify this property in the form ConnectOnInit as a parameter in the URI of a container connection string, as described in Container Connections.

HA Heartbeat Adapter Updated

The HA Heartbeat adapter now sends the leadership status of the other node in an HA pair in its heartbeat event tuples. This change adds a field to the HA Heartbeat event tuple's schema, and could thus affect existing applications that use this adapter.

 Sample Updates 
New Load StreamBase Sample Dialog

The Load StreamBase Sample dialog in StreamBase Studio was updated to add a search field, which lets you narrow the list of samples to those matching your search string. Sample categories for adapter-related samples were reorganized by the functionality provided; some adapter samples are listed in more than one category. All categories can now be collapsed and expanded; the dialog first opens with all categories collapsed, and thereafter remembers your expand and collapse settings for individual categories. When you load a sample, the README file for that sample now automatically opens in Studio (unless you disable that option). See Loading StreamBase Samples.

Operator Sample Group Reorganized

The operator sample group in the Data Constructs and Operators category was significantly reorganized and clarified. In the Package Explorer, this sample group now shows only the top-level EventFlow application for each operator plus the HTML README file for each application and several deployment files. Modules called by the Extension Point samples are now in the Modules folder, while feed simulation and related data files are now in the ResourceFiles folder.

New Samples to Illustrate Deployment Files

As described above in  New StreamBase Deployment Files , there are two new samples that illustrate StreamBase deployment files: Deployment File Sample and Extension Point Deployment Sample.

Updates for HA Samples

A new HA Finite State Machine sample was added to show the use of a finite state machine to deal with state transitions in an HA design pattern. See High Availability Finite State Machine Sample.

The primary HA sample was updated to illustrate the new settings for the enabled parameter of the <high-availability> element of server configuration files described above.

The table replication HA sample was updated to take advantage of and illustrate the new ConnectOnInit container connection parameter described above.

 Expression Language Updates 
New random_tuple() Function

The expression language was augmented with the new random_tuple() function that allows you to generate tuples filled with random field values given a schema.

New Bitwise Functions

The expression language with augmented with the following bitwise operation functions: bitand(), bitnot(), bitor(), bitxor(), lshift(), rshift(), and unsignedrshift(). In previous releases, the language had undocumented versions of these functions, but with names beginning with x_. Remove the initial x_ from any uses of the undocumented functions.

New Signatures for format(), systemproperty(), systemenv()

Three functions no longer accept a string length argument. In any application that uses format(), systemproperty(), or systemenv(), adjust the expression to remove the extra argument.

 API Changes 
Deprecated Methods Now Removed

Some methods in the StreamBase Client API that were marked as deprecated in previous releases have been removed in release 7.0.0. See API Changes in 7.0 for details.

New Methods Added

The Client API was extended to add:

  • Methods that can get and set dynamic variable values for a module from a client application.

  • Methods that give Java operators access to StreamBase Server facilities.

 Platform Changes 
JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

 Documentation Changes 
Documentation Updates Independent of New Features

StreamBase release 7.0.0 included the following documentation updates and corrections that were incorporated independent of the new features discussed above:

StreamBase 6.6.x Release History

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

What Was New in StreamBase 6.6.20

New and Updated Features

StreamBase 6.6.20 added the following updates and new features:

Embedded JDK Version Updated

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

New Bloomberg Tradebook FX FIX Adapter

This release includes the Bloomberg Tradebook FX FIX adapter that allows a StreamBase application to connect to the trading infrastructure provided by Bloomberg Tradebook FX, and to exchange FIX messages with it. See Bloomberg Tradebook FX FIX Adapter.

StreamBase Release-Build Number Now Visible

For most purposes, StreamBase releases are well distinguished by their release numbers in three-position major.minor.maintenance format, such as 6.6.20. On rare occasions, you may need to report the fourth position build number. Starting with this release, the full four-position release number is visible from the command prompt in STREAMBASE_HOME/doc/VERSION.txt and in the documentation at the top of the Release Notes page.

Documentation Changes

There is a new page in the Authoring Guide, String Values in Parameters, that suggests a standard way to pass string values to expression language contexts without using escaped quotes or quotes within quotes in the parameter definition.

What Was New in StreamBase 6.6.19

Fixes

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

New and Updated Features

StreamBase 6.6.19 added the following updates and new features:

Embedded JDK Version Updated

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

sb-config Command Updated

The sb-config command was updated to provide better support on UNIX for directories named with spaces. The Windows version of the command was not changed, and on UNIX, the Java-related command options were not changed. See the sb-config reference page for details.

What Was New in StreamBase 6.6.18

Fixes

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

New and Updated Features

StreamBase 6.6.18 added the following updates and new features:

Thomson Reuters RMDS Adapters Renamed

The three Thomson Reuters RMDS adapters were renamed to reflect the new name of the protocol formerly known as RMDS: Thomson Reuters Enterprise Platform for Real-Time, or TREP-RT. The adapters are otherwise unchanged. See:

Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter
Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter Sample
Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample
IBM WebSphere MQ and Wall Street Systems Adapters Updated

The input adapters for IBM WebSphere MQ and Wall Street Systems were updated with two new properties: Include Depth Field and Syncpoint on Get. These properties are enabled by default for compatibility with previous releases of these adapters. Disabling both settings significantly improves performance of these adapters. See IBM WebSphere MQ Input Adapter and Wall Street Systems Input Adapter.

Documentation Updates

The description of the Queues View was updated and corrected for both StreamBase Monitor and StreamBase Manager.

What Was New in StreamBase 6.6.17

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.17 added the following updates and new features:

Performance Improvements in the .NET Client Library

The .NET Client Library was rewritten to improve the performance of creating tuples and accessing tuple field values, with initial tests showing a speedup of 10 to 40 times from the previous API. Most of the .NET API for building StreamBase clients is now a pure .NET implementation, although some classes (such as StreamBaseClient) remain based on the C++ API. (The .NET API for building StreamBase Server monitor applications is unchanged.)

Rewriting most of the API as pure .NET forced some changes in the interface, as described in Migrating .NET Clients in the API Guide. You may need to make source code changes for existing .NET client applications and recompile them in order to accommodate the new API.

C++ Client Library Update

The Timestamp class in the C++ Client Library now uses snap to end of month semantics for the setMonth() method. The following code fragment illustrates how this works:

Timestamp tm;
tm.setYear(2011);
tm.setMonth(10);
tm.setDayOfMonth(31);
// tm now represents October 31, 2011
tm.setMonth(2);
// tm now represents February 28, 2011
Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support through version 7.7.2 of the Trading Technologies data dictionary.

Excel Adapter Updated

The Excel External adapter was updated such that the buffer-size configuration parameter and TUPLENUM tag are now limited to values between 1 and 1000. Prior to this change, there was no limit on buffer-size, and TUPLENUM was limited to values between 1 and 999.

What Was New in StreamBase 6.6.16

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.16 added the following updates and new features:

Windows Installers Are Now Digitally Signed

As of this release, all Windows MSI installer files are digitally signed, including the installers for external adapters and Frameworks.

.NET Client Library Updated

To provide better alignment of the StreamBase .NET Client Library with the Java Client Library, the .NET API was updated to add new field creation methods to StreamBase.SB.Schema, and to deprecate older field creation methods.

Wombat MAMA Input Adapter Supports MAMA API Version 5

The Wombat MAMA Input adapter was updated to support version 5 of the MAMA API. To specify the use of MAMA version 5, in the adapter's Properties view, for the MAMA Version property, select 4.x and above, which is now the default setting.

TBF Input Adapter Updated

The TBF Input adapter was updated to add new configuration options, QueueCapacity, RequestRetransmitOnHeartbeatTimeout, and to increase the default blocking capacity of the adapter.

IBM WebSphere MQ Adapter Updated

JAR files provided by IBM that support WebSphere MQ are no longer shipped as part of the StreamBase kit. Documentation topics for the IBM WebSphere MQ Input and Output adapters and sample were updated to describe where to install the MQ JAR files you obtain from IBM.

Deutsche Bank AutobahnFX Trading System Adapter Updated

JAR files provided by Deutsche Bank that support the AutobahnFX Trading System are no longer shipped as part of the StreamBase kit. Documentation topics for the AutobahnFX Trading System adapter and its sample were updated to describe where to install the Autobahn FX JAR files you obtain from Deutsche Bank.

UBS FIX Adapter Updated

The data dictionary for the UBS FIX adapter was updated to the latest version.

E-mail Sender Output Adapter Updated

The E-mail Sender Output adapter was updated to send its e-mail messages in a separate, background thread and to add the new Outgoing Message Queue Capacity property. Set this to a value large enough to accommodate the maximum expected e-mail message burst.

Log Output Adapter and Sample Updates

The Log Output Adapter sample was revised to show three examples of formatting that the adapter can apply to log messages. The Log Output adapter topic in the Adapters Guide was revised, corrected, and expanded. The sample's topic in the Samples Guide was revised and expanded.

Binary File Reader Adapter Updated

The Binary File Reader adapter now emits a close event tuple when it finishes reading a file.

Documentation Updates

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

  • The instructions for configuring Visual C++ to build StreamBase clients and custom functions for Windows were expanded and clarified. See Configuring Visual C++.

  • Notes were added to the Expression Language Features and Dynamic Variables topics to clarify that, in any expression anywhere in StreamBase, unqualified names are resolved first against the names of any dynamic variables in the current module, and then against the names of fields in currently available streams. This means that a dynamic variable named foo can inadvertently mask a field also named foo, depending on context.

  • The section for the -b option on the sbd reference page, and the Background Mode on Windows section of the Server Background Mode and Logging page were rewritten to emphasize and better explain why we discourage running sbd -b on Windows.

  • The expression language's nanotime() function was moved from the Timestamp category to the System category with an updated description.

What Was New in StreamBase 6.6.15

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.15 added the following updates and new features:

.NET Client Library Update

In the .NET Client Library, the StreamBase::SB::Timestamp class was made serializable.

Thomson Reuters RMDS Subscribing Input Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to add useMarketfeedUpdateType=true to its default configuration file. For SSL connections when using the Market Feed message model only, this directs the adapter to emit Market Feed corrections as CORRECTION messages.

Lime Citrius Adapter Updated

The Lime Citrius Quote adapter was updated to use version 2.0.6 of the Lime Citrius API.

TBF Input Adapter Updated

The TBF Input adapter was updated to add a STAMP configuration parameter, RetranRetryWaitTime.

FXall Provider Adapter Updated

The output adapter in the FXall Relationship Trading Provider Adapter set was updated to add the Log XML Messages and INFO Level property. Previously, only the input adapter of this adapter set supported this option.

Trading Technologies Adapter Updated

The Trading Technologies FIX adapter was updated to support version 7.6.5.29 of the Trading Technologies data dictionary.

Documentation Updates

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

  • The Rules of StreamBase Execution Order were updated and extended.

  • The Microsoft Excel External Adapter documentation was updated to extend and correct the sample code for publishing tuples to StreamBase from Excel.

  • The Authoring Guide's JDBC Data Source Overview page was augmented with a new section that summarizes in one place all the JDBC-related options for the server configuration file.

  • The reference pages (and man pages on UNIX) for several commands were updated to reflect support for the -J option to specify per-invocation JVM arguments. The -J option is an updated and more convenient alternative to using the STREAMBASE_JVM_ARGS environment variable for this purpose. The commands affected are: jsbadmin, jsbc, jsbclientgen, sbargen, sbbundle, sbcipher, sbd, sbfeedsim, sbprofile, sbproxy, sbrecord, and sbtest. The following commands from external adapter kits also support -J: sb-ems-* and sb-jdbc.

  • The Drools Operator page was updated to reflect the name change of the optional third-party package from Drools Expert to Drools Core and to rework the steps for downloading and installing it.

What Was New in StreamBase 6.6.14

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.14 added the following updates and new features:

Thomson Reuters Velocity Analytics Database Now Supported

The Velocity Analytics tick-store database from Thomson Reuters is now supported for standard JDBC access.

Stricter Operator.postShutdown() Behavior

The postShutdown() method of the Operator class was updated to more strictly wait for an operator or adapter's run threads to exit (or time out) before running. This strict behavior of postShutdown() is the default behavior as of this release, and improves the shutdown behavior of all operators and adapters, whether provided by StreamBase or custom. You can restore the postShutdown() method's non-strict behavior by setting the streambase.java-operator.unsynchronized-shutdown system property to true.

New Support for Container Connections Within One Container

In previous releases, container connections were restricted to streams exiting one container and entering a stream in a separate container. As of this release, that restriction is relaxed, and you can configure stream to stream connections within the same container, where the destination and source container names are the same. Intra-container connections must be Asynchronous, and the same access restrictions apply: that is, streams you wish to connect to or from in sub-modules must be marked as Always exposed in EventFlow modules, or public in StreamSQL modules.

New JDBC Query Timeout Parameter

In StreamBase Server configuration files, the param child element of the data-source element accepts a new value, jdbc-query-timeout. This parameter specifies an integer number of milliseconds that StreamBase waits for each JDBC query operation to execute. The default is 0, which means wait forever for each query to return; this default matches the behavior of StreamBase before this parameter was added. Specify a value such as 15000 (15 seconds) to prevent StreamBase Server from hanging in rare cases where the JDBC server never responds to a query. See StreamBase Server Configuration File XML Reference.

Drools Operator Updated

The Drools operator was updated to add an optional status port specified with the new Enable status port property. This port conveys the status of rules entered at runtime on the dynamic rule port. The documentation page for the operator was updated to clarify the format of rules entered on this port.

New Expression Language Functions

The new nullif() function evaluates two arguments. If the arguments are equal, the function returns null; otherwise, the first argument is returned. This function can be used to evaluate fields before and after an event, and to send a field downstream only if it has changed, otherwise null.

The new eval() function takes either two or three arguments. With two arguments, the function evaluates a simple expression entered as a string and returns the result using the data type of the second argument. With three arguments, the second field contains a tuple, and the expression in the first field can be evaluated against any fields in that tuple. The third argument specifies the return data type. Because of environment limitations, the eval() function does not run successfully at the command prompt with sbd --eval, but runs as expected in EventFlow and StreamSQL expressions.

Thomson Reuters RMDS Subscribing Adapter Updated

The Thomson Reuters RMDS Subscribing Input adapter was updated to better distinguish quotes from trades. The market data output port now contains an optional ResponseType field, which supersedes the UnsolicitedRefresh field. The field is enabled by selecting the Include OMM Response Type Field property in the Tuple Properties tab in the adapter's Properties view. The field contains SOLICITED or UNSOLICITED for refresh messages, or contains QUOTE, TRADE, CORRECTION, and so on, for update messages.

Deutsche Bank AutobahnFX Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support ladder rungs for swaps and to provide performance enhancements.

CitiFX FIX Adapter Updated

The CitiFX FIX adapter was updated to support the Executable Streaming Prices for Forwards product as well as ESP for Spot. Continue to select the Spot option in the adapter's Properties view for either ESP product.

TBF Adapter Updates

The TBF Input adapter was updated to support the new MaxQueueLength and RetransRetryCount properties in the STAMP session configuration file. See TBF Input Adapter for details.

Documentation Updates

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

What Was New in StreamBase 6.6.13

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.13 added the following updates and new features:

New StreamBaseFIX FIX Engine Available

Starting with this release, the FIX adapter can be configured to take advantage of a new FIX engine, StreamBaseFIX, in addition to the QuickFIX/J, CameronFIX, and Appia FIX engines already supported. StreamBaseFIX is derived from the B2Bits Antenna FIX engine from EPAM Systems, and allows high-speed, low-latency communication using the FIX protocol.

StreamBaseFIX can be used with the FIX adapter and with all StreamBase adapters that use the FIX protocol, including the Bolsa Commercio Santiago FIX, Bovespa, CitiFX FIX, Currenex, EBS, FXall FIX, Goldman Sachs Electronic Trading FX, Integral FX Inside FIX, LavaFX, Lime FIX, Nomura FX FIX, Raptor, Trading Technologies, and UBS FIX adapters.

The StreamBaseFIX engine is included with the base StreamBase kit, but its use is separately licensed. Contact StreamBase Systems Technical Support or your StreamBase Sales Engineer for further details.

Reuters Adapter Family Rebranded as Thomson Reuters

The six StreamBase adapters that connect StreamBase applications to the Reuters infrastructure were rebranded as Thomson Reuters adapters. Functionality for all Thomson Reuters adapters remains the same as before.

JDK Version Updated

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

New Delete on Exit Behavior for Bundles

In previous 6.6.x releases, a temporary working directory where a bundle's contents were unzipped was automatically created and used, and was silently and automatically deleted on sbd exit. Starting with release 6.6.13, the unzipped bundle's working directory contents are still deleted on exit under two circumstances:

  • You do not specify a working directory with -w, in which case an automatically determined temporary directory is created and deleted.

  • You use -w, and specify an empty working directory.

If you use -w, but specify a path to a directory with any existing contents, that directory is preserved on sbd exit. You can use the new streambase.sbd.delete-working-bundle-dir system property to modify this delete on exit behavior. Set -Dstreambase.sbd.delete-working-bundle-dir=true to delete the working directory's contents even if you specify a non-empty path with -w. You can use the sbd command's -J option to specify the system property on the sbd command line.

Properties View, Concurrency Tab Now Accepts Parameters

In the Concurrency tab of the Properties view, the Number of instances field now takes a parameter in ${param} format, where param is defined in the Definitions tab of the EventFlow Editor of the same module, or is otherwise passed to the containing module. See Concurrency Options in the Administration Guide.

New getServerURI() Function

The expression language gained the new getServerURI() function that returns the StreamBase URI of the currently running server in the form sb://localhost:10000. The function reports the URI from the server's point of view, and thus always returns localhost as the host name. Use this function to obtain the port number plus any appended authentication parameters from a running server.

In previous releases, StreamBase samples and documentation recommended using systemproperty("streambase.uri") to retrieve this information. As of this release, the HA samples and documentation now show the use of getServerURI() instead.

Customers running multiple instances of StreamBase Server in the same JVM (which can happen when running a StreamBase JUnit test) need a way to distinguish the port number in the URI of separate server instances, which is not possible with a JVM-wide property. StreamBase Server continues to provide the streambase.uri system property in the 6.6.x release series, but the property is deprecated as of release 7.1.0. StreamBase Systems recommends migrating your code to use the new getServerURI() function to prepare for the deprecation of the streambase.uri property.

New regexreplace() Function

The expression language gained the new regexreplace() function, as described on the Expression Language Functions page.

New Bloomberg BPOD Subscribing Input Adapter

The StreamBase base kit now includes the Bloomberg BPOD Subscribing Input adapter, which allows a StreamBase application to receive market data messages from a Bloomberg server. The adapter is described in Bloomberg BPOD Subscribing Input Adapter in the Adapters Guide, and has a sample, described in Bloomberg BPOD Adapter Sample.

New Wombat MAMA Output Adapter

The new Wombat MAMA Publishing Output adapter allows StreamBase applications to publish MAMA messages on a user-specified Wombat MAMA source. The new output adapter joins the existing Wombat MAMA Subscribing Input adapter. There are now two Wombat samples, one each for the Publishing Output and Subscribing Input adapters. These samples can be run together for testing, using one sample to publish messages, the other to receive them. In addition, both Wombat adapters were updated with the ability to load a data dictionary from a file.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was updated with the following enhancements. See FxAll Relationship Trading Provider Adapter in the Adapters Guide for details.

  • The new Log XML Messages at INFO Level property specifies that received XML messages are to be logged at the INFO level.

  • The new Set Requirement Maker IDs property adds support for populating the Maker ID of each requirement of each leg during SentPickup commands.

  • The following output adapter properties were not used and were removed: Maker ID, Maker Name, Maker Group Name.

  • The adapter now has an Order.InstrumentOrders.AdditionalCurrencyInfo tuple field to convey NDF information.

  • The sample associated with this adapter was refactored into separate modules.

Thomson Reuters RMDS Adapter Updated

The Thomson Reuters RMDS Subscribing Input Adapter was updated to include a field in the market data output port to receive the OMM sequence number.

Deutsche Bank Trading System Adapter Updated

The Deutsche Bank AutobahnFX Trading System adapter was updated to support a new Include Latency Data property in the adapter's Properties view. When selected, this property adds two latency measurement fields to the Quotes output tuple expressed in nanoseconds. The QuoteArrivalTime field records the time between delivering a quote to the adapter and the time that quote arrives in the containing adapter. The QuoteHandoffTime field records the time a Quotes tuple spends enqueued after the adapter has called sendOutputAsync().

Alpha Adapters Updated

The Alpha Trading Systems adapters, both EMAPI Market Data Feed and EMAPI Order Entry adapters, were updated to use version 4.5 of the Alpha Trading Systems API.

Thomson Reuters RFA Adapter Updated

The Managed Publishing Adapter for Thomson Reuters RFA was updated to use version rfaj7.0.0.E2 of the RFA/Java library. This corrects a memory leak in that library.

API Changes

A convenience method, confFilePath(), was added to ServerManagerFactory to make it easier to run StreamBase JUnit tests with explicit configuration files.

Documentation Updates

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

What Was New in StreamBase 6.6.12

Fixes

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

Updates from Previous Releases

StreamBase 6.6.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.12 and 6.4.14.

New and Updated Features

StreamBase 6.6.12 added the following updates and new features:

New sbd Working Directory Switch

This release introduces the -w and --working-directory options for the sbd command that allow you to specify a path to an existing directory from which to run StreamBase applications. When used in conjunction with a bundle file, this switch specifies the directory into which the bundle is unzipped before running its contents. See sbd.

New sbargen Switch

The sbargen command has a new option, --if-modified. When used, it directs sbargen to check the target .sbar file's dependencies, and only rebuild the target if it is older than its dependencies.

New Expression Language Function

The expression language was enhanced with a new function, isinterval(), that returns true if its timestamp argument is an interval timestamp.

SBJunit Method Extended

The SBServerManager.loadApp() method in the com.streambase.sb.unittest package now loads precompiled archive files (.sbar files) as well as EventFlow and StreamSQL files. As before, specified files are located on the module search path.

Copy-free Tuple Setter Methods Added

Zero copy Tuple setter methods were added to the Java API. See the Javadoc for Tuple.getAllocatedTuple() and the comments added for Tuple.getTuple() and Tuple.setTuple().

FIX Adapter Updated

When using the FIX Adapter with the Appia FIX engine, time-based FIX fields (UTCTimestamp, LocalMarketTime, and so on) are mapped to StreamBase field types differently than for other supported FIX engines. For details, see Field Type Mapping on the FIX Adapter documentation page.

29West LBM Adapter Updated

The 29West LBM adapter was updated such that all instances of the adapter now share a context if they specify the same LBM configuration file and section.

Hotspot FX Adapter Updated

The Hotspot FX Control adapter (part of the Hotspot TXTrading System adapter suite) now supports two new actions: connect and disconnect. See Hotspot FX Trading System Adapter.

FXall Relationship Trading Provider Updated

The FXall Relationship Trading Provider Input adapter was enhanced to support the Use Custom Order Schema and Custom Order Schema properties on the adapter's Studio Properties page. Enable the Use option to specify the use of a custom schema with which to emit order tuples on the event port, then specify the custom schema itself in the Custom Order Schema field. In addition, the adapter now includes a field that contains the nanotime value at the time each callback was made from the FXall API into the adapter. See FXall Relationship Trading Provider Adapter for details.

Reuters RMDS Subscribing Input Adapter Updated

In processing update messages, the Reuters RMDS Subscribing input adapter now uses cached item state to populate metadata fields for OMM message models, as it has been doing for the non-OMM MarketFeed model.

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 6.6.12, the Vhayu Subscription and Vhayu Query adapters were removed from the StreamBase base kit. Vhayu Technologies was acquired by Thomson Reuters in August, 2009, and Vhayu's proprietary subscribe and publish API was replaced with the standard Reuters RMDS protocol. Thus, to subscribe to or publish to a Vhayu Velocity or Reuters Tick Capture Engine tick-store database, you can now use the Reuters RMDS Subscribing Input and Publishing Output adapters.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.12: RSS Reader, TIBCO Embedded Input and Output, Vertica Load, and XML File Writer, XML Over HTTP.

Documentation Updates

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

What Was New in StreamBase 6.6.11

Fixes

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

Updates from Previous Releases

StreamBase 6.6.11 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.12 and 6.4.14.

New and Updated Features

StreamBase 6.6.11 added the following updates and new features:

JDK Version Updated

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

FXall Relationship Trading Provider Adapter Updated

In the FXall Relationship Trading Provider adapter, the output adapter's input schema was modified to support multiple legs. The top-level Bid and Ask fields have moved under a new top-level PriceLegs field, which contains lists of tuples, the schema of which now contains the former Bid and Ask fields. The Adapters Guide page for this adapter was updated to correct errors in the specification of input schemas. See FXall Relationship Trading Provider Adapter.

Reuters RMDS Subscribing Adapter Updated

The Reuters RMDS Subscribing Input adapter was updated when used with RFA 6.5 that when configured for market price, the adapter now subscribes to just the FIDs corresponding to the fields in its output schema. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

EBS Adapter Updated

The EBS adapter and its data dictionary file were updated to support EBS Ai 6.1 FIX 1.3. See EBS Adapter.

StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase adapters were updated to emit a connection down event tuple when the initial connection fails. See StreamBase to StreamBase Input Adapter.

Minor Linux and Solaris Installation Changes

The names of the .bin files that contain the RPM and archive installation options for Linux and Solaris were extended to include a build number as well as architecture and platform tags. This help you distinguish similar installation files when installing an upgrade on several platforms. See Installing StreamBase on Linux and Installing StreamBase on Solaris.

The installers now check the current platform and architecture and issue a warning if you attempt run a non-matching installer version. Finally, the unpack option for the archive installer on Linux was improved, as described in Installing StreamBase on Linux.

Vertica 4.1 Now Supported

This release adds support for Vertica 4.1, in addition to 3.5 and 4.0.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.11: Hotspot FX, Hotspot Itch, InfoReach TMS, and Interactive Data PlusFeed, HTTP Reader, IRC Reader, POP3 Reader, SMTP Reader, Lime Citrius, Regular Expressions Reader, Regular Expressions Socket Reader, Sybase RAP4, Reuters RMDS Publishing, Reuters RMDS Subscribing, and the StreamBase to StreamBase input and output adapters.

Documentation Updates

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

What Was New in StreamBase 6.6.10

New and Updated Features

StreamBase 6.6.10 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.11 and 6.4.14.

StreamBase 6.6.10 was a maintenance release that fixed several product limitations, as described in the Limitations Resolved in 6.6.x section of the Release Notes.

What Was New in StreamBase 6.6.9

Fixes

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

Updates from Previous Releases

StreamBase 6.6.9 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.11 and 6.4.14.

New and Updated Features

StreamBase 6.6.9 added the following updates and new features:

Behavior Change in Studio Add Import Dialog

In previous releases of StreamBase Studio, when using the Add Import feature of the Definitions tab for an EventFlow module, you could choose to import all items and, at the same time, import a selection of items. This is no longer supported. You can now import either all items or a set of selected items.

New System Property to Log Properties of Adapters and Custom Operators

This release supports a new Java system property, streambase.operator.parameters.log-level. Specify an integer corresponding to the StreamBase log level in which you want operator property log entries included. Specify 1=ERROR, 2=WARN, or 3=INFO. When set to 1, 2, or 3, StreamBase log messages include one entry for every property setting for all operators and adapters that inherit from the Operator class in the StreamBase Client Library, including any custom Java operators and adapters. See StreamBase Java System Properties for an example log entry and further details.

New Features for the 29West LBM Output Adapter

The 29West LBM Publishing Output Adapter was updated to support a new property setting, Idle LBM Source Timeout, to specify the time, in seconds, to wait before an LBM source for an idle topic is discarded, or zero to disable expiring idle sources. See 29West LBM Publishing Output Adapter for details.

This adapter was also updated to support null elements in array fields in LBM messages. This support works in communications between a pair of StreamBase Subscribing and Publish LBM adapters.

Finally, the version of the LBM Java API JAR file included with StreamBase was updated to version 4.1.1.

Log Adapter Updated

In addition to the new fields added in release 6.6.8, the Log adapter was updated to support another new property, Custom MessageFormat. The adapter's description in the Adapters Guide was extended and clarified. See Log Output Adapter for details.

FIX Adapter Now Supports Log4J Logging Alternative

By default, the FIX adapter (and all adapters than inherit from it) participates in the standard StreamBase logging system that uses Logback logging, as described in Using StreamBase Logging. In previous releases, if you configured StreamBase to use Log4J as an alternative logging system, the FIX adapter did not participate. Starting with release 6.6.9, when using the FIX adapter with the QuickFIX/J FIX engine, you can configure the FIX adapter to participate in Log4J logging in cases where the whole StreamBase application is so configured. To do this, add the directive logtype=slf4j to the [Default] section of the FIX adapter's configuration file.

New Method in the StreamBaseMonitor API

The StreamBaseMonitor class in the StreamBase Java Client Library was extended to support the new isClosed() method. Use this method to determine the status of a client connection to StreamBase Server after the initial connection is made.

Documentation Updates

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

What Was New in StreamBase 6.6.8

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.8 added the following updates and new features:

JDK Version Updated

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

New Reuters Contribution Adapter

The new StreamBase Reuters RMDS Contribution Adapter allows a StreamBase application to contribute market data via off-stream OMM POST messages to a Reuters Posting Provider. Contributed data is then typically published to Reuters subscribers. See Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter. The adapter has a sample, described on Thomson Reuters Enterprise Platform for Real-Time Contribution Output Adapter Sample.

FIX Adapter Updated

The FIX adapter, and all adapters that inherit from the baseline FIX adapter, were updated to support two new commands for the Command port when using the QuickFIX/J FIX engine: ConnectionStatus and ConnectionStatusAll. As a response, one or more tuples (depending on the command and the number of configured FIX sessions) is issued on the Admin Message port with __ExtraInfo set to either Connected or Disconnected. SenderCompID and TargetCompID are also correctly set to identify the session in question. See FIX Adapter.

360T SuperSonic Adapter Updated

The 360T SuperSonic TEX adapter's FIX data dictionary was updated to the latest specification.

EBS Adapter Updated

The EBS Ai adapter's FIX data dictionary was updated to conform to the latest specification.

Alpha Adapters Updated

The Alpha Trading Systems EMAPI Market Data Feed adapter was updated to use version 4.4 of the Alpha Trading Systems API.

Lime Citrius Adapter Updated

The Lime Citrius Quote Input adapter was updated to support the following property settings: Enable Aggregate by Price, Enable Snapshot Book, Enable Trade Replay. See Lime Citrius Quote Input Adapter.

Log Adapter Updated

The Log adapter was updated to support two new properties, Logger Name and Message Prefix, that replace the Message Identifier property. See Log Output Adapter for details.

E-mail Sender Adapter Updated

The E-mail Sender adapter was updated to support SSL connections to an SMTP server and to support specifying the content type of messages (text/plain, text/html, and so on). See E-mail Sender Output Adapter.

Operator Parameters Can Be Defined Narrowly

When using the <operator-parameter> element of the server configuration file, you can now narrow the setting to apply only to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. Previously, operator parameter settings applied globally. See <operator-parameter> in the server configuration XML reference.

Site-Specific Component Exchange Sites Nows Support HTTPS

Customer sites can configure and support site-specific StreamBase component exchanges, as described in StreamBase Studio Panel and Site-Specific Component Exchange. Starting with release 6.6.8, in-house component exchanges can use the HTTPS protocol, in which case, StreamBase Studio prompts for credentials on the specified server before allowing access to components.

Monitoring 7.x Servers Not Allowed From 6.x Utilities

Because of changes in StreamBase release 7, StreamBase monitoring utilities such as sbmonitor or StreamBase Manager from release 6.6 cannot connect to or monitor StreamBase Servers from a 7.x release. If you attempt to monitor a 7.x server, you instead receive messages like unable to connect or Monitoring is disabled on this server. Try again using a 7.x monitor utility.

What Was New in StreamBase 6.6.7

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.7 added the following updates and new features:

Support for SQL Server 2008 Added

StreamBase now supports accessing Microsoft SQL Server 2008 from StreamBase applications, using the JDBC interface.

New FXall Relationship Trading Provider Adapter

This release adds the FXall Relationship Trading Provider adapter, allows a StreamBase application to receive quote requests, publish prices, and accept deals in the FXall Request for Quote (RFQ) trading environment. The StreamBase application acts as the Maker in this environment. The adapter is described in FXall Relationship Trading Provider Adapter, and has a sample described in FXall Relationship Trading Provider Adapter Sample.

New Morningstar Quotes Feed Input Adapter

This release adds the Morningstar Quotes Feed input adapter, which allows a StreamBase application to receive market data from Morningstar servers, as described in Morningstar Quotes Feed Input Adapter. The adapter has a sample described in Morningstar Quotes Feed Adapter Sample.

EBS Adapter Updated

The EBS adapter was updated to support the new AllowFixedDateNDFs field that was added to the Logon Request - User Request message by by the EBS Ai FIX 1.1 specification.

The adapter was also updated to recognize new UserData properties added to the EBS Ai specification without requiring a recompiled adapter. New properties only need to be added to the adapter configuration file in a format like this example: UserData.AllowFixedDateNDFs=true For compatibility with previous releases, existing UserData properties do not need to specify the UserData. prefix. For example: AutoCancelDuplSession=true

StreamBase to StreamBase Adapters Updated

The StreamBase to StreamBase input and output adapters were updated with a new check box property, Connect on adapter init. With the default setting of enabled, the adapters attempt to connect to the other server during adapter initialization, which can block the startup of the containing StreamBase Server. When disabled, the adapters start at the time they are needed. You can specify this property in the form ConnectOnInit as a parameter in the URI of a container connection string, as described in Remote Container Connection Parameters. The Query Table Replication HA sample was updated to take advantage of and illustrate this new property.

Deutsche Bank AutobahnFX Trading System Adapter Updated

The Deutsche Bank AutobahnFX adapter was updated to support connect and disconnect commands sent to the adapter in the Command field of the Subscriptions input port.

Independent Log Level Setting for More Adapters

Adapters can set a log level independent of the logging for the server that hosts the containing application, as described in Separate Adapter Log Levels. The independent Log Level adapter property was added to the following adapters as of release 6.6.7: Activfeed, Binary File Reader, Binary File Writer, CSV File Writer, CSV Socket Writer, Digitec D3, Deutsche Bank AutobahnFX, and E-mail Sender.

Server Configuration File's <operator-parameter> Element Extended

The <operator-parameter> element of the server configuration file was extended to accept a qualified name in StreamBase path notation as well as a simple parameter name. When the name attribute specifies a simple parameter name such as ParamOne, as in previous releases, all operators in the application that have a parameter named ParamOne are set with the specified value. You can now narrow the setting to a particular operator by specifying the StreamBase path to the operator in the form ContainerName.OperatorName.ParamName. If the operator is in a submodule, you must include the module's name in the path: ContainerName.ModuleName.OperatorName.ParamName. This sets the value of ParamName only for the specified operator. All other operators with a parameter named ParamName remain unset.

New Expression Language Function

The expression language was augmented with the new random_tuple() function that allows you to generate tuples filled with random field values given a schema.

Documentation Updates

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

What Was New in StreamBase 6.6.6

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase announced support for the following feature after the initial release of 6.6.6:

Support for SQL Server 2008 Added

StreamBase added support for accessing Microsoft SQL Server 2008 from StreamBase applications, using the JDBC interface.

StreamBase 6.6.6 added the following updates and new features:

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Raptor Trading Systems Adapter

The Raptor adapter allows a StreamBase application to connect to a Raptor Trading Systems venue and to exchange FIX messages with it. See Raptor Adapter.

New CitiFX Adapter

The CitiFX FIX adapter allows a StreamBase application to connect to and exchange FIX messages with the following Citi products:

  • Executable Streaming Prices for Spot FX

  • RFS for FX Spot, FWD and Swap (also known as RFX)

See CitiFX FIX Adapter.

IBM WebSphere MQ and Wall Street Systems Adapters Updated

The IBM WebSphere MQ adapters and the Wall Street Systems adapters were updated with a new property, SSL Cipher Suite. If this property remains empty, the adapter falls back to using a non-SSL connection. Use the property to specify the name of an SSL security package such as SSL_RSA_WITH_RC4_128_SHA. For this to work, the StreamBase Server hosting the adapter must be started with a set of JVM arguments that specify a truststore file and related values. For details, see IBM WebSphere MQ Input Adapter, Wall Street Systems Input Adapter, or their output adapter counterparts.

TIBCO Rendezvous Input Adapter Updated

The TIBCO Rendezvous Subscribing Input Adapter now has a Raw Message Field Name property. Use this to specify the name of a field of type string or blob in the output schema to receive the raw Tibrv message. See TIBCO Rendezvous Subscribing Input Adapter.

Wombat Adapter Updated

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

Lime Citrius Adapter Updated

The Lime Citrius Quote Input Adapter now uses version 2.0.4 of the Lime Citrius API. This corrects a bug causing incorrect processing of Modify Execution messages.

Log Adapter Updated

The Log adapter now supports independent error log level settings.

New Load StreamBase Sample Dialog Organization

The categories for adapter samples in the Load StreamBase Sample dialog in Studio were reorganized into functional groups.

Documentation Updates

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

  • The pages describing the StreamBase JUnit test feature were corrected and revised for clarity. See StreamBase JUnit Tests.

  • The two-layer contents structure of the Samples Guide was reorganized to provide a single contents page that matches the new category organization of the Load StreamBase Sample dialog. Documentation for any particular sample is now much easier to find.

  • The New and Noteworthy and Release Note Resolved Limitations pages for previous StreamBase releases were reorganized for clarity into single pages. See New and Noteworthy Archives and Release Note Archives.

What Was New in StreamBase 6.6.5

Fixes

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

Updates from Previous Releases

StreamBase 6.6.5 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.9 and 6.4.14. This includes the following recently-added features:

See the 6.5.9 New and Noteworthy for details.

New and Updated Features

StreamBase 6.6.5 added the following updates and new features:

New 360T SuperSonic TEX Adapter

The new 360T SuperSonic TEX adapter allows a StreamBase application to connect to the 360T SuperSonic TEX trading infrastructure and to exchange FIX messages with it. See 360T SuperSonic TEX Adapter.

New Integral FX Inside FIX Adapter

The new Integral FX Inside FIX adapter allows a StreamBase application to connect to the Integral FX Inside trading infrastructure and to exchange FIX messages with it. See Integral FX Inside FIX Adapter.

New 29West LBM Adapters

The new 29West LBM Subscribing Input adapter allows a StreamBase application to receive messages published to one or more 29West LBM topics. The 29West LBM Publishing Output adapter allows a StreamBase application to publish LBM messages to one or more LBM topics. See 29West LBM Subscribing Input Adapter and 29West LBM Publishing Output Adapter.

Vertica Database Support Extended

Support for the Vertica database, either with native connectivity or through JDBC, was extended to support Vertica versions 3.5 and 4.0.

Reuters RMDS Publishing Adapter Updated

The Reuters RMDS Publishing Output adapter was updated to allow publishing OMM REAL32 and REAL64 price fields using a StreamBase tuple field whose schema has exactly two sub-fields. The first sub-field is of type int to publish a REAL32 or type long to publish a REAL64; the second sub-field of type int contains the number of digits to the right of the decimal point. For example, to publish a price of 1.23, use a tuple field whose sub-fields are 123 and 2. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter.

ActivFeed Input Adapter Updated

The ActivFeed Input adapter was updated to use version 1.10.0.0 of the Activ SDK.

Log Adapter Updated

The Log Output adapter was updated to add a new check box, Display Tuple Field Names, on the Adapter Properties tab of the Properties view. See Log Output Adapter.

Documentation Updates

The StreamBase documentation for release 6.6.5 included the following updates inherited from release 6.5.9:

  • The primary page that discusses the StreamBase logging mechanism was corrected, updated, and moved to the Administration Guide: Using StreamBase Logging. All logging-related pages were corrected and updated, including Server Background Mode and Logging.

  • The Expression Language Functions page was slightly reorganized to make certain functions easier to find:

    • The split() and regexsplit() functions were recategorized into the Strings category on both the Expressions page and in Studio's function assistance panel.

    • The zip() and unzip() functions were recategorized into the Lists category in both places.

    • Functions that can operate on either strings or lists are now found in both the Lists and Strings categories on the Expressions page.

    • All section tables of contents were reordered for consistency in down-first-then-over order.

  • The description of the epoch() function now includes usage examples.

  • The description of set_second() was updated and corrected.

What Was New in StreamBase 6.6.4

Fixes

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

Updates from Previous Releases

StreamBase 6.6.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.8 and 6.4.14.

New and Updated Features

StreamBase 6.6.4 added the following updates and new features:

Drools Operator Updated

The Drools operator was updated to accept dynamic update of rules without restarting the application. This feature is described in Using the Drools Operator and is illustrated in the Drools sample, Drools Operator Sample.

Venue-Specific FIX Adapters Now Have Default Data Dictionaries

StreamBase adapters that inherit from the FIX adapter now have their venue-specific data dictionaries specified internally as the default for each adapter. You can still override these settings by specifying a custom data dictionary in the FIX engine's configuration file, as described on the primary FIX adapter's page. This change applies to the following adapters: Bovespa, Currenex, EBS/ICAP, FXall, GS, LavaFX, Lime FIX, Trading Technologies, and UBS. (The Nomura FX adapter uses the standard FIX data dictionary, and thus does not need to specify a venue-specific default dictionary.)

UBS FIX Adapter Changes

The UBS Fx2B FIX adapter was renamed the UBS FIX adapter. The adapter continues to allow connections to a UBS FX trading venue using the UBS Fx2B API, which was updated to version 1.11. In addition, the adapter can now connect to a UBS equities trading venue using the DMA, DSA, and/or ATS FIX APIs. You select between FX and Equities connection types using the new Market control in the Adapter Properties tab of the adapter's Properties view. See UBS FIX Adapter.

New Bovespa Adapter

The Bovespa adapter allows a StreamBase application to connect to Brazil's BM&FBovespa stock exchange (commonly known as the Bovespa exchange), and to exchange FIX messages with it. See Bovespa Adapter.

New Nomura FX FIX Adapter

The Nomura FX FIX adapter allows a StreamBase application to connect to the Nomura B-2-B FX trading infrastructure and to exchange FIX messages with it. See Nomura FX FIX Adapter.

New Lime FIX Adapter

The Lime FIX adapter allows a StreamBase application to connect to a Lime FIX venue, and to exchange FIX messages with it. See Lime FIX Adapter. This new adapter is independent of the existing Lime Citrius Quote Input Adapter.

FIX Adapter Updated

The StreamBase FIX adapter was updated with a new property, Logon When Application Starts, in the Adapter Properties tab of its Properties view. In most cases, leave the check box in its default selected state. When cleared, the adapter connects to its configured FIX venues when it receives a Connect command on its command input port. See FIX Adapter.

IBM WebSphere MQ Adapter Updated

The IBM WebSphere MQ adapter was updated to add a new property, Unicode Encoding. Use this property to specify which of three encoding formats are used to encode and decode Unicode payloads. See IBM WebSphere MQ Input Adapter and IBM WebSphere MQ Output Adapter.

MarketFactory™ Trading Adapter Updated

The schema of the Trading Events output port of the MarketFactory Trading input adapter now has one more field, text. This holds the textual description of a trading event, if available. See MarketFactory™ Trading Adapter.

Documentation Now Searchable Online

StreamBase documentation is now available online with an integrated search feature. The new online documentation is at http://docs.streambase.com. See Using the Help System for assistance using search and other features of the StreamBase Help and Documentation system.

Documentation Updates

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

What Was New in StreamBase 6.6.3

Fixes

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

Updates from Previous Releases

StreamBase 6.6.3 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 6.5.8 and 6.4.14.

New and Updated Features

StreamBase 6.6.3 added the following updates and new features:

Filtered Subscribe Option for Remote Container Connection URLs

In a previous release, the StreamBase to StreamBase Input adapter was updated to support a filtered subscribe expression for limiting the tuples emitted from the adapter to those matching the expression. As of releases 6.5.8 and 6.6.3, the same feature is allowed in URLs used when specifying a remote container connection, as described in Remote Container Connection Parameters.

New Trading Technologies Adapter

The Trading Technologies adapter allows a StreamBase application to connect to a Trading Technologies venue, and to exchange FIX messages with it. See Trading Technologies Adapter.

New Fields for FIX Input Adapter

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

Better Error Messages from Embedded Adapters

Error messages reported by the Properties view for embedded adapters are now more detailed and provide better reporting of the location of the error. These messages now report, when possible, the exact configuration element with the problem, and provide a hyperlink to take you to that location.

Documentation Updates

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

What Was New in StreamBase 6.6.2

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.2 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_20. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Custom File Reader for Feed Simulations

This release introduces support for custom file readers to read non-standard, proprietary, or binary files as the source of a stream of input tuples for feed simulations. Your Java file reading code must extend one of the classes in the com.streambase.sb.feedsim package added to the StreamBase Client Library with this release. StreamBase now provides a way to use your custom class instead of its internal CSV-reading code in conjunction with the Feed Simulation Editor's Data File option. This feature is described in Feed Simulation with Custom File Reader and has a sample, described in Feed Simulation Custom Reader Sample.

New Support for Custom URL for Component Exchange

In StreamBase Studio preferences, you can now specify a site-specific URL from which the StreamBase Component Exchange dialog is to retrieve its list of available components. Use this feature to set up an in-house component exchange site for sharing StreamBase components among a group of developers. Contact StreamBase Technical Support for guidance in setting up an in-house component exchange site.

New Module Chooser Dialog When Adding Modules to an Extension Point Operator

In the Modules tab of the Properties view for an Extension Point operator, clicking the Add or Edit buttons results in the Add or Edit Module Instance dialog. Both dialogs have gained a Choose button that opens a module selection dialog restricted to modules on the current project's module search path.

Behavior Change in Open StreamBase Command Prompt Here

Release 6.5.0 introduced a menu option in the Studio Package Explorer view in Windows: select a project folder, right-click, and from the context menu select StreamBaseOpen StreamBase Command Prompt Here, which opens a StreamBase Command Prompt with the selected project as its current directory. Starting with releases 6.5.7 and 6.6.2, in 64-bit StreamBase installations, this feature automatically opens a 64-bit StreamBase Command Prompt — that is, a command prompt with %STREAMBASE_HOME%\bin64 first in the PATH, ahead of %STREAMBASE_HOME%\bin.

What Was New in StreamBase 6.6.1

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.6.1 added the following updates and new features:

StreamSQL Wizard Can Now Implement Interfaces

The New StreamBase StreamSQL Application dialog now includes an Implement Interfaces option, like its New EventFlow Application counterpart.

Extract As Module Can Now Include Query Tables

The Extract as Module feature now works if the selection includes a Query Table. See Extracting a Module

New Tervela Message Network Adapters

The StreamBase Tervela Subscribing Input Adapter allows a StreamBase application to receive messages published to one or more Tervela topics. The adapter has two output ports: one that emits status tuples, and a second that emits tuples representing received Tervela messages. See Tervela Subscribing Input Adapter.

The StreamBase Tervela Publishing Output Adapter allows a StreamBase application to publish Tervela messages to one or more Tervela subjects. See Tervela Publishing Output Adapter.

Comstock Adapter Renamed to Interactive Data PlusFeed Adapter

The Comstock adapter was renamed to accurately reflect the current owners of the former Comstock data feed, Interactive Data, and to reflect the current name for the service, PlusFeed. See Interactive Data PlusFeed Input Adapter.

Server Mode for CSV Socket Writer Output Adapter

The CSV Socket Writer output adapter now has an option to operate in server mode, listening for and accepting connections from remote clients. See CSV Socket Writer Output Adapter.

Alpha Adapter Upgrade

The StreamBase Alpha Trading Systems EMAPI Order Entry adapters were updated to support Alpha Release 4.3.1, which includes two new features. The Order Cancel on Disconnect feature is represented by the cancelOnLogout field added to the schema of several of the adapter's input and output ports, while the Passive Only order feature is represented by the passiveOnly field. See Alpha Trading Systems EMAPI Order Entry Adapter for details.

MarketFactory Adapter Update

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

All Command Line Utilities Now Accept -J

All StreamBase command line utilities were updated to accept one or more –J options to specify arguments and system property settings to pass to the JVM that runs the command. Arguments to –J are passed literally to the JVM. For example: sbd -J-Xmx1g appname.sbapp starts StreamBase Server with the -Xmx1g JVM option. You can use –J as a quick alternative to specifying the STREAMBASE_JVM_ARGS environment variable.

New Option for sbc dequeue

The sbc dequeue command now supports the --all-containers option, which dequeues from all streams in all containers running on the specified Server. Both the --all and --all-containers options now support =input and =output modifiers. For example, --all=input restricts the output to all input streams in the specified container, while --all-containers=output restricts the output to all output streams in all containers. Without an = modifier, both commands dequeue from both input and output streams.

Improvements in sbc and jsbc Error Reporting

The sbc enqueue (and jsbc enqueue) commands now report the line number of an error, and, when possible, report the offending field name. The jsbc command's behavior and error messages were updated to more closely resemble the sbc command.

Version Option for sbargen Command

sbargen --version returns the StreamBase release number.

Expression Language Updates

The following expression language functions were updated:

  • The black_scholes() function was updated to accept an interval timestamp for the exerciseDate field as well as an absolute timestamp. An interval timestamp is taken as the number of days to exercise.

  • The sort() function now accepts an optional argument to specify an ascending (true) or descending (false) sort of the argument list.

What Was New in StreamBase 6.6.0

Fixes

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

Inherited from Previous Releases

StreamBase 6.6.0 inherited the new adapters and new features added to previous maintenance releases, through releases 6.4.12 and 6.5.5.

New and Updated Features

StreamBase 6.6.0 added the following updates and new features:

 StreamBase Interfaces 
StreamBase Interfaces

This release introduces the StreamBase interface, which is a defined set of input streams, output streams, Query Tables, constants, and schemas that application modules can implement and extend. Implementing an interface enforces the stream and table definitions in the interface. This lets you design an interface with a known set of components that several modules can implement in different ways. Interfaces can implement other interfaces, which lets you nest a set of definitions in layers and use them in the combinations most appropriate for your applications.

Interfaces are stored in a new StreamBase file type with .sbint extension. Interfaces are edited in the new Interface Editor. See Using Interfaces for an overview.

New Extension Point Operator

StreamBase interfaces can serve in two ways: as templates to enforce streams, tables, and schemas when creating or adding to an application, and in conjunction with the new Extension Point operator. This operator is much like a Module Reference, but for interfaces. When you drag an .sbint file from the Package Explorer to the canvas, it creates an Extension Point. Tuples flowing into an Extension Point can be directed for processing by one or more modules that implement the referenced interface. For example, an Extension Point that references a Multiplier interface can direct tuples to either a Doubler or Tripler module, both of which implement the Multiplier interface.

New StreamBase Extension Points View

This new view shows a tree view of all Extension Point operators in use in any EventFlow or StreamSQL module in the current workspace, along with each module that implements the interface referenced in each Extension Point. The view is placed in the same pane as the Properties view at the bottom of the SB Authoring perspective. See StreamBase Extension Points View.

 New Concurrency Options 
Concurrency Options Revised

The Concurrency tab provided in the Properties view of most operators and adapters now offers a revised set of options. The option set formerly grouped as Data Parallelism was replaced with a group of related Multiplicity options. The separate thread option serves the same purpose as before, but can now be set independently of the Multiplicity options. The settings for these options are described on Concurrency Options, while the background information that describes why you might use concurrency settings is in Execution Order and Concurrency.

New Module Dispatch Styles

One aspect of the new Multiplicity concurrency options is a new set of module dispatch styles. In previous releases, when a module or component was marked to run with multiple instances using the data parallelism options in the Concurrency tab of the Properties view, tuples could be routed to different instances based on an expression that resolved to an integer. This is now known as the Numeric style of dispatching tuples. If you did not specify an expression, tuples were routed in round-robin fashion to all instances.

This release introduces alternate dispatch styles for sending tuples to multiple instances of an operator or to multiple modules. The Broadcast style, the default setting for both EventFlow and StreamSQL applications, routes incoming tuples equally to all operator or module instances. For multiple module instances in a Module Reference, or for multiple operator instances, you can optionally specify the Numeric or Round Robin dispatch styles. For multiple modules referenced in an Extension Point operator, you can specify that tuples are dispatched in the Broadcast or Name styles. See Dispatch Styles.

Per-Stream Dispatch

The new concurrency settings include support for setting the dispatch style independently for different input streams. This applies to Module References where the referenced module has more than one input stream, to Extension Points, and to operators with more than one input stream, including Join, Gather, Merge, and Pattern.

Union and Split Operator Concurrency Change

Starting with this release, the Union and Split operators support only separate thread concurrency, and not multiplicity concurrency. The Union and Split operators join the Metronome and Iterate operators in this category of operators that support only separate thread concurrency.

 StreamBase Junit Tests 
New StreamBase JUnit Tests

This release adds the new StreamBase JUnit test mechanism. A StreamBase JUnit test is a Java program that starts StreamBase Server, loads the application module to be tested, sends tuples to the module's input streams, and compares the output emitted from the module's output streams to an expected set of tuples. StreamBase Studio includes a new wizard that generates JUnit test code for your modules, ready for you to edit and complete. StreamBase JUnit test are described in StreamBase JUnit Tests.

StreamBase Tests remain in the product as a separate macro-like recording and playback mechanism that does not require writing Java code. StreamBase Tests are described in StreamBase Tests (sbtest).

New sbunit Utility

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

 Studio New Layout, New Views 
New Default SB Authoring Perspective Layout

The SB Authoring perspective has a new default layout that provides more room to work on large applications, especially on small laptop screens. Editors, including the EventFlow Editor, are now placed in the top right corner of the perspective, with the Properties and Reuters Schema Designer views now below in the bottom right pane. The Outline view was moved to the top left, sharing a pane with the Package Explorer. The Saved Schemas view is no longer displayed by default; when opened, it shares the bottom right pane. The new Extension Points and Module Hierarchy views share the bottom right pane with the Properties and Console views. See SB Authoring Perspective.

Palette View Reorganized

The Palette view was greatly simplified and made easier to use:

  • The seven Palette view drawers of previous releases were collapsed into three drawers: Operators and Adapters, Data Constructs, and Streams.

  • The new Module Explorer view replaces the Modules drawer of previous releases.

  • The Adapters and Global Java Operators drawer was replaced with three icons that appear in the Operators and Adapters drawer. You drag one of these icons to open a dialog from which you select your adapter or operator, as described next.

  • The Project Adapters and Project Operators drawers are now integrated with the dialogs described next.

See Palette View for further information.

New Adapter and Java Operator Dialogs from the Palette

Adapters and Global Java operators are now selected by dragging one of the following icons from the Operators and Adapters drawer: Input Adapter, Output Adapter, or Java Operator. Dragging one of these icons opens a dialog that lists the available adapters and operators in each category, including any project-specific custom adapters or operators. You can narrow the list with a search string. When you make a selection and double-click or press Enter, the selected adapter or operator is dropped onto the current canvas location. You can invoke the same dialogs with the keyboard shortcuts A I, A O, and O V, respectively. See Using the Drag-From-Palette Dialogs for further details.

New Module Explorer View

This new view replaces the Module drawer of the Palette view of previous releases. Placed in the same pane as the Palette view, it provides a tree view of all EventFlow and interface files in the module search path for the currently active EventFlow or StreamSQL application. The currently active Editor session is not included in the view. See Module Explorer View.

Can Designate Project Folders as Hidden

In the Project Properties dialog, in the StreamBaseModule Search Path panel, you can now designate referenced module folders as hidden. Use this feature to prune folders from the Module Explorer view to de-clutter the view.

New Module Call Hierarchy View

This new view shows the module call order for the currently active EventFlow module, in tree view by default, with a graphical view option. This view is not automatically maintained and does not refresh when you switch to a different application's Editor view. Use the keyboard shortcut, Ctrl+Alt+H, to generate a new Module Call Hierarchy view on demand for the currently active EventFlow module. See Module Call Hierarchy View.

New StreamBase Extension Points View

See  StreamBase Interfaces  above for a description of the new StreamBase Extension Points view.

 Studio Usability Updates 
Typechecking Speedup

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

New StreamBase Admin Global Java Operator

The new StreamBase Admin operator is used to send sbadmin commands to a running StreamBase Server, without having to invoke sbadmin from a shell by means of the External Process operator. Use the StreamBase Admin operator for container control or control between primary and secondary servers in a high availability pattern. Invoke the new operator by dragging the Java Operators icon from the Operators and Adapters drawer in the Palette view. See Using the StreamBase Admin Operator.

Studio Launch Configuration Can Specify Container Start Order

When editing a Studio launch configuration, you can now specify the start order for multiple containers by using the Move Up and Move Down buttons on the Containers tab. It may be necessary to adjust container start order when specifying container connections, so that the container with the outgoing stream is started before another container with the incoming stream.

As a consequence of this change, the container named default is now always listed in the Containers tab of the launch configuration editor. In previous releases, you specified module parameters for the top-level application on the Main tab. Now you select the default line in the Containers tab, and specify module parameters for the top-level application there.

Double-click .sblayout in Package Explorer

You can now double-click .sblayout files in the Package Explorer. Studio automatically opens an Editor session for the associated .sbapp EventFlow module.

Eclipse Fix Project Build Path Now Includes StreamBase Libraries

When working with Java code, the Eclipse Quick Fix feature now suggests a fix to include StreamBase Client and Test Libraries in the Project Build Path.

Query Operator, Output Row Limit Now an Expression

In the Query operator associated with Query Tables or Materialized Windows, for read and delete operations, you can specify an integer as the maximum number of rows that can be returned by your query. Starting with this release, you can specify the row limit as a StreamBase expression that evaluates to a positive integer. This allows you to specify the row limit with an expression calculated based on conditions upstream, or to use a module parameter such as ${RowLimit} that you can specify at runtime.

Studio Now Performs Server Version Check

When Studio launches StreamBase Server, it now compares the Studio and server version numbers and reports any mismatch. This is only likely to occur when Studio is configured to launch on a remote server.

Show Asynchronous Ports Feature Removed

The obscure "show asynchronous ports" option in Studio Preferences was removed. It is not feasible to determine the synchronous state of an Extension Point operator's ports, which rendered the feature unmaintainable.

 Application Bundling Changes 
Creating Application Bundle in Studio Can Now Preserve Containers

When creating an application bundle in Studio, you can now base the bundle on a Studio launch configuration instead of specifying the top-level application file. The bundler parses the launch configuration to determine the top-level application name and extracts any containers, container start order, container connections, and container parameters specified on the configuration's Containers tab. All other configuration information is ignored for purposes of the bundle. See Exporting a Bundle in StreamBase Studio for details.

New Ignore Option for Application Bundler in Studio

For several releases, the sbbundle command has offered a –i option, which allows you to specify a comma-separated list of files or directories in an application's project folder that you want to exclude from the bundle. Starting with this release, the application bundling dialog in Studio provides the same option. For example, you can use the Ignore directories and files field to exclude the state files for your version control system; for Subversion, enter .svn. See Application Bundling.

 Samples Reviewed and Updated 
New Way to Launch Sample Client Programs in Samples

Starting with 6.6.0, StreamBase samples that include Java source code for client enqueuer and dequeuer programs have a new way to launch the client programs in StreamBase Studio. New Studio launchers for the client programs are automatically placed in Studio's Run History list. You now run the sample's EventFlow application, then run one or more client launchers to run the client program alongside the EventFlow application in Studio. The new Studio launchers are part of the following samples: Client, Buffering, FeedProc, and Output Filtering.

Java Source Code in Samples

Java source code delivered as part of a StreamBase sample is now placed in the sample's java-src folder. When you load the sample in Studio, Java code is automatically built. For this reason, JAR files containing the compiled Java code are no longer necessary and are no longer included with the samples. You can, of course, generate your own JAR files from the provided source files.

When a Makefile or Visual Studio project file is delivered as part of a sample, it no longer includes targets to build the Java source code at the command prompt. These files are now provided only as a guide to building C++ sample code.

Samples Reviewed

Most StreamBase samples were reviewed and updated for 6.6.0 to promote current recommended practices. Obsolete samples were removed from the distribution and are no longer shipped.

 Platform Changes 
New Support for Solaris 10 on Intel

This release adds support for installing and hosting StreamBase Server on Solaris 10 on 64-bit Intel hardware. See Installing StreamBase on Solaris. As with the SPARC version of Solaris 10, StreamBase Studio is not supported. On this platform, StreamBase supports using the GCC tools from /usr/sfw/bin to write native clients and plug-ins.

Studio Now Based on Eclipse 3.5.2

StreamBase Studio is now based on Eclipse 3.5.2, which resolves an issue of non-responding Studio buttons on certain Linux systems. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5.2.

JDK Version Updated

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

 Command Line Changes 
New Wait Option for sbc and jsbc Commands

The sbc and jsbc command now have a –w option, which takes a wait time argument in milliseconds, plus an optional retry time separated by a colon. The option specifies the amount of time to wait while continually retrying to connect to the specified StreamBase Server. The following example waits 20 seconds before giving up on connecting to the server, retrying every half second: sbc -w 20000:500 dequeue Use this command to start sbc enqueue and dequeue commands before starting StreamBase Server. The sbc command waits for the specified time until the server is ready.

 Documentation Changes 
Documentation Updates Independent of New Features

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

  • A new page in the Installation Guide lists in one place all the default installation and configuration directory locations for different StreamBase releases on different operating systems. See Default Installation Directories.

  • The Studio Reference Guide was revised as a whole to describe views and perspective layouts, in addition to the views added by this release.

  • The Test/Debug Guide was revised to update the descriptions of running and debugging applications. The section on the older StreamBase Test feature was revised to clarify and distinguish it from the new StreamBase JUnit test feature that was added in this release.

StreamBase 6.5.x Release History

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

What Was New in StreamBase 6.5.13

Fixes

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

Updates from Previous Releases

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

New and Updated Features

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

New Protocol to Access Vhayu Velocity and Reuters RTCE

As of release 6.5.13, the Vhayu Subscription and Vhayu Query adapters were removed from the StreamBase base kit. Vhayu Technologies was acquired by Thomson Reuters in August, 2009, and Vhayu's proprietary subscribe and publish API was replaced with the standard Reuters RMDS protocol. Thus, to subscribe to or publish to a Vhayu Velocity or Reuters Tick Capture Engine tick-store database, you can now use the Reuters RMDS Subscribing Input and Publishing Output adapters.

Documentation Updates

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

What Was New in StreamBase 6.5.12

Fixes

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

Updates from Previous Releases

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

New and Updated Features

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

In addition, release 6.5.12 had the following updates:

Twitter Adapter Replaced

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

Error Streams Sample Updated

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

What Was New in StreamBase 6.5.11

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.11 added the following updates and new features:

JDK Version Updated

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

New Raptor Adapter

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

TBF Adapter Updated

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

FIX Adapter Updated

The FIX adapter, and all adapters that inherit from the baseline FIX adapter, were updated to support two new commands for the Command port when using the QuickFIX/J FIX engine: ConnectionStatus and ConnectionStatusAll. As a response, one or more tuples (depending on the command and the number of configured FIX sessions) is issued on the Admin Message port with __ExtraInfo set to either Connected or Disconnected. SenderCompID and TargetCompID are also correctly set to identify the session in question. See FIX Adapter.

Wombat Adapter Updated

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

Alpha Adapters Updated

The Alpha Trading Systems EMAPI Market Data Feed adapter was updated to use version 4.4 of the Alpha Trading Systems API.

Monitoring 7.x Servers Not Allowed From 6.x Utilities

Because of changes in StreamBase release 7, StreamBase monitoring utilities such as sbmonitor or StreamBase Manager from release 6.5 cannot connect to or monitor StreamBase Servers from a 7.x release. If you attempt to monitor a 7.x server, you instead receive messages like unable to connect or Monitoring is disabled on this server. Try again using a 7.x monitor utility.

Documentation Updates

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

What Was New in StreamBase 6.5.10

Fixes

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

Updates from Previous Releases

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

New and Updated Features

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

Support for SQL Server 2008 Added

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

StreamBase 6.5.10 added the following updates and new features:

JDK Version Updated

The Oracle JDK installed for private use by StreamBase was updated to release 1.6.0_21. (On Windows, the installed JDK is 1.6.0_21 build 7.) As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

MarketFactory Adapters Updated

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

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

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

Updates for the FIX Adapter

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

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

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

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

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

Data Dictionary Updated for the Lime Citrius Adapter

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

New Feature for the CSV Writer Adapter

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

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

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

Log Adapter Updated

The Log Output adapter was updated to add a new check box, Display Tuple Field Names, on the Adapter Properties tab of the Properties view. See Log Output Adapter.

New System Property for Many Client Connections

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

Update for sbadmin listConnections

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

Documentation Updates

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

  • The New and Noteworthy and Release Note Resolved Limitations pages for previous StreamBase releases were reorganized for clarity into single pages. See New and Noteworthy Archives and Release Note Archives.

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

What Was New in StreamBase 6.5.9

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.9 added the following updates and new features:

Extensions for Profiling and the sbprofile Command

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

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

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

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

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

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

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

New Default Values for Environment Variables

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

New Parameters for <authentication> Element

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

Vertica Database Support Extended

Support for the Vertica database, either with native connectivity or through JDBC, was extended to support Vertica versions 3.5 and 4.0.

New Bovespa Adapter

The Bovespa adapter allows a StreamBase application to connect to Brazil's BM&FBovespa stock exchange (commonly known as the Bovespa exchange), and to exchange FIX messages with it. See Bovespa Adapter.

New Nomura FX FIX Adapter

The Nomura FX FIX adapter allows a StreamBase application to connect to the Nomura B-2-B FX trading infrastructure and to exchange FIX messages with it. See Nomura FX FIX Adapter.

New Support for Solace Systems

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

FIX Adapter Updated

The StreamBase FIX adapter was updated with a new property, Logon When Application Starts, in the Adapter Properties tab of its Properties view. In most cases, leave the check box in its default selected state. When cleared, the adapter connects to its configured FIX venues when it receives a Connect command on its command input port. The adapter was updated to re-read its message store before each logon operation, to keep message sequence numbers up to date for cases when the adapter restarts, but receives a Connect command some time later. See FIX Adapter.

IBM WebSphere MQ Adapter Updated

The IBM WebSphere MQ adapter was updated to add a new property, Unicode Encoding. Use this property to specify which of three encoding formats are used to encode and decode Unicode payloads. See IBM WebSphere MQ Input Adapter and IBM WebSphere MQ Output Adapter.

MarketFactory™ Adapters Updated

The schema of the Trading Events output port of the MarketFactory Trading input adapter now has one more field, text. This holds the textual description of a trading event, if available. See MarketFactory™ Trading Adapter.

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

Documentation Updates

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

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

  • The primary page that discusses the StreamBase logging mechanism was corrected, updated, and moved to the Administration Guide: Using StreamBase Logging. All logging-related pages were corrected and updated, including Server Background Mode and Logging.

  • The Expression Language Functions page was slightly reorganized to make certain functions easier to find:

    • The split() and regexsplit() functions were recategorized into the Strings category on both the Expressions page and in Studio's function assistance panel.

    • The zip() and unzip() functions were recategorized into the Lists category in both places.

    • Functions that can operate on either strings or lists are now found in both the Lists and Strings categories on the Expressions page.

    • All section tables of contents were reordered for consistency in down-first-then-over order.

  • The description of the epoch() function now includes usage examples.

  • The description of set_second() was updated and corrected.

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

What Was New in StreamBase 6.5.8

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.8 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_20. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New TBF Adapter

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

Custom File Reader for Feed Simulations

This release introduces support for custom file readers to read non-standard, proprietary, or binary files as the source of a stream of input tuples for feed simulations. Your Java file reading code must extend one of the classes in the com.streambase.sb.feedsim package added to the StreamBase Client Library with this release. StreamBase now provides a way to use your custom class instead of its internal CSV-reading code in conjunction with the Feed Simulation Editor's Data File generation option. This feature is described in Feed Simulation with Custom File Reader and has a sample, described in Feed Simulation Custom Reader Sample.

Skip Initial Lines Option for Feed Simulations

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

Filtered Subscribe Option for Remote Container Connection URLs

In release 6.5.4, the StreamBase to StreamBase Input adapter was updated to support a filtered subscribe expression for limiting the tuples emitted from the adapter to those matching the expression. As of 6.5.8, the same feature can now be specified as a URL parameter when specifying a remote container connection, as described in Remote Container Connection Parameters.

Better Error Messages from Embedded Adapters

Error messages reported by the Properties view for embedded adapters are now more detailed and provide better reporting of the location of the error. These messages now report, when possible, the exact configuration element with the problem, and provide a hyperlink to take you to that location.

New Fields for FIX Input Adapter

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

Documentation Updates

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

What Was New in StreamBase 6.5.7

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.7 added the following updates and new features:

Behavior Change in Open StreamBase Command Prompt Here

Release 6.5.0 introduced a menu option in the Studio Package Explorer view: select a project folder, right-click, and from the context menu, select StreamBaseOpen StreamBase Command Prompt Here. This opens a StreamBase Command Prompt with the selected project as its current directory. Starting with release 6.5.7, in 64-bit StreamBase installations, this feature automatically opens a 64-bit StreamBase Command Prompt — that is, a command prompt with %STREAMBASE_HOME%\bin64 first in the PATH, ahead of %STREAMBASE_HOME%\bin.

Changes to the Hotspot Trading System Adapters

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

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

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

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

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

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

MarketFactory Adapter Update

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

What Was New in StreamBase 6.5.6

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.6 added the following updates and new features:

New Tervela Message Network Adapters

The StreamBase Tervela Subscribing Input Adapter allows a StreamBase application to receive messages published to one or more Tervela topics. The adapter has two output ports: one that emits status tuples, and a second that emits tuples representing received Tervela messages. See Tervela Subscribing Input Adapter.

The StreamBase Tervela Publishing Output Adapter allows a StreamBase application to publish Tervela messages to one or more Tervela subjects. See Tervela Publishing Output Adapter.

Alpha Adapter Upgrade

The StreamBase Alpha Trading Systems EMAPI Order Entry adapters were updated to support Alpha Release 4.3.1, which includes two new features. The Order Cancel on Disconnect feature is represented by the cancelOnLogout field added to the schema of several of the adapter's input and output ports, while the Passive Only order feature is represented by the passiveOnly field. See Alpha Trading Systems EMAPI Order Entry Adapter for details.

IBM WebSphere MQ Adapter Property to Acknowledge Publish

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

Version Option for sbargen Command

sbargen --version returns the StreamBase release number.

Server Mode for CSV Socket Writer Output Adapter

The CSV Socket Writer output adapter now has an option to operate in server mode, listening for and accepting connections from remote clients. See CSV Socket Writer Output Adapter.

MarketFactory™ Trading Adapter Upgrade

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

Change for the Hotspot Trading System Adapter

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

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

Documentation Updates

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

What Was New in StreamBase 6.5.5

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.5 added the following updates and new features:

Studio Now Based on Eclipse 3.5.2

Starting with release 6.5.5, the base release of Eclipse that underlies StreamBase Studio was upgraded from 3.5.1 to 3.5.2, which resolves an issue of unresponsive Studio buttons on certain Linux systems. If you add third-party Eclipse plug-ins to Studio, make sure they are compatible with Eclipse 3.5.2.

Oracle 11g Now Supported

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

Typechecking Speedup

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

New Version of Java Client API JAR File

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

Merge Modules for StreamBase .NET Client API Now Delivered

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

StreamBase .NET Libraries Now Selectable in Visual Studio

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

Excel Adapter Updated

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

GAIN GTX Adapter Updated

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

IBM WebSphere MQ and Wall Street Systems Adapters Updated

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

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

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

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

Updates for FIX Adapter's Appia FIX Engine Support

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

New Option for Application Bundler in Studio

For several releases, the sbbundle command has offered a –i option, which allows you to specify a comma-separated list of files or directories in an application's project folder that you do not want included in the bundle. Starting with this release, the application bundling dialog in Studio provides the same option. You can use this feature to exclude the state files for your version control system; for example, for Subversion, enter .svn. See Application Bundling.

Documentation Updates

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

What Was New in StreamBase 6.5.4

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.4 added the following updates and new features:

Windows 7 Supported

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

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_18. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Gain GTX Adapter

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

Microsoft Excel Adapter Updated

The Microsoft Excel External adapter received several updates:

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

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

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

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

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

StreamBase to StreamBase Input Adapter Gains Filtered Subscribe

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

CSV File Reader Adapter Updated

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

Wombat Adapter Updated

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

Lime Citrius Adapter Updated

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

Feed Simulation Data File Options Updated

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

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

Start Menu Items Updated

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

Documentation Updates

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

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

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

What Was New in StreamBase 6.5.3

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.3 added the following updates and new features:

New StreamBase Component Exchange

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

Both methods are described on StreamBase Component Exchange.

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_17. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Studio: New Insert Adapter Dialogs

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

New Timestamp Builder for Feed Simulations

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

Feed Simulations Can Read Binary File Writer Files

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

New FXall Relationship Trading Adapters

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

Update for Wall Street Systems Adapters

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

Update for FIX Adapter with Appia FIX Engine

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

New Automatic HA Feature

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

New Functions in the Expression Language

The StreamBase expression language gained the following new functions:

What Was New in StreamBase 6.5.2

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.2 added the following updates and new features:

New Alpha Trading Systems EMAPI Order Entry Adapters

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

New Alpha Trading Systems EMAPI Market Data Feed Adapter

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

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

Documentation Updates

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

What Was New in StreamBase 6.5.1

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.5.1 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_16. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Studio Warning Message On Opening EventFlow with Missing Imports

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

Studio Now Reopens to the Last Open Tab

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

Update for Lime Citrius Quote Adapter

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

StreamBase .NET Client API Build Changes

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

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

Update for Embedded TIBCO Subscribing Input Adapter

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

Expanded Type Conversions for Embedded TIBCO Adapters

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

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

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

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

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

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

What Was New in StreamBase 6.5.0

Fixes

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

Inherited from Previous Releases

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

New and Updated Features

StreamBase 6.5.0 added the following updates and new features:

 Behavior Changes 
On-Disk Query Table Format Changed

The on disk format for Query Tables has been updated for release 6.5.0. Before migrating your application to 6.5, move all files in your Query Table data directory to a backup location. Then proceed as follows, depending on how you use Query Tables:

  • If your application uses disk-based Query Tables for transient storage, such as for counters or sequence numbers, then move all files out of your Query Table data directory (or specify a new, empty data directory) before migrating your application to this release. StreamBase 6.5 will recreate your Query Tables in the current format.

  • If your application loads a Query Table from a file on startup, perhaps for use as a lookup table, then your table's data is already preserved. Move all files out of your Query Table data directory or specify a new, empty data directory. StreamBase 6.5 will create new format Query Tables, which will be reloaded with data by your application.

  • If your application uses persistent data stored in a disk-based Query Table that was created with StreamBase 6.4 or earlier, then you must extract the persistent data from your current Query Table to a CSV file and reload the data in StreamBase 6.5. Use steps like the following:

    1. Open your application in your current StreamBase release.

    2. Add an Input Stream, Query operator, and CSV File Writer adapter. Connect the Query operator to the Query Table of interest.

    3. Use the Query operator to send a Read operation that reads all rows from the table, and outputs all rows unmodified.

    4. Configure the CSV File Writer adapter to accept the stream from the Query operator and write all rows to disk in CSV format.

    5. Start StreamBase 6.5 using a new, empty data directory. Load a copy of your application, and let it recreate your Query Table.

    6. In StreamBase 6.5, use a CSV File Reader adapter and another Query operator to reload the data from the CSV file into the new Query Table.

    Preserve an installation of your current StreamBase release to read the old Query Table data until you are confident the data has been migrated successfully to release 6.5. Contact StreamBase Support for assistance in implementing this procedure.

Studio's New Handling of .sblayout Files

StreamBase Studio now respects and preserves the layout status it detects for each individual EventFlow application or module. That is:

  • If Studio detects an .sbapp file with no matching .sblayout file, then it draws the canvas based on the layout information in the .sbapp file. On save, Studio stores any changed layout information back to the .sbapp file.

  • If Studio detects an .sbapp file with matching .sblayout file, then it uses the layout information in the .sblayout file to draw the canvas. On save, Studio stores any changed layout information back to the .sblayout file.

As before, you can create separate layout files for one or more application files using StreamBaseEventFlow LayoutExtract to Layout File. The Studio Preference setting to manage layout status now affects only newly created application files going forward. For details, see the rewritten EventFlow Layout Options page.

Studio's Handling of Native Library Files at Project Root

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

Server Now Directly Supports Older Clients Without a Proxy

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

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

Precompiled Archive Files Can Now Be Included in Bundles

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

Server Can Run Bundle That Contains a Precompiled Archive

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

CSV File Reader Adapter Has New Default for Null String

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

External Process Operator

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

 Installation Changes 
New Installer for 64-bit Windows

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

 Studio Look and Feel Changes 
EventFlow XML Format Updated

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

Note

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

Studio Now Based on Eclipse 3.5.1

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

New Welcome Page

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

Studio Tabs Are Now Bold to Show Content

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

Chronicle Connection Data Construct Removed

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

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

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

Use Sub-Fields in Output Settings Properties

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

Use Wildcards in Output Settings Properties

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

Query Operator with Insert Operation Now Takes Expressions

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

Behavior Change: No Default Prefixes in Query and Aggregate Operators

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

Map Operator Accepts the input Qualifier

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

 Declared Schemas 
Declared Schema for Output Streams

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

Declared Schema for Union Operators

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

 New Language Features 
New Table Schemas

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

New Drools Operator

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

New input Qualifier for Dynamic Variables

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

UpdateVariable.alpha + UpdateVariable.beta

input.alpha + input.beta

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

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

Specify Container Connections in Stream Properties

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

Application Launch Improvements

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

Studio's Starting Server Dialog Can Now Be Backgrounded

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

 New SB Manager Perspective 
SB Manager Perspective

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

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

No Welcome Screen for StreamBase Manager

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

StreamBase Manager Help

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

 New SB Trace Debugger Perspective 
New SB Trace Debugger Perspective

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

New Trace Launch Mode

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

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

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

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

Trace Files Now Stored as UTF-8

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

 Studio Usability Updates 
Component Error Message Improvements

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

Better Names for Newly Dropped Java Operators and Adapters

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

Refactor to Named Schema

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

Open StreamBase Command Prompt Here

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

Extensions for the Quick Connect Keyboard Shortcut

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

Updates to Expression Cell Autocompletion

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

Navigate Component Selection History

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

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

Create a Canvas Group From a Single Selection

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

Application Output View Module Selector Organized by Module

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

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

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

Simultaneous EventFlow and Java Debugging

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

Debugger Efficiency Improved

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

 Server New Features 
Performance Improvements in Applications with Wide Schemas

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

Performance Improvements for Many Connected Dequeue Clients

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

sbadmin listConnections Shows Protocol Family Number

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

sbadmin listConnections Shows Connected Stream Name

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

New Support for Slow-Dequeuing Clients

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

Server Configuration File Changes

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

 High Availability Support 
New Feature: Automatic HA

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

New HA Samples

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

 Sample Changes 
JDBC Query Sample Is Now Separate

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

New Log4j Sample

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

 Adapter Changes 
Adapters Removed

The following adapters were removed from the StreamBase base kit:

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

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

 JDBC Changes 
New Environment Variable for JDBC Feed Simulations

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

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

New Default Setting for a JDBC Configuration Parameter

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

 StreamSQL Changes 

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

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

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

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

 API and Expression Language Changes  
API Changes

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

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

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

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

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

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

Expression Language Changes

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

Third-Party Library Changes

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

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

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

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

 Documentation Changes 
Documentation Updates Independent of New Features

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

Properties View Help Button Extended to Global Operators and Adapters

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

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

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

StreamBase 6.4.x Release History

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

What Was New in StreamBase 6.4.14

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.14 added the following update:

Alpha Adapter Upgrade

The StreamBase Alpha Trading Systems EMAPI Order Entry adapters were updated to support Alpha Release 4.3.1, which includes two new features. The Order Cancel on Disconnect feature is represented by the cancelOnLogout field added to the schema of several of the adapter's input and output ports, while the Passive Only order feature is represented by the passiveOnly field. See Alpha Trading Systems EMAPI Order Entry Adapter for details.

What Was New in StreamBase 6.4.13

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.13 added the following updates and new features:

New Heartbeating Feature in C++ and .NET Client Libraries

The C++ and .NET Client Libraries were enhanced to allow enqueue-only clients to enable heartbeating. In previous releases, a C++ or .NET enqueue-only client could lose its connection to StreamBase Server and not discover that fact the next time it enqueued. Now, if an enqueue-only client calls StreamBaseClient::enableHeartbeating(), it detects a lost connection the first time it calls StreamBaseClient::enqueue() after the connection loss.

In addition to the enableHeartbeating() method, two other methods were ported from the Java client API to the C++ and .NET APIs. These newly-added methods are:

  • StreamBaseClient::isConnected()

    Returns true if the client currently has open connections to one or more StreamBase Servers, or false if not.

  • StreamBaseClient::canDequeue()

    Returns true if the client currently has any tuples to return on a dequeue() call, or false if not.

Wombat Adapter Updated

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

IBM WebSphere MQ and Wall Street Systems Adapters Updated

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

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

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

Updates for FIX Adapter's Appia FIX Engine Support

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

What Was New in StreamBase 6.4.12

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.12 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_18. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Updates for Wall Street Systems and IBM WebSphere MQ Adapters

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

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

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

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

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

New Environment Variable Supports Custom Logging

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

Documentation Updates

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

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

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

What Was New in StreamBase 6.4.11

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.11 added the following updates and new features:

Update for FIX Adapter with Appia FIX Engine

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

Update for Lime Citrius Quote Adapter

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

What Was New in StreamBase 6.4.10

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.10 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_17. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Update for the MarketFactory Adapters

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

Update for the JMS Adapters

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

New Function in the Expression Language

The StreamBase expression language gained the following new function:

What Was New in StreamBase 6.4.9

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.9 added the following updates and new features:

New Digitech D3 Streaming Interface Adapter

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

New Alpha Trading Systems EMAPI Order Entry Adapters

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

New Alpha Trading Systems EMAPI Market Data Feed Adapter

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

Update for Lime Citrius Quote Adapter

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

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

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

Documentation Updates

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

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

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

What Was New in StreamBase 6.4.8

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.8 added the following updates and new features:

New MarketFactory Trading Adapters

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

New MarketFactory Enhanced Market Data Input Adapter

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

New IBM WebsSphere MQ Adapters

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

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

New Wall Street Systems Adapters

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

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

Update for Microsoft Excel Adapter

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

Updates for TIBCO Rendezvous Input Adapter

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

Update for the CSV File Reader Adapter

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

Interstream Ordering Now Preserved

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

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

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

What Was New in StreamBase 6.4.7

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.7 added the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_16. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Appia FIX Engine Support for FIX Adapter

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

Update for CSV and Binary File Writer Adapters

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

Update for CSV File Writer Adapter

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

Update for the Comstock Adapter

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

API Change

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

Documentation Updates

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

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

What Was New in StreamBase 6.4.6

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.6 added the following updates and new features:

Update for Lime Citrius Quote Adapter

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

StreamBase .NET Client API Build Changes

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

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

Update for Embedded TIBCO Subscribing Input Adapter

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

Expanded Type Conversions for Embedded TIBCO Adapters

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

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

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

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

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

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

Updates for Embedded TIBCO Adapters

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

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

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

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

New Environment Variable for JDBC Feed Simulations

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

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

Documentation Updates

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

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

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

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

  • New or updated page: Profiler View.

What Was New in StreamBase 6.4.5

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.5 added the following updates and new features:

Synchronized Timestamp Groups in Feed Simulations

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

New Field Serializer Global Operator

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

CSV File Reader Adapter: New Tail Option

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

Wombat Adapter: New Recover Gaps Option

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

Behavior Change for FIX Adapter

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

Update in Code Generated By New Operator and Adapter Wizards

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

Studio on Linux with Firefox 3.x

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

API Changes

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

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

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

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

Documentation Updates

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

What Was New in StreamBase 6.4.4

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.4 added the following updates and new features:

Embedded JMS Reader and Writer Adapters Now in the Base Kit

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

Update for JMS Adapters

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

New EBS Live XML Input Adapter

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

Independent Logging for JMS Embedded and EBS Live Adapters

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

TIBCO Publishing Adapter Update

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

Performance Optimizations for the zip() Functions

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

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

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

What Was New in StreamBase 6.4.3

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.3 added the following updates and new features:

New FXall and LavaFX Adapters

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

New Hotspot Itch Adapter

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

E-Mail Sender Output Adapter Updated

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

Profiling Documentation Updated

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

New Expression Language Functions for Milliseconds

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

New Option for Runtime Tracing

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

Trace Browser Formatting Change

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

New Property for External Process Operator

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

HA Sample Updated

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

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

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

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

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

What Was New in StreamBase 6.4.2

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.2 adds the following updates and new features:

FX Aggregation Framework

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

New Twitter Adapter

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

Python Client API Now Supported

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

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

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

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

    • The 32-bit ActivePython release 2.6 from ActiveState.

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

New Feature in HA Sample

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

What Was New in StreamBase 6.4.1

Fixes

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

Updates from Previous Releases

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

New and Updated Features

StreamBase 6.4.1 added the following updates and new features:

Behavior Change: Debug Mode No Longer Enables ISD

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

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

Studio Configuration Directory Renamed

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

%APPDATA%\StreamBase\StreamBase Studio 6.4.1

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

~/.streambase/streambase-studio-6.4.1

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

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

Studio Can Specify Module Parameters for Top-Level Module

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

Studio: Modules Drawer of Palette View Clarified

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

Studio: Named Schema Displays Clarified

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

Studio: Re-exported Tables Included in Outline View

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

TIBCO Embedded Adapters Now Support Field ID

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

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

Configuration File Module Parameters Can Now Be Enciphered

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

Bundled JDK Now Includes Header Files

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

Python Client API Updates

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

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

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

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

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

What Was New in StreamBase 6.4.0

Fixes

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

Updates from Previous Releases

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

New and Updated Features

EventFlow Format Updated

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

Note

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

 Studio New Features 
Studio Based on Eclipse 3.4

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

Studio UI Changes

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

  • The EventFlow Editor has the following changes:

    • The Named Schemas tab is now named Definitions.

    • There is a new Dynamic Variables tab.

    • The Metadata tab is now the last tab.

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

  • There is a new perspective, SB Trace Browser.

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

Dynamic Variables Now Module Scoped

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

Dynamic Variable Migration

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

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

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

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

New Module Scoped Constants

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

Import Named Schemas and Constants

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

Edit Expression Window

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

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

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

Commenting Out EventFlow Components

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

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

New Profiler View

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

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

New Trace Browser

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

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

Feed Simulation Editor Can Copy Schemas from Existing Streams

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

Asynchronous Option for External Process Operator

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

Support for Module Parameters in Launch Configurations

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

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

New Environment Tab for Launch Configurations

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

Project Property Changes

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

New Icon Overlays for Query Operators and Query Tables

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

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

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

Studio Now Adds STREAMBASE_HOME to Classpath Variables

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

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

New Option for Aggregate Operator

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

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

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

New StreamBase Manager Feature

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

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

 Runtime New Features 
Extended Support for Setting Module Parameter Values

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

The new ways to assign module parameter values are:

Module Parameters in Configuration File

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

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

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

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

New Option for the sbadmin Command

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

New Option for the sbargen Command

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

Client API Changes

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

Changes to Runtime Tracing

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

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

New Metadata Qualifier for Query Table Output Settings

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

  • metadata.rowNumber

  • metadata.tableModificationCount

  • metadata.rowModificationCount

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

New Property to Redirect Stack Traces for Java Operators

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

Expression Language Updates

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

StreamSQL Syntax Updates

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

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

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

 Frameworks Support 
Support for Smart Order Routing Framework

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

 Behavior Changes 
Studio Now Automatically Saves Launch Configurations

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

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

Some Typecheck Errors Not Marked in EventFlow Canvas

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

Resources Folder No Longer Special

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

Studio Configuration Folder on Windows Renamed

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

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

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

%APPDATA%\StreamBase\StreamBase Studio n.m

For Linux, the new configuration folder location is:

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

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

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

  • New TIBCO Rendezvous Subscribing Input Embedded Adapter

  • New TIBCO Rendezvous Publishing Output Embedded Adapter

  • New Vhayu Subscription Adapter

  • JMS Adapter Gains Reconnection Features

  • Hotspot FX Adapter Updated

  • Reuters SFC Adapter Updated

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

  • New Lime Citrius Quote Adapter

  • CSV File and Socket Input Adapters Now Accept Character Entities

  • New Feature for CSV File Writer Adapter

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

  • New UBS FX2B FIX Adapter

  • New Goldman Sachs Electronic Trading FX Adapter

  • New Feature in Reuters RMDS Subscribing Adapter

  • New Feature in Reuters SFC Adapter

  • Wombat Adapter Supports List Data Type

  • CSV File Writer Adapter Supports File Compression

 API Changes and Compiler Support  
API Changes

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

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

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

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

New Key-Value Control Type for Operators and Adapters

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

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_12. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Visual C++ 9.0 Supported for Client Applications on Windows

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

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

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

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

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

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

G++ Version Support on Linux

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

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

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

StreamBase 6.3.x Release History

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

What Was New in StreamBase 6.3.13

New and Updated Features

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

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

This release also included the following update:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_20. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

New Properties to Control the System.stat Stream

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

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

Thread Count Now Shown in Sbmonitor

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

What Was New in StreamBase 6.3.12

New and Updated Features

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

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

What Was New in StreamBase 6.3.11

New and Updated Features

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

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

This release also included the following updates:

Updates and New View for sbmonitor

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

What Was New in StreamBase 6.3.10

New and Updated Features

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

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

This release also includes the following new features and updates:

New Alpha Trading Systems EMAPI Order Entry Adapters

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

New Alpha Trading Systems EMAPI Market Data Feed Adapter

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

Update for CSV and Binary File Writer Adapters

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

Update for the CSV File Reader Adapter

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

New Functions in the Expression Language

The StreamBase expression language gains the following new functions:

What Was New in StreamBase 6.3.9

New and Updated Features

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

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

What Was New in StreamBase 6.3.8

New and Updated Features

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

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

This release also included the following updates:

Better Tracking of Description-Only Changes in Studio

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

Documentation Updates

The StreamBase documentation includes the following updates and corrections:

What Was New in StreamBase 6.3.7

New and Updated Features

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

StreamBase 6.3.7 added the following updates and new features:

New timezoneoffset() Function

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

New Property to Preserve Studio Launch Directory

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

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

C++ Samples Updated

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

Documentation Updates

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

Fixes

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

What Was New in StreamBase 6.3.6

New and Updated Features

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

StreamBase 6.3.6 adds the following updates and new features:

New Deutsche Bank AutobahnFX Adapter

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

FIX Adapter Can Now Retrieve FIX Sequence Numbers

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

HA Heartbeat Adapter Updated

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

Bundled JDK Now Includes Header Files

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

New Property to Redirect Stack Traces for Java Operators

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

C++ Version Support on Linux

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

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

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

`sb-config --cxx` --version

returns

g++ (distro build info) 4.3.3

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

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

returns

g++ (distro build info) 4.2.4

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

make CXX=`sb-config --cxx`

Fixes

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

What Was New in StreamBase 6.3.5

New and Updated Features

StreamBase 6.3.5 included the following updates and new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_12. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

FIX Adapter: Certain Values Read from Configuration File If Null

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

FIX Adapter: New Commands for the Command Port

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

FIX Adapter: Custom Admin Message Interceptor Class

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

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

FIX Adapter: CameronFIX Libraries Updated

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

TIBCO JAR File Included in Base Kit

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

CSV File Writer Adapter's Property View Reorganized

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

Copy Field Names from Compare Schemas Dialog

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

Feed Simulation Now Supports Bzip2 Compression

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

New API for Operator Property Deprecation

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

New Property to Redirect Stack Traces for Java Operators

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

Documentation Updates

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

Fixes

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

What Was New in StreamBase 6.3.4

New and Updated Features

StreamBase 6.3.4 included the following updates and new features:

New Feature: Enciphering Passwords and Parameter Values

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

New Feature: Improved Support for Stored Procedures

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

New TIBCO Rendezvous Subscribing Input Adapter

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

New TIBCO Rendezvous Publishing Output Adapter

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

New Chronicle for Vhayu Subscription Adapter

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

JMS Adapter Reconnection

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

Hotspot FX Adapter Updates

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

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

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

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

Reuters SFC Adapter Updated

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

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

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

StreamBase Studio: New Layout File Warning Dialogs

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

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

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

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

StreamBase Studio: Update to Auto-Completion

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

G++ Version Support on Linux

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

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

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

Fixes

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

What Was New in StreamBase 6.3.3

New and Updated Features

StreamBase 6.3.3 included the following update:

StreamBase Server Run as a Windows Service with Authentication

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

What Was New in StreamBase 6.3.2

New and Updated Features

StreamBase 6.3.2 included the following updates and new features:

Support Added for Re-Exporting Shared Query Tables

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

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

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

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

New Lime Citrius Quote Adapter

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

CSV File and Socket Input Adapters Now Accept Character Entities

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

New Feature for CSV File Writer Adapter

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

Fixes

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

What Was New in StreamBase 6.3.1

New and Updated Features

StreamBase 6.3.1 included the following updates and new features:

New UBS FIX Adapter

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

New Goldman Sachs Electronic Trading FX Adapter

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

New Feature in Reuters RMDS Subscribing Adapter

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

New Feature in Reuters SFC Adapter

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

Wombat Adapter Supports List Data Type

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

CSV File Writer Adapter Supports File Compression

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

Feed Simulation Editor Dialogs Remember Size

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

New Option for the sbbundle Command

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

New Operator.size() Method

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

Documentation Updates

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

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

Fixes

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

What Was New in StreamBase 6.3.0

New and Updated Features

 Platform Changes 
Java 6 Now Required

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

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

New Platform Supported

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

New Installation Documentation for Linux and Solaris Platforms

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

 New List Data Type 
List Data Type Added

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

List-Related Functions Added to Expression Language

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

Studio Enhancements to Support Lists

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

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

or using list array notation with comma-separated values:

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

New Iterate Operator for EventFlow Applications

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

New FOREACH Clause for SELECT in StreamSQL Applications

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

New Custom Function Resolvers for List and Tuple Data Types

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

 Developer Productivity Enhancements 
String Field Lengths Removed

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

Auto-Completion When Editing Expression Fields

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

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

Properties View Function Assistance Overhauled

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

Expression Language Documentation Renovated

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

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

New Schema Compare Feature in Studio

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

New Insert Operator Feature

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

New Application Test Suites Feature

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

Samples Updated

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

 Studio New Features 
Manual Input View Enhancements

The Manual Input view was enhanced with several new features:

Focus Selector View Merged with Outline View

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

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

Outline View Shows Groups

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

Feed Simulation Editor New Feature

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

Feed Simulation from JDBC Data Source Supports Vhayu Velocity

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

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

Unit Test Recording Can Exclude Inactive Streams

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

New Palette View Icons for Global Adapters

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

 Server New Features 
Inner Module Stream Dequeuing and Enqueuing

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

Table Delta Streams

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

New Predicate Dimension for Aggregate Operator

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

Streams Information Shown in sbmonitor

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

New Query Table Replication Sample

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

HA Sample Updated to Demonstrate Symmetrical Deployment

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

New sbd --suspend Option

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

sbc describe Command Extended

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

New Configuration File Parameter for JDBC Data Sources

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

 Frameworks Support 
Support for Smart Order Routing Framework

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

 Adapter Changes 
EBS Adapter

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

FIX Adapter Gains Support for Lists

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

CSV and Regex File Reader Adapters Support File Compression

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

Binary File Writer and Reader Adapters Support File Compression

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

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

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

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

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

Consequences of String Length Removal

As a consequence of the removal of string lengths:

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

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

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

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

Command Line Debugger Removed

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

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

New Timeout Default for Unit Tests

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

Studio: Ctrl+Space Shortcut Redeployed

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

Studio No Longer Autodetects 3.7 Workspace

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

Using 3.7 Clients With 6.3 Proxy Server

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

 API Changes 

StreamBase 6.3.0 included a number of modifications to the StreamBase Client libraries. For details on these changes, see API Changes in 6.3.

Fixes

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

StreamBase 6.2.x Release History

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

What Was New in StreamBase 6.2.5

New and Updated Features

StreamBase 6.2.5 included the following updates and new features:

CSV File and Socket Input Adapters Now Accept Character Entities

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

Reuters SFC Adapter Updated

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

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

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

Documentation Updates

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

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

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

Fixes

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

What Was New in StreamBase 6.2.4

New and Updated Features

StreamBase 6.2.4 included the following updates and new features:

New Feature in Reuters RMDS Subscribing Adapter

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

New Feature in Reuters SFC Adapter

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

Binary File Writer and Reader Adapters Support File Compression

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

New Option for the sbbundle Command

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

New Configuration File Parameter for JDBC Data Sources

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

Documentation Updates

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

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

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

Fixes

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

What Was New in StreamBase 6.2.3

New and Updated Features

StreamBase 6.2.3 included the following updates and new features:

Log4j Logging and Background Mode Servers

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

Documentation Updates

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

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

New EBS Adapter

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

CSV File Writer Adapter New Option

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

CSV File Writer Adapter Enhancement

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

StreamBase to StreamBase Output Adapter Behavior Change

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

  • The first dropped tuple generates an immediate warning.

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

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

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

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

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

Reuters RMDS Subscribing Adapter Update

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

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

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

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

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

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

Fixes

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

What Was New in StreamBase 6.2.2

New and Updated Features

StreamBase 6.2.2 included the following new features:

Support for StreamBase Frameworks

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

Smart Order Routing Framework

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

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

New Studio Menu Item

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

Query Operator: Support for Lookup Expression for Deletes

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

New -z Option for sbprofile

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

What Was New in StreamBase 6.2.1

New and Updated Features

StreamBase 6.2.1 included the following new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Note

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

Runtime Tracing

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

Visual Debugger Enhancements

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

New Feature in StreamBase to StreamBase Adapters

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

Fixes

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

What Was New in StreamBase 6.2.0

New and Updated Features

Installation Changes

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

Developer versus Enterprise Editions

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

Embedded Adapters Now Installed in Base Kit

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

New Installers for UNIX

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

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

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

Both versions of the script proceed as follows:

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

  • Displays the text of the StreamBase license.

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

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

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

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

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

Enhanced Application Output View

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

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

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

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

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

These changes are described in Application Output View.

Feed Simulation Now Supports JDBC Data Sources

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

Output Schema Previewer

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

Changes in the New Project Dialog

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

Ctrl + Mouse Wheel

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

Studio Remembers EventFlow Position and Zoom Level

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

Save EventFlow as PNG Image

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

Class Name Field is Now a Hyperlink

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

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

Deprecated Adapters and Operators Not in Default Palette

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

Refactoring Support Extended

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

Studio Support for Intermediate Stream Dequeuing

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

Feed Simulation Status Shown After Stop

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

New F3 Keyboard Shortcut in Studio

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

StreamBase Server and Runtime Updates
CSV Container Connections

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

Default Maximum for JVM Memory Increased to Support Larger Applications

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

New sysproperty Element for Configuration Files

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

Legacy sbdb Debugger Now Deprecated

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

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

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

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

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

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

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

Updated External Process Operator

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

New Sample

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

Behavior Change for Missing Resource Paths

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

Behavior Change for Some Container Connections

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

Command Line Utility Changes
New sbbundle Command

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

sbadmin Command Changes

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

The sbadmin command was updated to support the new CSV container connection feature, described above. The sbadmin reference page was reorganized for clarity, and to update the description of the suspend and resume feature.

sbfeedsim Command Changes

The sbfeedsim command was updated to support JDBC data sources as input, and to manage the tuple buffer associated with data files and JDBC data source inputs. When running sbfeedsim to generate a default load, you can now specify a comma-separated list of input streams. The command accepts the following new options: –a, –B, –F, and –s, as described on sbfeedsim.

Adapter Changes in 6.2.0
New FIX Adapter

The FIX adapter enables a StreamBase application to connect to a FIX venue, and to send and receive FIX messages. The FIX adapter is described on FIX Adapter.

New Currenex Adapter

The Currenex adapter enables a StreamBase application to connect to a Currenex currency trading venue, and to exchange FIX messages with it. The Currenex adapter is described on Currenex Adapter.

Adapter Changes Inherited from Previous Releases

Release 6.2.0 inherits the following new and updated adapters introduced in prior maintenance releases.

New Hotspot FX Trading System Adapter

This release includes a new adapter that allows a StreamBase application to retrieve market data from, and submit market requests to, a Hotspot FX currency trading system. The adapter is described in Hotspot FX Trading System Adapter and includes a sample, described in Hotspot FX Trading System Adapter Sample. The Hotspot FX Adapter was introduced in release 6.0.5.

Wombat Adapter Updates

The Wombat MAMA Input adapter was updated in release 6.1.3 with several new capabilities and features:

  • The Wombat adapter now supports Wombat MAMA API versions 4.x as well as 3.3.x.

  • The Properties view for the Wombat adapter's icon in StreamBase Studio is now broken into several tabs instead of one long tab.

  • In previous StreamBase releases, after you installed the Wombat adapter's installation kit, you had to place the mama.jar middleware file obtained from your vendor in a certain location for StreamBase to find. Without this step, the Wombat adapter's icon would not appear in the Palette view in StreamBase Studio and an error was placed in the Studio Error Log view.

    Those steps are no longer necessary. The Wombat adapter's icon is now automatically placed in the Palette after installation of the adapter kit. You can drag an adapter instance onto an EventFlow canvas and immediately begin to configure it, without prerequisite steps.

    However, to run an application that uses the Wombat adapter, the vendor's middleware JAR files must still be found in the classpath of the StreamBase Server instance that hosts the application. You can now specify the location of your mama.jar file in the usual way for JAR files, by using jar and library elements in the server's configuration file. See the Wombat adapter's documentation page for complete instructions.

  • The Wombat adapter's documentation was reorganized and updated to reflect these changes. See Wombat MAMA Input Adapter.

Documentation Updates
Link Underlining in Documentation

In previous releases, StreamBase documentation pages were styled in a way that disabled the underlining of hyperlinks for all users. Starting with this release, StreamBase documentation no longer applies a style to hyperlinks, and now honors the link decoration settings of the system browser.

For UNIX and for Windows when viewing HTML documentation, link decoration is determined by the settings of the system default browser. For Eclipse Help and the Help Viewer under Windows, link decoration is determined by the settings of Internet Explorer, whether or not it is the system default browser.

API Changes

StreamBase 6.2 included a number of modifications to the APIs for building custom operators and adapters. For details on these changes, see API Changes in 6.2.

Fixes

StreamBase 6.2 also fixed several product limitations, as described in the Limitations Resolved in 6.2.x section of the Release Note Archives.

StreamBase 6.1.x Release History

This section lists the significant changes in the StreamBase 6.1.x release series.

What Was New in StreamBase 6.1.7

StreamBase 6.1.7 was a maintenance release. See Limitations Resolved in 6.1.x for a list of issues resolved in this release.

What Was New in StreamBase 6.1.6

New and Updated Features

StreamBase 6.1.6 included the following updates and new features:

Query Operator: Support for Lookup Expression for Deletes

In StreamBase Studio, in a Query operator associated with a Query Table, you can now select Expression from the Where drop-down list when Operation is set to Delete. This allows you to specify a where-clause for deletes as well as for writes and reads.

New -z Option for sbprofile

The sbprofile command now offers the –z option, which specifies that information for all operators is to be printed, even for operators that have accumulated zero processing time.

Reuters RMDS Subscribing Adapter Update

The Reuters RMDS Subscribing adapter was updated to use the newest RFA/Java 6.3.0.E2 library from Thompson Reuters. This corrects errors when subscribing to market feed data with very large images.

CSV File Writer Adapter New Option

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

StreamBase to StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase to StreamBase output adapter has new behavior for warning about dropped tuples, as described in Dropped Tuple Warning Behavior.

Fixes

StreamBase 6.1.6 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.5

New and Updated Features

StreamBase 6.1.5 included the following new features:

Support for StreamBase Frameworks

StreamBase frameworks are fully functional, customizable reference applications. A framework provides a core StreamBase application with all required supporting modules, operators, and adapters that together illustrate a best-practices approach to solving a specific event processing problem. All StreamBase frameworks include documentation. A framework may also include a test suite, a data simulation environment, and a graphical user interface. Frameworks are delivered as separate add-on packages with a separate installer.

Smart Order Routing Framework

This release makes available the Smart Order Routing (SOR) framework. This framework accepts orders from a FIX engine, classifies them for routing according to conditions and rules you define, then sends execution orders to venues based on your routing algorithms. The SOR framework supports a real-time market data model, which you can use to capture, aggregate, analyze, and track the state of the market. The framework adds market data to each order as it is processed for routing. The SOR framework includes an order state manager that provides real-time data about the state of each order throughout the routing process.

Contact StreamBase Systems to obtain an evaluation copy of the Smart Order Routing framework.

New Studio Menu Item

StreamBase Studio now includes a new menu item, FileLoad StreamBase Framework. Use this item to load a framework into Studio after you run both StreamBase and framework installers.

Fixes

StreamBase 6.1.5 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.4

New and Updated Features

StreamBase 6.1.4 included the following new features:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Note

StreamBase Systems does not recommend using Sun JDK versions 1.6.0_04 through 1.6.0_07 because of a JDK bug that interferes with the operation of Eclipse-based applications, including StreamBase Studio. For reference, this bug is tracked in the Eclipse bug database as number 214092, and in Sun's Java bug database as number 6614100. The bug was fixed as of Sun JDK release 1.6.0_10.

Default Maximum for JVM Memory Increased to Support Larger Applications

The default maximum JVM memory for running StreamBase Server was increased from 256 MB to 512 MB, to accommodate larger StreamBase applications. You can adjust or override this setting by editing the java-vm section of the server configuration file. As a consequence of this change, the minimum recommended memory for workstations running StreamBase Studio or StreamBase Server is now 1 GB.

New FIX Adapter

The FIX adapter enables a StreamBase application to connect to a FIX venue, and to send and receive FIX messages. The FIX adapter is described on FIX Adapter.

New Currenex Adapter

The Currenex adapter enables a StreamBase application to connect to a Currenex currency trading venue, and to exchange FIX messages with it. The Currenex adapter is described on Currenex Adapter.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Enable event port setting enables a connection event output port for both adapters. You can monitor the output stream on this port to determine the status of the connection between StreamBase Servers that these adapters implement. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

EventFlow Editor: Tooltip for Modules Improved

The tooltip popup text for EventFlow modules now shows the expected schema and assigned stream whether or not the module has passed typechecking.

Link Underlining in Documentation

In previous releases, StreamBase documentation pages were styled in a way that disabled the underlining of hyperlinks for all users. Starting with this release, StreamBase documentation no longer applies a style to hyperlinks, and now honors the link decoration settings of the system browser.

For UNIX and for Windows when viewing HTML documentation, link decoration is determined by the settings of the system default browser. For Eclipse Help and the Help Viewer under Windows, link decoration is determined by the settings of Internet Explorer, whether or not it is the system default browser.

Fixes

StreamBase 6.1.4 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.3

New and Updated Features

StreamBase 6.1.3 included the following new features:

Wombat Adapter Updates

The Wombat MAMA Input adapter was updated with several new capabilities and features:

  • The Wombat adapter now supports Wombat MAMA API versions 4.x as well as 3.3.x.

  • The Properties view for the Wombat adapter's icon in StreamBase Studio is now broken into several tabs instead of one long tab.

  • In previous StreamBase releases, after you installed the Wombat adapter's installation kit, you had to place the mama.jar middleware file obtained from your vendor in a certain location for StreamBase to find. Without this step, the Wombat adapter's icon would not appear in the Palette view in StreamBase Studio and an error was placed in the Studio Error Log view.

    Those steps are no longer necessary. The Wombat adapter's icon is now automatically placed in the Palette after installation of the adapter kit. You can drag an adapter instance onto an EventFlow canvas and immediately begin to configure it, without prerequisite steps.

    However, to run an application that uses the Wombat adapter, the vendor's middleware JAR files must still be found in the classpath of the StreamBase Server instance that hosts the application. You can now specify the location of your mama.jar file in the usual way for JAR files, by using jar and library elements in the server's configuration file. See the Wombat adapter's documentation page for complete instructions.

  • The Wombat adapter's documentation was reorganized and updated to reflect these changes. See Wombat MAMA Input Adapter.

New Hotspot FX Adapter

Release 6.1.3 inherited from release 6.0.5 the new adapter for connecting to the Hotspot FX currency trading system. See Hotspot FX Trading System Adapter in the Adapters Guide.

Feed Simulation Editor Update

When creating or editing a feed simulation, when you specify a schema for an existing stream using the Copy Schema From dialog, the name of the stream is now automatically filled in.

New Keyboard Shortcut in Studio

In Studio, in an EventFlow application with modules, you can now select the module icon and press F3 to open that module's EventFlow file. The same command is also now found in the Diagram menu as Open Referenced Application.

Fixes

StreamBase 6.1.3 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.2

New and Updated Features

StreamBase 6.1.2 was primarily a maintenance release, and included the following updates:

SSH Keyboard-Interactive Authentication Now Supported

Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. StreamBase Studio now also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the WindowPreferences dialog, on the StreamBase StudioLaunching page. See Launching Panel for details.

Behavior Change for Some Container Connections

For stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

Expression Language Addition

This release adds the new_tuple() function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language Functions for details.

API Changes

In preparation for anticipated new features, some methods in the Operator and SBPropertyDescriptor classes in the Java Client library were marked deprecated. There is no behavior change in the API for release 6.1.2.

Fixes

StreamBase 6.1.2 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.1

New and Updated Features

StreamBase 6.1.1 was primarily a maintenance release, and included the following updates:

Client API Now Added by Default

The New StreamBase Project dialog was changed to enable support for the StreamBase Client API and StreamBase Tests by default.

Expression Language
  • The expression language gained a new function, today_utc().

  • The documentation for the coalesce() function was updated.

Studio Run Configuration Dialog

Release 6.1 added the Containers tab to the StreamBase Application section of the Run Configuration dialog. Release 6.1.1 added a Duplicate button to the Container Connections section of that tab, and widened the Add and Edit dialogs to better accommodate long container names. See The Containers Tab for more on this new feature.

Feed Simulation Editor

When editing a feed simulation, if you select the Default generation method, the controls in Data rate section are now dimmed.

Documentation Updates

The following documentation pages were clarified since release 6.1.0:

Fixes

StreamBase 6.1.1 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

What Was New in StreamBase 6.1.0

New and Updated Features

Enhanced High Availability Support

StreamBase 6.1.0 added or enhanced several features that can be used when designing clustered and highly available StreamBase applications.

More Than Two Nodes for HA Configurations

You can now connect three or more StreamBase Server instances in a highly available cluster. This change is implemented in two features, the HA Heartbeat Adapter, and the syntax for addressing multiple StreamBase URIs.

When setting up HA monitoring with the HA Heartbeat adapter, you must still designate one instance of the HA Heartbeat adapter as the heartbeat server. The change is that you can now connect more than one HA Heartbeat adapter as client to the heartbeat server. See HA Heartbeat Input Adapter.

When using the sbc utility or a custom-written client based on the StreamBaseClient API, you can now address two or more StreamBase Server instances in the same command by using a comma-separated list of StreamBase URIs. See the sburi reference page for details. The following example uses StreamBase URI shortcuts to request status information from four StreamBase Server instances running on four TCP ports on the default host, localhost:

sbc -u :9600,:9700,:9800,:9900 status
Reliable Stream to Stream Container Connections Using JMS

You can now connect two streams in containers on separate servers, passing through your site's Java Message Service (JMS) infrastructure. This feature allows you to use the reliable delivery feature of JMS to ensure delivery of StreamBase tuples. To use this feature, specify two container connections:

  • From StreamBase Server A to JMS.

  • From JMS to StreamBase Server B.

StreamBase supports JNDI-style JMS URIs, as described in Connecting Container Streams Through JMS. You can make the two JMS connections either in the server configuration files of two StreamBase Servers, or on the command line with the sbadmin addContainer command as described on the sbadmin reference page.

New HA2 Sample

Release 6.1 added a second HA sample, which demonstrates the following:

  • Ensuring that an application is running on one or the other of two servers, where the application requires access to a disk-based query table.

  • Testing for the presence of an application in another container and starting the application if it is not found.

  • Using the External Process Command Line operator to run commands specific to high availability design patterns.

See High Availability Samples.

New Sequence Operator

A new operator was added to the Operators drawer in the Palette view in Studio. To each passing tuple, the Sequence operator adds a field that contains a unique identifier generated for that tuple. You can use the identifier field downstream as required by your application, such as to generate a keyword for tuples before storing them in a query table. You can link two or more Sequence operators together to share the state of the counter. See Using the Sequence Operator.

For StreamSQL, the functionality of the Sequence operator can be implemented with a dynamic variable, as described in Using Dynamic Variables to Implement a Sequence Operator.

Per-Container Data Directories

A data directory is a file system location where a running StreamBase Server instance stores the files that implement disk query tables. Starting with release 6.1, you can specify a separate data directory location for each container, using either the new datadir server configuration file attribute, or interactively with sbadmin addContainer command options. See the StreamBase Server Configuration File XML Reference and sbadmin reference pages. This feature is illustrated in the new HA2 sample, described above.

Per-Container Module Directories

A module directory is a file system location containing external application modules to be used at run time. You can now specify a separate module directory for each container, using the --moduleSearch option for the sbadmin addContainer command. See the sbadmin reference page.

New –C Option for sbc list

The sbc list command now accepts a new option, –C container-name, which lists the streams and operators for the specified container. See the sbc reference page. For example, the following command lists the contents of the container named mainapp on the default server and port:

sbc list -C mainapp
New HA Timeout Variables

Several new environment variables and Java properties were added to support fine-grained control of timeouts for clients connecting to StreamBase Servers. See StreamBase Environment Variables and StreamBase Java System Properties.

Improvements to the External Process Operators

The External Process Java operator was added in release 5.1, and the External Process Command Line operator was added in 6.0. These operators provide a way for StreamBase applications to run arbitrary operating system commands as if typed at the shell command prompt for the current operating system. This feature is especially useful in HA application contexts, where an application in one container might need to send an sbadmin command to an application in another container or on another StreamBase Server.

In previous releases, these operators did not appear in the Palette in Studio, but were delivered as JAR files that had to be added to the Java Build Path of your Studio projects. Starting with release 6.1, these operators now appear in the Global Operators & Adapters Palette drawer, and can be dragged into your EventFlow canvas like any other operator. Both operators are described on the same Authoring Guide page, Using the External Process Operator.

In release 6.1 in both operators, you can now specify the prefix prepended to input tuple fields, command argument fields, and environment variable fields, if you include these fields in the outgoing tuple. In the External Process Command Line operator, you can now optionally include the specified command line in the outgoing tuple.

StreamBase Studio Updates
New Real Time Profit and Loss Demo

The SB Demos perspective has a new member, the Real Time Profit and Loss demo.

Launch Applications in Containers from Studio

Studio 6.1 introduced the ability to run separate applications or modules in separate containers when launched to run from Studio. Studio still runs only one instance of StreamBase Server at a time, but if you partition your application into separate containers for deployment, you can now run and test those multi-container applications in Studio. This feature also allows you to make stream to stream or other connections between containers at launch time.

The limitations are that the primary application still runs in a container named default, and that the Studio visual debugger cannot follow a debugging thread across container lines. See The Containers Tab for more information.

Palette Drawer Renamed to Global Operators & Adapters

The Palette drawer called Global Adapters in previous releases was renamed to Global Operators & Adapters. This drawer now contains icons for:

  • Each embedded adapter delivered in the base StreamBase kit.

  • Each adapter you installed from separate installation kits.

  • Java operators usable in any project in your workspace, delivered in the base StreamBase kit, like the External Process operators described in the previous section.

Improved Support for Nested and Anonymous Schemas

StreamBase Studio 6.1 extended and improved the support for hierarchical data and nested schemas first offered in release 6.0.

  • In 6.0, you could only use a named schema to define a field of type tuple in a schema definition. Release 6.1 adds the ability to define a field of type tuple in the Edit Schema tab, and to define the individual fields of the resulting anonymous tuple.

  • You can now specify nested tuples when defining the schemas for feed simulations. See Using the Feed Simulation Editor.

  • You can now specify nested tuples in setting up a unit test, when defining both the input schemas for the test and the output for the test to validate against. See Using the StreamBase Test Editor.

  • Studio now correctly interprets CSV files that have nested layers, and can now be set to interpret flat CSV files as if they were nested. See Map to Sub-Fields Option.

See Schema Overview to understand the different schema-related terms.

Schema Table Editing Improvements

All the schema editing tabs or dialogs in Studio 6.1 now support the tuple data type, and have the following usability improvements:

  • All schema editing tables now have a new Add child button () to add new sub-rows to a row defined with the tuple data type.

  • Pressing the Insert key now adds a row to the top-level schema, or adds a sub-row to a tuple, depending on the currently selected row.

  • The current cell is now highlighted with a border.

  • In navigation mode (when you're not editing cell contents), you can use the arrow keys to navigate in four directions in the table.

  • In cell edit mode, the Tab key navigates across, then down the table, including any tuple data type sub-rows, to the end of the table. Shift+Tab navigates backwards.

  • You can select one or more rows in any schema table editor, copy them to the Studio clipboard, and paste them to the same schema table or to another schema table editor for another component. Pasted rows are always pasted to the end of the table's top level, independent of the current row location, and independent of any nested tuples in the schema.

New Filter for Application Output View

In the SB Test/Debug perspective, the Application Output view now has a filter field that accepts a regular expression to limit the display of rows in the view. The filter expression defines a strict string match, and must include wildcard characters to include parts of the row you are not filtering.

For example, when running the Best Bids and Asks sample, the filter *symbol=T?B* matches all rows containing the string symbol= followed by T, any character, then B, surrounded on both sides by any string:

Use the clear button to empty the filter field and restore the full output view.

Pause and Resume Feed Simulations

The Feed Simulation view in the SB Test/Debug perspective now has a Pause button that lets you temporarily suspend a running feed simulation. When paused, the Pause button changes to a Resume button. The Pause/Resume button applies only to the selected feed simulation file in the view.

Feed Simulations Automatically Paused While Debugging

While using Studio's Visual Debugger on an application with breakpoints set, when the first breakpoint is reached, Studio prompts for permission to pause all the application's feed simulations. In most cases, you can respond Yes, and then step through your application using tuples already placed in the input queue by the feed simulation before it was paused.

In large applications with several input queues each fed by a different feed simulation, you might not want to have all the application's feed simulations paused. In this case, respond No, and then control which feed simulations are paused using the Pause/Resume button described above.

Reuters Schema Designer View Added

The StreamBase Studio SB Authoring perspective now includes the Reuters Schema Designer view, which allows you to browse and discover available RMDS data on your network, and to create a StreamBase schema from a selected set of discovered field identifiers. This view was previously available only in StreamBase Reuters Edition, but as of release 6.1, the view became part of standard StreamBase Studio. This view is described in Thomson Reuters Schema Designer View.

RFA Configuration Wizard Added

The RFA/Java Configuration wizard, previously available only in StreamBase Reuters Edition, is now part of standard StreamBase Studio. You start the wizard by running FileNewRFA/Java Configuration File, or by selecting the link in the top right corner of the Reuters Schema Designer View. This wizard lets you test RMDS connectivity and configure your system's RFA/Java configuration without leaving Studio. The wizard is described in Thomson Reuters RFA/Java Configuration Wizard.

Full Overlay Icons Now Supported

Release 6.0 added support for customized Palette and canvas icons for your custom operators and adapters. In Release 6.1, this support was extended with a new option. In the Metadata tab of the EventFlow Editor, if you specify a 24x24 pixel image file in the Canvas Overlay field, that image is overlaid as before in the lower right corner of the operator's canvas icon. If you specify a 48x48 pixel image file, it now replaces the operator's canvas icon.

System Changes
Changes to the sbadmin Command

The sbadmin utility has the following new features and updates:

  • The addContainer command has a new --datadir option to support per-container data directories, as described above.

  • The addContainer command adds syntax support for making container connections that use JMS reliable connections.

  • The saveContainer command is now deprecated and may be removed in a future release. For identical functionality, use the sbargen utility.

Expression Language Changes

Release 6.1 introduced the following new functions to the StreamBase expression language: trim(), ltrim(), rtrim(), upper(), lower(), inet_aton(), and inet_ntoa().

There is now a two-argument version of round() that behaves much like the round() function in Microsoft Excel.

Documentation clarifications and updates were made for the count(), openval(), closeval(), and systemproperty() functions. The expression language is documented in StreamBase Expression Language Functions.

Server Configuration File Change for JDBC Data Sources

In previous releases, two sets of server configuration file parameters in the data-source section for JDBC data sources were mutually exclusive. Starting with release 6.1, you can use the jdbc-batch-size and jdbc-reconnect-* parameters for the same JDBC connection.

Adapter Changes
Reuters Embedded Input Adapters Now in Base Kit

The Reuters RMDS Subscribing Adapter and the (deprecated) Reuters Subscribing Adapter are now installed as part of the base StreamBase installation package. In previous releases, both adapters had separate installation kits. See Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

New Option for Binary and CSV Output Adapters

The Binary File Writer Output Adapter and the CSV File Writer Output Adapter both have a new Sync on flush option in the adapter settings tab in the Properties view. This option ensures that operating system buffers are written to disk on a flush event, but at the expense of a performance penalty. See Binary File Writer Output Adapter and CSV File Writer Output Adapter.

Messages from Adapters Now Have Identifying Prefixes

Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) are now prefixed with a string that identifies the adapter instance sending the message.

JMS Embedded Output Adapter Change

If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (__JMSServerName and __JMSDestinationName).

Sample Changes
Counter Sample Removed

The StreamBase sample formerly installed in sample/counter was removed. This sample demonstrated a way to add a sequence field to each passing tuple, but that functionality is now provided by the new Sequence operator described above.

New Samples for Pattern and Sequence Operators

When you load the operator sample package, the resulting Studio project includes sample EventFlow and documentation files to illustrate most operators and data constructs in the Studio Palette view. With release 6.1, this sample package includes samples for the Pattern and Sequence operators.

New HA2 Sample

Release 6.1 includes a new sample in sample/ha2, which is described above in Enhanced High Availability Support and in High Availability Shared Disk Access Sample.

Client Library Changes
Java Client Library Changes

In release 6.1, in the StreamBaseAdminClient class, modifyApplication() and modify() were deprecated. Use addContainer() instead.

In the Tuple class, the getFields() method was previously defined as being able to throw a TupleException. The getFields() method can no longer throw this exception, and the throw signature has been removed. If your code has a try-catch block specifically for this exception, remove the try-catch block.

Changes in All Client Libraries

In the Java, C++, and .NET Client libraries, the flushBuffer() method of the StreamBaseClient class was modified to return a helpful error message if called before enqueuing was enabled for a stream.

Fixes

StreamBase 6.1 also fixed several product limitations, as described in the Limitations Resolved in 6.1.x section of the Release Note Archives.

StreamBase 6.0.x Release History

This section lists the significant changes in the StreamBase 6.0.x release series.

What Was New in StreamBase 6.0.8

StreamBase 6.0.8 was a maintenance release. See Limitations Resolved in 6.0.x for a list of issues resolved in this release.

What Was New in StreamBase 6.0.7

New and Updated Features

StreamBase 6.0.7 included the following new features and updates:

CSV File Writer Adapter New Option

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

StreamBase-to-StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase-to-StreamBase output adapter has new behavior for warning about dropped tuples, as described in Dropped Tuple Warning Behavior.

Fixes

StreamBase 6.0.7 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.6

New and Updated Features

StreamBase 6.0.6 included the following new features and updates:

Bundled JDK Version Updated

The version of the Sun JDK installed for private use by StreamBase is now 1.6.0_10. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.

Note

StreamBase Systems does not recommend using Sun JDK versions 1.6.0_04 through 1.6.0_07 because of a JDK bug that interferes with the operation of Eclipse-based applications, including StreamBase Studio. For reference, this bug is tracked in the Eclipse bug database as number 214092, and in Sun's Java bug database as number 6614100. The bug was fixed as of Sun JDK release 1.6.0_10.

Default Maximum for JVM Memory Increased to Support Larger Applications

The default maximum JVM memory for running StreamBase Server was increased from 256 MB to 512 MB, to accommodate larger StreamBase applications. You can adjust or override this setting by editing the java-vm section of the server configuration file. As a consequence of this change, the minimum recommended memory for workstations running StreamBase Studio or StreamBase Server is now 1 GB.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Enable event port setting enables a connection event output port for both adapters. You can monitor the output stream on this port to determine the status of the connection between StreamBase Servers that these adapters implement. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

Fixes

StreamBase 6.0.6 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.5

New and Updated Features

StreamBase 6.0.5 included the following new features:

New Option to Reduce Latency of Communication Between Server and Clients

You can reduce the latency of communication between StreamBase Server and StreamBase clients by means of a new configuration option and, for Java clients, a system property.

Set the environment variable STREAMBASE_TCP_NODELAY to true to disable the Nagle algorithm on network connections. In addition, for Java clients, you can set the system property streambase.tcp.nodelay to true. While it is best to set STREAMBASE_TCP_NODELAY on both the client and server, setting it on the server is often more important than setting it on the client.

Note

Disabling the Nagle algorithm can improve latency characteristics, but it can also make network utilization less efficient. This may reduce the maximum throughput rates for a given network interface.

New Hotspot FX Trading System Adapter

This release introduced a new adapter that allows a StreamBase application to retrieve market data from, and submit market requests to, a Hotspot FX currency trading system. The adapter is described in Hotspot FX Trading System Adapter and includes a sample, described in Hotspot FX Trading System Adapter Sample.

Fixes

StreamBase 6.0.5 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.4

New and Updated Features

StreamBase 6.0.4 included the following updates:

SSH Keyboard-Interactive Authentication Now Supported

Previous releases of StreamBase Studio supported connecting to a remote StreamBase Server instance by means of standard SSH password authentication. Starting with release 6.0.4, StreamBase Studio also supports the SSH keyboard-interactive authentication method. Specify the SSH authentication method in the WindowPreferences dialog, on the StreamBase StudioLaunching page. See Launching Panel for details.

Behavior Change for Some Container Connections

Starting with release 6.0.4, for stream to stream connections between containers running in separate StreamBase Servers, there is new schema matching behavior, as described in Schema Matching for Container Connections. For stream to stream connections between containers in the same StreamBase Server, there is no change in schema matching behavior.

New Feature in StreamBase to StreamBase Adapters

The StreamBase to StreamBase Input and Output adapters have a new feature in the Adapter Settings tab of the Properties view. The new Schema matching setting allows you select between two ways to match the schemas of the outgoing and incoming streams. For details, see the Properties section of StreamBase to StreamBase Input Adapter and StreamBase to StreamBase Output Adapter.

JMS Embedded Output Adapter Change

If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (__JMSServerName and __JMSDestinationName).

Messages from Adapters Have Identifying Prefixes

Log messages from embedded adapters (seen on the terminal that starts the containing StreamBase Server, or in the Studio Console view) have as a prefix a string that identifies the adapter instance sending the message.

Expression Language Addition

This release adds the new_tuple() function, which you can use to modify a small number of nested fields in a tuple, leaving the other fields unchanged. See StreamBase Expression Language Functions for details.

Java Client Library Changes

In the Tuple class, the getFields() method was previously defined as being able to throw a TupleException. The getFields() method can no longer throw this exception, and the throw signature has been removed. If your code has a try-catch block specifically for this exception, remove the try-catch block.

Changes in All Client Libraries

In the Java, C++, and .NET Client libraries, the flushBuffer() method of the StreamBaseClient class was modified to return a helpful error message if called before enqueuing was enabled for a stream.

Documentation Updates

The Visual C++ settings for building custom functions and client applications with the StreamBase Client library were updated and moved to a separate page, Configuring Visual C++.

Fixes

StreamBase 6.0.4 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.3

New and Updated Features

StreamBase 6.0.3 was primarily a maintenance release. It also included the following updates to the documentation:

Fixes

StreamBase 6.0.3 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.2

StreamBase 6.0.2 was a maintenance release. See Limitations Resolved in 6.0.x for a list of issues resolved in this release.

What Was New in StreamBase 6.0.1

New and Updated Features

StreamBase 6.0.1 included the following new features:

Migration Issue with Dynamic Variables

If your EventFlow or StreamSQL application uses dynamic variables, there may be an issue when migrating your applications. Previous releases allowed you to use the same name for variables, field names, and stream names. Release 6.0 introduced support for hierarchical tuples, and introduced self-referencing dynamic variables. These features were added at the cost of the possibility of ambiguity in resolving the names of identically named objects. For details on this issue, including workarounds and best practice recommendations, see the entry for SB-11437 in the 6.0.1 Release Note Archives.

Visual Debugger Display Updates

Release 6.0.1 introduced execution path display browsing for the visual debugger. In release 6.0, the visual debugger highlighted the top suspended operator in the EventFlow canvas when a breakpoint was reached. In release 6.0.1, the full execution path leading to the suspended operator is highlighted. If you select a suspended operator, Studio highlights it with a border. The top executed component is also bordered.

EventFlow paths are thread-specific. This means that if execution switches to a new thread (for example, at a multi-threaded operator), the path display in the previous thread is removed and a new path starts at the new thread's starting point (for example, a multi-threaded operator).

In the case of branching paths, all branches are shown, if they are in the same thread. The last executed path can be identified by its top operator, which is highlighted with a border.

Output streams are now steppable. This improves the clarity of the execution path, as well as providing a complete path while stepping through multi-module applications. In release 6.0, it was possible only to step up to an output stream, but not over it. In 6.0.1, it is possible to step over output streams. If an output stream is the last executable operator in a multi-module application, the application can only be resumed after stepping over such operator. That is, further stepping is disabled.

Chronicle Support for Vhayu Velocity

This release added Vhayu Velocity versions 6.4 and later to the external event-store databases supported by StreamBase Chronicle. Contact your StreamBase Systems representative for more information on the Chronicle for Vhayu add-on kit.

Chronicle Support for Reuters RTCE

The Chronicle for Vhayu kit also provides support for the Reuters Tick Capture Engine, which is powered by Vhayu Velocity. Contact your StreamBase Systems representative for more information on StreamBase's support for RTCE.

JDBC Support for Sybase IQ

This release added support for JDBC access to Sybase IQ version 12.7. This supplements the existing support for JDBC access to Sybase ASE version 12, and the Chronicle for Sybase RAP add-on kit.

New HTTP and IRC Embedded Input Adapters

This release added two embedded input adapters to the IP Adapters installation kit. The HTTP adapter reads HTTP protocol messages from a TCP stream and converts them to tuples, optionally filtered by a keyword. The IRC adapter does the same for IRC protocol messages.

Fixes

StreamBase 6.0.1 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

What Was New in StreamBase 6.0.0

What Was New in StreamBase Reuters Edition 6.0

StreamBase Reuters Edition 6.0 included the following new features:

New Reuters RMDS Publishing Output Adapter

The new Reuters RMDS Subscribing Adapter allows a StreamBase application to publish market data to RMDS 6 servers. This adapter complements the existing StreamBase Managed Publishing Adapter for Reuters RFA, which supports RMDS 5. The Reuters RMDS Publishing Adapter is an embedded adapter represented as an icon on the canvas in StreamBase Studio, and runs in the same process as the StreamBase application. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter for more information.

New Reuters Messaging Adapter

The new Reuters Messaging adapter gives a StreamBase application the ability to communicate with existing users of the Reuters Messaging network via instant messages. This external adapter, for Windows only, is provided in a separate installation kit.

RTIC Limitations Lifted

Previous releases limited connectivity to RTIC servers unless Studio was configured to use a Java 1.6 JRE. StreamBase Reuters Edition 6.0 now ships embedded with Sun JRE 1.6.0_03, which lifts the RTIC restrictions.

New StreamBase Features

StreamBase Reuters Edition 6.0 inherited all the new and updated features of the underlying StreamBase release described below.

New and Updated Features

New Features
Visual Debugger

Starting with release 6.0, StreamBase Studio includes a visual debugger for EventFlow applications. In the SB Test/Debug perspective, standard Eclipse debugger views can now be used for debugging EventFlow applications, including the Debug, Breakpoints, and Variables views. You can set breakpoints on arcs in the application. When you run an application in debug mode, you can stop on breakpoints, pause the application, step through the application, and step into or step over modules. The Variables view shows tuple contents as execution passes through various processing stages. With the debugger running, an execution stack is preserved for the application as a whole, which allows you to review the steps of your debugging session and return to any step. The Variables view and breakpoint highlighting in the EventFlow diagram are coordinated with selections in the execution stack. See Using the EventFlow Debugger.

In previous releases, the Debugger View contained the command line debugger, sbdb. Starting with release 6.0, the Debugger View was removed from StreamBase Studio. The sbdb command is still delivered as a command line tool for use outside of Studio, but its use is deprecated and it may be removed in a future release.

Unit Testing of Modules in StreamBase Studio

Starting with release 6.0, you can develop unit tests for StreamBase modules to confirm that your modules return the expected result tuple given known input streams. You can create a unit test in Studio by creating a test file in .sbtest format, using the new graphical StreamBase Test Editor, or by recording the input and output streams of a running application and saving the results as a test file. You can edit saved tests in Studio with the Test Editor. The new sbtest command provides a way to run a saved test file from the command prompt. See StreamBase Tests (sbtest).

Profiling Support

StreamBase now supports profiling of StreamBase applications, which lets you gather runtime statistics for an instance of StreamBase Server over the course of an entire run. The sbmonitor window has a new profiling view. Use the new sbprofile command to gather profiling statistics from a running server, and to display a saved statistics file in CSV or simple HTML table format. See Profiling.

Named Schemas

Starting with release 6.0, you can define schemas as named objects at the application level. Named schemas and their fields can be referenced in any component that takes a schema, and in expressions throughout EventFlow and StreamSQL applications. The EventFlow Editor now includes a Named Schemas tab that lets you store named schemas for reuse throughout your application. In StreamSQL, you can create named schemas using the new CREATE SCHEMA statement. See Schema Overview.

Unnamed schemas are still supported, and are now called private schemas in Studio and anonymous schemas in StreamSQL. A private schema is accessible only to the component in which it is defined, and to connected downstream components in the application flow.

Hierarchical Data and New Tuple Data Type

StreamBase now supports hierarchical data by means of a new data type, tuple, which is a collection of one or more fields defined in an associated schema. A tuple schema can contain one or more nested schemas (including named schemas, described above) to an arbitrary depth. You can access tuple data in StreamBase expressions and in CSV data files. The Manual Input view in Studio's SB Test/Debug perspective shows a tuple field indented and containing its own input fields.

Important

Hierarchical data and nested schemas are not yet supported when using feed simulations or with the new Unit Test feature described above.

Logging Support for Java Code

When developing custom Java clients, operators, adapters, or functions, you can now take advantage of the Java logging facility used internally by StreamBase code. The existing com.streambase.sb.util.Msg is deprecated and now delegates to the new logging facility. The new logging facility is based on SLF4J, which can be extended to support other Java logging interfaces; the default logging implementation is logback. The new logging facility is embedded in sbclient.jar, which makes it available for all custom StreamBase Java code. Start logging with a call to Operator.getLogger(). Studio's Java code generation wizards now include examples of using getLogger(). You can also use the logging facility in conjunction with the new Log Output Adapter described below. See Using StreamBase Logging.

Platform Support Changes
  • StreamBase 6.0 includes support for the 64-bit version of Windows Server 2003 for both development and deployment. See Installing and Running StreamBase on 64-Bit Windows for more information.

  • Red Hat Enterprise Linux AS 3.0 and Novell SUSE Linux Enterprise Server 9 are now deprecated as platforms for new development or deployment.

JDK 1.6 Bundled for All Platforms

This release has the following changes to the Sun JDK bundled with StreamBase.

  • For Windows, the JDK version installed for private use by StreamBase is now 1.6.0_03.

  • For Linux and Solaris installations, a working subset of Sun JDK 1.6.0_03 is now installed for private use by StreamBase Studio and StreamBase Server, and this JDK is used by default.

For all platforms:

  • If you are using the bundled JDK 6 with Studio, but want to make sure that your Java projects still work with JDK 5, change your Java > Compiler settings to 5.0. Use the WindowPreferences dialog to make this change for your entire workspace, or for selected projects.

  • You can specify the use of another JDK, overriding the default, using the instructions in Using an External JDK.

Enhanced Features
Performance Improvements

The handling of streams with wide schemas was improved, resulting in a significant StreamBase Server speedup for certain classes of applications when handling such streams.

StreamBase Expressions in Java Operators and Adapters

You can now use StreamBase expressions in Java operators and adapters that you write to extend StreamBase. Your operators and adapters can access dynamic variables by means of expressions.

Application Files Now UTF-8 Encoded

StreamBase EventFlow application files (.sbapp) and StreamSQL files (.ssql) are now UTF-8 encoded on all platforms. In previous releases, files were interpreted with cp1251 on Windows.

You can override the new default settings to make the server use a different encoding when reading files. Do this with the -Dfile.encoding parameter in the configuration file for the server. For example: <param name="jvm-args" value="-Xms64m -Xmx256m -Dfile.encoding=Cp1252"/>

JDBC Operator Changes

The JDBC operator was enhanced to support stored procedures, and you can now specify an exact schema for a data source in both EventFlows and StreamSQL, instead of relying on automatic typechecking. When batching, you can now specify a timeout.

StreamBase URI Shortcuts

You can now use shortcuts when specifying a StreamBase URI in Java or C++ code that uses the StreamBaseURI class, or when specifying a URI for the sb* command-line utilities. The shortcuts are documented in the sburi reference page.

URIs Shown in Error Messages

When using the sb* command-line utilities, in many cases, the URI from the failing StreamBase Server instance is included in the error message if a command fails. This is useful in high availability scenarios to determine the cluster member on which the error occurred.

New Features to Support High Availability and Clustering

The following features were added to support the new StreamBase HA and clustering solutions introduced in release 5.1:

Legacy Clustering Removed

Release 5.1 removed documentation for the legacy StreamBase clustering implementation and deprecated the sbclusterd and sbnoded commands. As of release 6.0, the commands themselves were removed.

New Information Shown in sbmonitor

Inter-module and inter-container queue lengths are now displayed in the sbmonitor window.

New Command for sbmonitor

While sbmonitor is running, you can use the + and – keys to increase or decrease the size of the top operator output.

Synchronous Container Connections

Connections between containers are buffered by default. You can now specify a synchronous container connection by using := instead of just = in the sbadmin addContainer or sbadmin modifyContainer command that creates your container connection. See Synchronous Container Connections.

Updates to sbmonitor

In addition to the HA support changes described above, the sbmonitor command has the following new features:

  • sbmonitor now displays in the top status lines the number of enqueue connections as well as the number of dequeue connections to the monitored server instance.

  • sbmonitor's operator view now shows exponential time weighted statistics for each operator. This shows you which operator has the highest percentage of CPU usage right now.

  • sbmonitor now has a profiling view that you enter by typing P. In this view, you can see which operators have the highest percentage of CPU usage over an entire sbmonitor session.

StreamSQL Updates

The StreamSQL language was extended with the following features:

  • The new CREATE SCHEMA command brings named schema support to StreamSQL.

  • You can now optionally specify a name for Java operators and embedded adapters. Named operators and adapters can be suspended, resumed, and shut down using the sbadmin command. For example:

    APPLY JAVA "com.example.sb.mogrifier" AS mogrify
        FROM instream INTO outstream;
    
Enhanced StreamBase Manager

StreamBase Manager, a GUI alternative to the text-based sbmonitor command, was enhanced with new views. For Windows installations, StreamBase Manager is now an entry in the StreamBase section of the Start menu.

Chronicle Updates

StreamBase Chronicle is an optional high-capacity event-store that can be used to provide persistent data storage in association with streaming applications. This release includes the following updates to Chronicle:

  • Chronicle for Vertica now supports Vertica 2.1.

  • Chronicle for Sybase RAP now supports the API for the Trading Edition of Sybase RAP for direct loading of the data store. Previous releases used CSV files as an intermediary for loading Chronicle for Sybase data stores.

Contact StreamBase Systems for information on adding StreamBase Chronicle to your StreamBase implementation.

Expression Language Changes

The following simple functions were added to the StreamBase expression language: coalesce_tuples(), format(), format_time(), parse_time(), tuple(), and the tuple constructor. The following aggregate functions were added: median(), withmin(), and withmax().

The min() and max() aggregate functions were extended to support any data type that can be compared with < or >, which includes int, double, long, timestamp, string, and blob. See StreamBase Expression Language Functions for details.

Dynamic variables can now be used as bare values in aggregate expressions. In previous releases, you could write sum(K) + sum(x), or lastval(K) + sum(x), where K is a dynamic variable. Now you can write K + sum(x). The value of K at calculation time is used to find the result of the aggregate expression.

Self-Referencing Dynamic Variables

In EventFlow applications (but not yet in StreamSQL), dynamic variables can now be self-referencing in the update expression. This means update expressions can use the old value in order to do up the update. For example, the update expression for the variable counter could be counter + 1 to get incrementing behavior. This functionality can also be used to conditionally update a variable based on other conditions in the update stream.

New Samples Added

This release includes the following new samples:

The firstapp sample and its associated Getting Started tutorial in the Help system were revised.

StreamBase Studio Updates
Studio Based on Eclipse 3.3

StreamBase Studio is now based on Eclipse 3.3.2. This allows you to install third-party Eclipse plug-ins that support or require Eclipse 3.3, including plug-ins that add version control to Studio.

Perspectives Renamed

StreamBase Studio's three perspectives were renamed to SB Authoring, SB Test/Debug, and SB Demos. This improves the perspective name's visibility in the default-sized perspective bar.

Simplified Run and Debug Buttons

StreamBase Studio 6.0 provides one Run and one Debug button in the Studio toolbar, to be used for StreamBase applications and for other Eclipse Run and Debug functions you may need. In the 5.x release series, StreamBase Studio had Run and Debug buttons from the Eclipse framework, plus two separate Run and Debug buttons for StreamBase applications. Studio 6.0 restores the Run button simplicity of the 3.x release series.

Support for Precompiled Applications in Studio

Studio now supports the generation of precompiled application files (sbar files) as part of the builder running over your StreamBase projects. This significantly improves the startup time of those applications when launched from Studio. By default, generating precompiled files is disabled, and should remain disabled for modules in active development. You can enable the generation of precompiled application files at the project level, or on a per-file basis.

Refactoring Support

Studio now participates in Eclipse's refactoring feature for StreamBase application names and CSV files. When you use RefactorRename to rename a CSV file, or an sbapp or ssql application file, Studio detects where that resource is referenced in other parts of the current project, and automatically updates those references for you. Studio maintains a refactoring history in each project's Properties dialog. See Refactoring StreamBase Project Resources for more on this feature.

Operator Parameters Supported

The Properties view for adapters and operators now fully supports operator parameters in the form ${parameter}.

Copy Schemas from System Container

The Copy Schema dialog invoked from a Schema properties page in Studio now allows copying a schema from a stream in the system container. For example, you can copy the error stream schema, or stat stream schema.

Comments in EventFlow Applications

To help you document your EventFlow applications, you can now add a description comment for each row of a schema, for the schema as a whole, and for each EventFlow application or module as a whole.

Custom Icon Overlays

You can now add your own icon overlays to the icons for modules, adapters, and operators in EventFlow diagrams. See EventFlow Editor Metadata Tab for instructions.

Clarified Messages from StreamBase Server

StreamBase Studio now displays a warning about an expired StreamBase license when you try to run or debug an application. In general, warnings and errors from StreamBase Server are more clearly shown: the last few lines of output from a failing server process are shown in error dialogs.

Highlight Toggle Button in Studio Help

StreamBase Studio inherits from Eclipse 3.3 the ability to toggle on and off the highlighting of search terms on the Studio Help pages. After you have searched for a term, look for the highlight button () in the toolbar above the Studio help text window.

Adapter Changes
New Reuters RMDS Publishing Output Adapter

The new Reuters RMDS Subscribing Adapter allows a StreamBase application to publish market data to RMDS 6 servers. This adapter complements the existing StreamBase Managed Publishing Adapter for Reuters RFA, which supports RMDS 5. The Reuters RMDS Publishing Adapter is an embedded adapter represented as an icon on the canvas in StreamBase Studio, and runs in the same process as the StreamBase application. This adapter is part of the base kit for all editions of StreamBase. See Thomson Reuters Enterprise Platform for Real-Time Publishing Output Adapter for more information.

New Reuters Messaging Adapter

The new Reuters Messaging adapter gives a StreamBase application the ability to communicate with existing users of the Reuters Messaging network via instant messages. This external adapter, for Windows only, is provided in a separate installation kit.

New Once Input Adapter

The Once embedded input adapter sends exactly one tuple when its containing module starts or restarts. This can be used to initialize an application on first start or to re-initialize on restart in a high availability failover situation.

New POP3 Reader Input Adapter

The new POP3 embedded input adapter reads Internet Protocol packets, either from the IP stack of a running system or from an archived capture file, and emits a tuple for each e-mail message found in the TCP data stream. This adapter is provided in a separate installation kit. See POP3 Reader Input Adapter for more information.

New Log Output Adapter

The Log embedded output adapter is a pass-through that copies each received tuple to the StreamBase logging system described above. The Log adapter can be used as a logging endpoint or inline in an application.

RSS Adapter Updates

The RSS Input Adapter was reworked to better handle non-standard RSS feeds. The publication date of an RSS message can now be enqueued as a timestamp.

EMS/JMS Adapter Updates

The EMS/JMS adapter installation kit previously supported one embedded input adapter and a pair of input and output external adapters. This release adds a fourth adapter to the kit, the EMS/JMS embedded output adapter. The message converter API for using all four EMS/JMS adapters changed, and some limitations in the adapters were fixed. The EMS/JMS adapters now support the TIBCO EMS RELIABLE_DELIVERY mode. See JMS Input and Output Adapters for details.

API Changes
C++ Clients Require Recompiling

There were internal changes to the C++ classes in the StreamBase C++ API that require recompiling. If you have custom clients or custom functions written with this API, you must recompile them with the 6.0 libraries before running them with a 6.x StreamBase Server. Linux versions of the StreamBase 6.0 C++ API are now built with GCC 3.4.

API Changes

StreamBase 6.0 includes a number of changes to the Java, C++, and .NET APIs for building extensions to StreamBase. See the Migration Notes at API Changes in 6.0.

Fixes

StreamBase 6.0 also fixed several product limitations, as described in the Limitations Resolved in 6.0.x section of the Release Note Archives.

StreamBase 5.1.x Release History

This topic lists the significant changes in the StreamBase 5.1.x release series.

What Was New in StreamBase 5.1.13

StreamBase 5.1.13 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.

What Was New in StreamBase 5.1.12

StreamBase 5.1.12 was a maintenance release. See Resolved Limitations for a list of issues resolved in this release.

What Was New in StreamBase 5.1.11

New and Updated Features

StreamBase 5.1.11 included the following update:

StreamBase to StreamBase Output Adapter Behavior Change

Starting with this release, the StreamBase to StreamBase output adapter throttles dropped-tuple warnings as follows:

  • The first dropped tuple generates an immediate warning.

  • Subsequent dropped tuples are counted, but not immediately reported.

  • When at least one tuple has been dropped, and at least 10 seconds have elapsed since the previous dropped-tuple warning, a new warning is generated the next time a tuple is processed, whether that tuple is dropped or not.

  • Dropped-tuple warnings indicate the number of tuples dropped and the number of seconds elapsed (normally 10) since the last warning, or in the case of the first warning, since the adapter was started.

  • No warnings are generated if no tuples are dropped since the last warning.

  • A warning can cover more than 10 seconds if the adapter drops a tuple and then becomes idle.

New Option for the CSV File Writer Adapter

The CSV File Writer adapter has a new Open File During Initialization option. If selected, the output file is created, or opened and truncated, even if the adapter is not configured to start with the application, or the container in which the adapter is running has not started.

Fixes

StreamBase 5.1.11 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.10

New and Updated Features

StreamBase 5.1.10 included the following update:

Generating Error Tuples From Within a Java Operator or Adapter

The following method was added to the Java Client library:

public void sendErrorOutput(String message)

Use this method to generate error tuples from adapter and operator methods that are not invoked directly or indirectly through the StreamBase operator API. For example, an input adapter that processes messages through a listener interface can use this new method to generate an error tuple.

An adapter or operator typically generates an error tuple by throwing an exception from its processTuple method. However, input adapters that process messages through a listener interface cannot use this technique, because the thrown exception would be caught by the library delivering the message to the adapter rather than by StreamBase Server.

Fixes

StreamBase 5.1.10 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.9

New and Updated Features

StreamBase 5.1.9 included the following update:

JMS Embedded Output Adapter Change

If the configuration file for a JMS Embedded Output Adapter specifies just one server and that server's specification contains just one destination, the schema of tuples processed by the adapter does not require server and destination fields (__JMSServerName and __JMSDestinationName).

Fixes

StreamBase 5.1.9 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.8

StreamBase 5.1.8 was a maintenance release. See Limitations Resolved in 5.1.x for a list of issues resolved in this release.

What Was New in StreamBase 5.1.7

New and Updated Features

StreamBase 5.1.7 included the following updates:

EMS/JMS Adapter Updates

The EMS/JMS adapter installation kit previously supported one embedded input adapter and a pair of input and output external adapters. This release adds a fourth adapter to the kit, the EMS/JMS embedded output adapter. The message converter API for using all four EMS/JMS adapters changed, and some limitations in the adapters were fixed. The EMS/JMS adapters now support the TIBCO EMS RELIABLE_DELIVERY mode. See JMS Input and Output Adapters for details.

SMTP Reader Adapter Clarification

The documentation for the SMTP Reader adapter was updated to clarify that the prerequisite libpcap (Linux) or WinPcap (Windows) libraries must be installed and working before using the adapter.

Fixes

StreamBase 5.1.7 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.6

New and Updated Features

StreamBase 5.1.6 included the following updates:

Feed Simulation Editor Changes

The Feed Simulation Editor in the Test/Debug view was updated to better manage mutually exclusive options during selection and save.

Changes to Reuters Subscribing Adapters

The current Reuters RMDS Subscribing Input Adapter and the deprecated Reuters Subscribing Input Adapter were both updated to emit update tuples only when one or more fields of interest change.

Fixes

StreamBase 5.1.6 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.5

What Was New in StreamBase Reuters Edition 5.1.5

StreamBase Reuters Edition 5.1.5 inherited all the features and fixes of the underlying StreamBase 5.1.5 release as described below. In addition, StreamBase Reuters Edition 5.1.5 included the following updates specific to the Reuters Edition:

Reuters RMDS Subscribing Adapter Included with Reuters Edition

As in previous releases of StreamBase Reuters Edition, Reuters-related embedded adapters are included in the base kit and do not require separate installer kits. This is true of the Reuters RMDS Subscribing Adapter described below.

RMDS 6 Support Added Throughout

Support for RMDS 6 was added throughout StreamBase Reuters Edition. Features that were formerly marked for RMDS 5 only are now available for RMDS 5 and RMDS 6.

Updates for the RFA/Java Configuration Wizard

The RFA/Java Configuration Wizard was enhanced with the following updates:

  • The wizard was updated to support RMDS 6 for all entry points. That is, RMDS 6 is now supported whether you run the wizard from the FileNew menu (to create and save an RFA configuration file), or from within the Reuters Schema Designer View.

  • The Test Connection feature now supports both RMDS 5 and 6 connections.

  • The default port for RMDS 6 connections is now 14002.

Updates for the Reuters Schema Designer View

The Reuters Schema Designer View was enhanced with the following updates:

  • There is a new Discover Services feature that lets you obtain a list of RMDS Service names directly from your site's RMDS infrastructure, and to select the Service of interest. You no longer need to know the names of your site's Services before using the Schema Designer View.

  • The Entitlements section was moved up earlier in the top-to-bottom sequence. When using an RMDS 6 connection, DACS Entitlements information is not stored as part of the RFA configuration. This means that if DACS Entitlements are in use at your site, you must specify your Entitlements information before running the Discover Services feature.

  • When using RMDS 6 connectivity, the view shows two new fields, Message Model and Dictionary. These features are described in Thomson Reuters Schema Designer View.

  • The Results table now has a Search field above the Create Schema button. Enter a search string to restrict the table to rows with matching text in the Long Name or FID Name columns.

Updates for the Reuters Edition Demo

The Reuters RMDS Threshold Alarm demo in the StreamBase Demos perspective was updated to use the Reuters RMDS Subscribing Adapter to establish its RMDS connectivity.

Note

If you are upgrading from a previous release of StreamBase Reuters Edition, we strongly recommend that you reload and re-run the Reuters RMDS Threshold Alarm demo from this release, so that you can see the important differences in using the new Reuters RMDS Subscribing Adapter. If you have an RFA configuration file saved in your demo project directory, you can reuse it by saving the file to another project, or by renaming your existing demo project folder.

New and Updated Features

StreamBase 5.1.5 included the following new features:

New Reuters RMDS Subscribing Adapter

The new Reuters RMDS Subscribing Adapter allows a StreamBase application to receive market data from both Reuters RMDS 5 and RMDS 6 servers. This adapter supersedes the Reuters OMM Subscribing adapter (supporting RMDS 6 only) that was introduced in release 5.1.2. The new RMDS adapter is intended to replace the Reuters Subscribing adapter (supporting RMDS 5 only), which is being phased out.

The Reuters RMDS Subscribing Adapter is described in Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter.

New Binary File Input and Output Adapters

The new Binary File Reader Input Adapter reads structured binary files created with the new Binary File Writer Output Adapter. The adapters are intended to be used as an adapter pair to write a stream of tuples to a file, then read them back from that file at a different point in your application. You might use the Binary File Writer and Reader as part of a High Availability scenario to preserve the contents of a tuple stream to disk. As part of a failover event, the secondary server in a StreamBase Server cluster pair could restore the contents of a stream with a fast read of the saved binary file.

The Binary File Reader Input Adapter is described in Binary File Reader Input Adapter. The Binary File Writer Output Adapter is described in Binary File Writer Output Adapter.

Documentation for Clustering and High Availability

StreamBase release 5.1.0 introduced a collection of new features to support clustering of StreamBase Servers and other High Availability (HA) features. The new HA support provides a component approach that replaces the monolithic HA support of previous releases.

As of release 5.1.5, the documentation has caught up with the newly added features. Start with the overview page, Clustering and High Availability, which provides an index to the documentation of the various StreamBase features that support HA and clustering.

Windows Scripts Added to HA Sample

In previous 5.1.x releases, the HA sample included Linux scripts to run the sample. The sample now includes Windows scripts as well. Instructions for the sample are in High Availability Sample.

Some Legacy Clustering Features Removed

StreamBase releases through 5.0 included support for an earlier version of StreamBase Server clustering that used the sbclusterd and sbnoded servers. In release 5.1.5, all documentation of these features is removed. The sbclusterd and sbnoded commands themselves are still shipped for compatibility with previous releases. However, these commands are deprecated and will be removed from a future StreamBase release. Sites using these features should begin to migrate to the new clustering and high availability features discussed above.

StreamBase Studio Enhancement

Fields in Studio views that accept input of integers were changed in this release. Previous releases used spinner controls for integer input fields, like the following example from StreamBase 5.0:

Integer input fields in Studio are now simple text boxes, like the corresponding example from StreamBase 5.1.5:

This change allows you to enter negative integers where appropriate, and to enter parameters in the form ${param}.

New Function in the Expression Language

The expression language was extended with the getLeadershipStatus() function. See StreamBase Expression Language Functions for details.

Fixes

StreamBase 5.1.5 also fixes several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.4

StreamBase 5.1.4 was a limited availability release that included the following feature:

ActivFeed Adapter Updated

The StreamBase ActivFeed Adapter was recompiled to take advantage of the latest available version of the Activ APIs.

StreamBase 5.1.4 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.3

StreamBase Reuters Edition 5.1.3

StreamBase Reuters Edition 5.1.3 was a maintenance release that incorporated fixes from the underlying StreamBase 5.1.3 release described below. Note that the Reuters OMM Adapter, being introduced the main StreamBase product in this release, was already introduced to Reuters Edition users in release 5.1.2.

New and Updated Features

StreamBase 5.1.3 included the following new features:

New Reuters OMM Adapter

The Reuters OMM Subscribing Input Adapter was added with an optional installation kit. This adapter allows StreamBase applications to receive OMM data from Reuters Data Feed Direct and RMDS 6 Point-to-Point servers. This adapter complements the existing Reuters Subscribing Input Adapter.

New Feature in Existing Reuters Adapter

The Reuters Subscribing Input Adapter now automatically adds metadata fields to the market data output schema, if you do not provide them when using the Edit Schema tab.

New Parameters for Disk Query Tables

To improve disk Query Table write performance, log flushes and checkpoints can be separated. The current disk-querytable-flush-interval-ms configuration parameter remains, but the default has been reduced to ten seconds. A new configuration parameter, disk-querytable-checkpoint-count, specifies how many flush intervals to wait before doing a checkpoint. The default is 3, so by default, a checkpoint is still done every 30 seconds. These new defaults are not expected to change the average write rate but should reduce the variance in write rate over time, and have the additional benefit of reducing the default loss window to ten seconds. Some applications and configurations might see measurable improvements.

Fixes

StreamBase 5.1.3 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.2

StreamBase Reuters Edition 5.1.2

StreamBase Reuters Edition 5.1.2 inherited the features and fixes of the underlying StreamBase 5.1.2 release as described below. In addition, StreamBase Reuters Edition 5.1.2 included the following updates specific to the Reuters Edition:

New Reuters OMM Subscribing Adapter

The Reuters OMM Subscribing Input Adapter was added to the base Reuters Edition kit. This adapter allows StreamBase applications to receive OMM data from Reuters Data Feed Direct and RMDS 6 Point-to-Point servers. This adapter complements the existing Reuters Subscribing Input Adapter.

New Reuters Schema Designer View

The Studio Authoring perspective now includes a new view, the Reuters Schema Designer view, that allows you to browse and discover available RMDS data on your network, and to create a StreamBase schema from a selected set of discovered FIDs. The new view is described in Thomson Reuters Schema Designer View.

New Authoring Perspective Layout

To support the new Schema Designer view, the Authoring perspective has a new default layout. If you opened an existing StreamBase Reuters Edition workspace with release 5.1.2, use WindowReset Perspective to see the new view.

New Features in RFA Configuration Wizard

The RFA/Java Configuration wizard now lets you test RMDS connectivity before committing any changes, and has been hooked into the Reuters Schema Designer in order to configure your system's RFA/Java configuration without leaving Studio. The wizard is described in Thomson Reuters RFA/Java Configuration Wizard.

New Feature in Existing Reuters Adapter

The Reuters Subscribing Input Adapter now automatically adds metadata fields to the market data output schema, if you do not provide them when using the Edit Schema tab.

New and Updated Features

StreamBase 5.1.2 was primarily a base for StreamBase Reuters Edition, and included the following update:

Tuning Guide Reorganized

In both HTML and Eclipse Help documentation, the pages of the Tuning Guide were moved to the Authoring Guide to improve their searchability in Eclipse Help.

Fixes

StreamBase 5.1.2 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.1

The StreamBase 5.1.1 release included the following new features and updates. Release 5.1.1 also incorporated the features added in release 5.1.0, which was a limited availability release. See What Was New in StreamBase 5.1.0 below.

Java 1.6 Qualified

Both StreamBase Studio and StreamBase Server are now qualified to run with Sun Java 1.6 JDKs.

New Platforms Supported

Red Hat Enterprise Linux 5 and SUSE Linux Enterprise Server 10 were added to the supported platforms list. Windows Vista is now supported for running StreamBase Studio, but is not supported for deployment of StreamBase Server. Oracle 10g and MySQL 5 were added to the supported JDBC-compliant databases. See Supported Configurations for details.

Error Streams and Per-Operator Error Ports

This release provides a significant advance in error handling for both EventFlow and StreamSQL applications. Error conditions can now be trapped at the operator level and at the module level. Errors are reported as a tuple in a standardized error tuple format, which can be manipulated as data. You can enable an Error Output Port for each operator or adapter individually, which provides a local catch mechanism for that operator or adapter. Separately, you can add an Error Input Stream to a module or application that serves as a global catch for that module or application. You can add one or more Error Output Streams to a module or application that serves as a throw mechanism. Error tuples flow from an inner module to its containing module or application, and eventually to the StreamBase Server instance that is running the application. See Using Error Ports and Error Streams for further information.

Changes to the Query Operator in EventFlows
  • The Query Operator offers more control over optional prefixes that are added to output fields. This makes it easier to disambiguate fields in the output that come from different sources but have duplicate names. See Using the Query Operator for details.

  • The Output Settings tab enables you to control what happens when read and delete queries return no rows. The default behavior is to output tuples with null values. Previously the default was to output no tuples.

See Using the Query Operator for details.

Value-Based Pattern Matching

Pattern-matching queries can now be bounded by either elapsed time (for example, all tuples received over one day), or by a range of values in a specified field. Previously, you could use only a time-based window for pattern matching. See Detecting Patterns for details.

Separation of EventFlow Layout Information

EventFlow applications are stored as XML files containing two distinct kinds of information: semantic elements, which control functionality, and layout elements, which control the graphical layout of items on the canvas. You can now separate semantic and layout data in EventFlow applications, and store the two types of data in separate files. You can also remove the layout data from an EventFlow application. See EventFlow Layout Options for details.

Strict Schema Enforcement Option Removed from Module References

In previous releases, the Input Ports tab of the Module Reference Properties in EventFlows included the option Override module input schemas with incoming schemas, which strictly enforced the schema for input streams at a module reference. The option was disabled by default. This option was removed in this release, and the default condition was set as if this option was still present and enabled. Therefore, the schema associated with each input port of a Module Reference is now always passed into the referenced application, overriding any module input schema. This feature is described in Using the Module Reference Component.

StreamBase Studio Usability Enhancements

This release includes the following enhancements to the ease of use of StreamBase Studio:

  • In Studio 5.1, as in previous releases, the last-viewed tab in the Properties view remains selected for each EventFlow canvas icon. Starting with 5.1, the last-viewed setting for each component is stored in the local Eclipse workspace, and is not stored in either the .sbapp EventFlow file or its associated .sblayout file. This improves the interoperability of .sbapp files with version control systems.

  • In EventFlow applications, the default behavior of the Union operator is now that unions are loose. That is, input fields can be the union of all fields in the input streams, and if fields are different, nulls are filled in when an input tuple does not have that field. To restore the default behavior of previous releases, the Union operator has a new option, Force strictly matching schemas. This option requires all input streams in a union to have identical fields. It is still a typecheck error to import more than one stream with the same field name, but different types for that name. This new option is not available in StreamSQL, where the UNION statement cannot be used to enforce strictly matching schemas.

  • StreamBase has changed the naming convention used when you copy EventFlow components on the canvas. For example, if you copied a component called Map1, the new component was previously created as CopyOfMap1. If you copied Map1 again, the next copy was called Copy2ofMap1. Now, the same copies would be created as Map1Copy1 and Map1Copy2.

  • The EventFlow Editor can now display different labels. In the Authoring page in StreamBase Studio Preferences, you can choose the type of labels to display over items on the canvas: either the names of module references and adapters, the types of components, or no labels.

  • Where schemas are shown summarized (in the saved schemas view and in the right pane of the Streams pane of the Properties view), StreamBase Studio now shows an approximate sum of the sizes of the fields. For example:

    Input1 (2 fields, 20* bytes)

    The size is approximate (indicated by the asterisk), because it does not necessarily represent the number of bytes used in memory to represent a tuple. For example, blob data types do not have a configured length and are not included in the size. String sizes are computed based on their declared maximum length, not the number of bytes actually used in memory. And null field types of any data type do not occupy the bytes allocated for them (that is, an integer field whose value is null occupies 0 bytes, not 4 bytes). The feature is described in Saved Schemas View.

  • In the Test/Debug perspective, in both Application Input and Application Output views, you can now right-click and select Copy as CSV. This places the currently selected rows in the system clipboard in the form of comma-separated values.

  • In the Feed Simulation editor, there is a new field, Null String, whose default value is null. Use this field to specify a null string that is used to set tuple field values to null if the Null String value is encountered either in an input CSV file, or from the specified value being generated as part of customized feed simulation data.

Behavior Change for <jar> and <dir> in Server Configuration Files

In StreamBase Server configuration files, the jar and dir elements are part of the java-vm section. In StreamBase releases prior to 5.1.1, the JAR files specifed in jar elements and classes found in directories specified in dir elements were added to the system classpath. Starting with StreamBase 5.1.1, these specified JARs and classes are added to the classpath of each container. This means that loaded JAR files cannot modify the global server state, which improves the isolation of applications.

If the 5.1 behavior causes problems with a legacy application, you can override the new behavior by adding a parameter to the java-vm section named jvm-prepend-classpath. This adds the specified JARs and directories to the system classpath. For example:

<java-vm>
  <param name="jvm-prepend-classpath" value="/path1/path2/example.jar"/>
</java-vm>
Behavior Change for Server Environment Launched from Studio

StreamBase 5.0 introduced support for multiple StreamBase installations on the same Windows machine. Starting with release 5.1.1, to provide more robust support for multiple installations, when Studio starts the local instance of StreamBase Server to run or debug applications, it now automatically prepends the directory containing sbd or sbd.exe to the PATH of the Server's runtime environment. Studio also automatically populates the STREAMBASE_HOME variable in the Server's runtime environment. See StreamBase Command Prompt for important details about maintaining multiple StreamBase installations on the same machine.

Abbreviated Subcommands for Command-Line Interface

In the StreamBase command line interface, you can now enter abbreviated forms of the enqueue and dequeue subcommands for sbc and jsbc. The abbreviated subcommands are enq and deq. For example, jsbc enq is equivalent to jsbc enqueue. This feature is described in sbc and sbd topics and the associated man pages.

New StreamBase to StreamBase Output Adapter

This release adds the SBD2SBD Output Adapter, which runs within an upstream application, sending tuples to a downstream application. This adapter is used by the High Availability system, and is also available for customer use in complex StreamBase applications.

New Properties for StreamBase to StreamBase Input Adapter

Properties were added to the SBD2SBD Input Adapter to support secure connections from upstream StreamBase Servers.

New Functions in the Expression Language

The expression language was extended with the following functions: getContainer(), getNodeName(), and systemenv(). The stdev() and stdevp() functions were enhanced to take and return a timestamp. See StreamBase Expression Language Functions for details.

API Changes

The StreamBase Java and C++ Client libraries underwent changes, primarily to support the new High Availability features. The details of the API changes are described in API Changes in 5.1.

.NET API Addition

StreamBase 5.0 introduced a new .NET API for creating StreamBase client applications, as described in Creating .NET Clients and Migrating .NET Clients. As of StreamBase 5.1.1, the StreamBase Monitor API (that is, the set of StreamBase.SB.Monitor.* classes) is now included in the new StreamBase .NET API.

StreamBase 5.1.1 also fixed several product limitations, as described in the Limitations Resolved in 5.1.x section of the Release Note Archives.

What Was New in StreamBase 5.1.0

StreamBase 5.1.0 was a limited availability release that included the following new features:

Security Tagging

When enabled, the security tagging feature allows a StreamBase application to have a security tag associated with every tuple on every stream. The security tag is automatically added by the StreamBase Server, and is not settable, although it can be accessed by means of a function call.

Security tags can be used for filtering and other computation, to allow flexible management of secure data. The security tag value on a tuple emitted from an operator is calculated based on the input tuple tag and the state of the operator. In general, stateless operators pass the tag through unmodified. Operators with state track the security level of their state, which is the aggregate security level of all tuples that contributed to their state. Operators that read state external to themselves output tags that are the maximum of the external state's tag and the input tuple's tag. Operators that modify state external to themselves modify the tag on the external state to take into account their input tuples' state.

Contact your StreamBase Systems field service representative for help configuring and using the security tagging feature.

High Availability

HA support was improved for 5.1, and provides a building block approach that replaces the monolithic HA support in previous releases.

The new HA support provides: active/active server configuration, fast server restarts, and easier manual configuration of server clusters. StreamBase Servers can be grouped into flexible failover groups in which there is no requirement for coordination between servers, or for one server to assert leadership status. The StreamBase Client library was modified to support HA features. A new adapter, HAHeartbeatAdapter, provides the inter-server heartbeat mechanism.

HA support in StreamBase 5.1 is an advanced feature. Contact your StreamBase Systems field service representative for help configuring and using the High Availability features.