Contents
- New in StreamBase 7.5.3
- What Was New in StreamBase 7.5.2
- What Was New in StreamBase 7.5.1
- What Was New in StreamBase 7.5.0
- What Was New in StreamBase 7.4.4
- What Was New in StreamBase 7.4.3
- What Was New in StreamBase 7.4.2
- What Was New in StreamBase 7.4.1
- What was New in StreamBase 7.4.0
- What Was New in StreamBase 7.3.12
- What Was New in StreamBase 7.3.11
- What Was New in StreamBase 7.3.10
- What Was New in StreamBase 7.3.9
- What Was New in StreamBase 7.3.8
- What Was New in StreamBase 7.3.7
- What Was New in StreamBase 7.3.6
- What Was New in StreamBase 7.3.5
- What Was New in StreamBase 7.3.4
- What Was New in StreamBase 7.3.3
- What Was New in StreamBase 7.3.2
- What Was New in StreamBase 7.3.1
- What Was New in StreamBase 7.3.0
- New and Noteworthy Archives
Date: 2 Jun 2015
This topic summarizes the history of significant changes in TIBCO StreamBase® releases. For current and resolved product limitations, see the Release Notes.
TIBCO StreamBase® 7.5.3 fixes several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® 7.5.3 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.12.
StreamBase release 7.5.3 adds the following updates and new features:
- New Apache HBase Adapter
-
The TIBCO StreamBase® Adapter for Apache HBase is implemented as a suite of five global Java operators, including the HBase Admin, Delete, Get, Put, and Scan operators. See the HBase Operator Samples to learn how these operators can be used.
- OSI PI Adapter Enhancements
-
The OSI PI adapter was extended to support the ability to write to a connected PI database using the PI interface. Connections to both PI and AF servers are now disconnected and reconnected before each batch of requests is sent, to avoid potentially stale connections. And finally, reconnection attempts first try to use the last known good set of connection credentials, falling back to the adapter's Property view credentials as necessary.
- Metronome Operator Enhanced
-
The Metronome Operator was enhanced to accept a Maximum Tuples to Output integer. This allows a Metronome operator to emit a tuple periodically, then stop emitting altogether when the specified limit is reached.
- Requirement for AS Clause with tuple() Lifted
-
In previous releases, you were required to use AS clauses to name fields when using a tuple() expression in both StreamSQL and LiveView's LiveQL. This restriction was lifted such that if you do not provide AS clauses and field names, generic field names are generated for you. For example, the following invocation of
tuple(1, 2)
generates the field namesexpr_0
andexpr_1
:sbd --eval "tuple(1, 2)" ((expr_0 int, expr_1 int)) 1, 2
- sbargen Command Syntax Enhanced
-
As of this release, the sbargen command has a new
-w
option that sets the working directory of the sbargen command. When this parameter is specified, at runtime, sbargen sets its working directory before any other files or paths are read. Whenpath
-w
is used, all files and paths specified elsewhere on the sbargen command line MUST either be absolute paths OR be relative to the directory specified with-w
. This includes all input and output files. At runtime, the specified path is checked for existence, and the command halts with an error if the path does not exist. - Schema Compare Dialog Ignores Field Order
-
The Schema Compare dialog now defaults to ignoring field order.
- Web Reader Adapter Sample Updated
-
The sample for the Web Reader adapter was updated and extended to clarify how to use the adapter in SOAP and RESTful web environments.
- TIBCO FTL Adapter Enhanced
-
The TIBCO StreamBase® Output Adapter for TIBCO FTL® can now be configured to send tuples in batches instead of one at a time, and to specify a buffer flush interval time. This greatly improves the maximum throughput of the adapter.
- Expression Language Updates
-
The StreamBase Expression Language has the following new features as of this release:
-
A new aggregate function
emittedByDim()
returns a string representing the name of the first dimension that causes the current aggregate window to emit. -
The expression language supports a new infix operator,
<==>
. This is a null-safe equals operator that behaves much like the existing==
or=
operators, except it does not return nulls if any of its operands are null. -
StreamBase expressions can now express positive and negative infinity with the new
positive_infinity()
andnegative_infinity()
functions.sbd --eval "positive_infinity()" (double) Infinity sbd --eval "negative_infinity()" (double) -Infinity
-
- StreamBase Client API Updates
-
The
SchemaMismatchException
class was moved into the Java Client API so that custom adapters have access to it without having to build against the Server runtime. - Platform Changes
-
As of TIBCO StreamBase release 7.5.3:
-
The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u79.
-
Support is added for using Oracle JDK 8 update 45 or later as an external JDK (but JDK 1.7 remains the formally supported JDK version).
-
Support is added for running on Red Hat Enterprise Linux 7.x, with the understanding that there are known issues regarding error messages emitted by the StreamBase and Live Datamart RPM-based installer; and in addition, using
rpm -e
fails to uninstall StreamBase. However, installing by means of the archive installer has no problems and is the recommended installation method for RHEL 7. Once installed on RHEL 7, StreamBase and Live Datamart run as expected, as shown by extensive testing at TIBCO StreamBase. -
The TIBCO Enterprise Runtime for R operator was validated to support TERR version 3.2.
-
TIBCO StreamBase® 7.5.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® 7.5.2 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.12.
StreamBase release 7.5.2 added the following updates and new features:
- Import Schema Definitions from XSD Files
-
The Copy Schema From dialog was extended to accept files in XML Schema format as well as CSV format. This allows you to create StreamBase named schemas by importing schemas saved from other TIBCO products such as TIBCO BusinessEvents, TIBCO BusinessWorks, and others. See Copying Schemas.
- Studio: Manual Input View Updates
-
Release 7.3.2 quietly introduced the JSON input panel, an alternate way to send tuples to a stream in the Manual Input View. The current release extends the usability of the JSON input panel and of the Manual Input View in general with the following new features:
-
The last-entered field values are now preserved after pressing Send Data, which speeds up the entry of a sequence of similar tuples where only a few field values change. This applies to both the forms-based input panel and the JSON input panel.
-
When you toggle between the forms-based panel and the JSON panel by clicking the round JSON symbol
, any field values entered are preserved and converted from one form to the other. You can use this feature as a quick way to construct a valid JSON-formatted string for use in a StreamBase unit test.
-
You can now select a number of tuples from the Application Input view, right-click, and select the new Copy Tuples to Manual Input View menu option. For a single tuple selected, this feature automatically copies the tuple's values to either forms-based or JSON input panels. For more than one tuple selected, this feature populates the JSON input view with the values in the selected tuples. See Copying Tuples Automatically into the View for further details.
The JSON input panel and these new features are now documented on the Manual Input of Data page.
-
- Studio: Content Assistance Improvements
-
The content assistance provided by Studio when editing StreamBase expressions was improved. New features include:
-
Syntax coloring
-
Bracket and parenthesis matching
-
Support for nested fields (within lists and tuples)
-
Context-sensitive support for choosing function arguments (by type)
-
Context-sensitive hover information
-
Auto-sizing edit controls to accommodate longer expressions
-
- Studio: Press Tab to Rename Next Component
-
When renaming a component on the EventFlow Editor canvas, you can now press Tab from the rename edit field of one component to jump to the next component in the downstream flow and open a rename edit window there.
- Studio: New Disable Scroll Sync for Schema Compare Dialog
-
The Schema Compare dialog now has a button that disables the automatic syncing of the scroll bars of the side-by-side windows.
- New System Property to Support Large LiveView Tables
-
Both StreamBase and Live Datamart applications can fail to compile, reporting an error similar to
code attribute has grown beyond 64k limit
. This primarily happens when those applications include very large Query Tables with more than one hundred columns. To work around such errors, you can specify the following system property for your application build processes. This property specifies the rewriting of generated code to eliminate the table size issue, then recompiling.-Dstreambase.codegen.allow-refactoring=true
- New System Property to Disable Initial Query Table Load
-
A new system property,
streambase.querytable.load-initial-data
, controls whether the initial data load feature of a Query Table's configuration is honored or not. The property's default state istrue
. Use this property when your application design needs to load initial table values during development, but needs to start with an empty Query Table for production deployment. In this case, set the property=false
in the sbconf file for your production deployment configuration. - New JSON to Tuple and Tuple to JSON Converter Operators
-
The release introduces two new global Java operators, the JSON to Tuple Converter and the Tuple to JSON Converter. These operators are invoked from the Adapters, Java Operators icon in the Palette view.
- New MQTT Client Publish-Subscribe Adapters
-
This release adds a pair of related adapters that provide a way for a StreamBase application to publish to and subscribe from an MQTT broker server. As described on this FAQ page, MQ Telemetry Transport is an international standard for machine-to-machine communication in the Internet of Things world of connected devices. The new adapters are described in MQTT Client Subscribe Adapter and MQTT Client Publish Adapter. The new adapters have a set of samples described in MQTT Client Publish And Subscribe Samples.
- New OSIsoft PI Adapters
-
This release adds a pair of new adapters that connect to a PI database from vendor OSIsoft. The PI database ecosystem provides a way to manage real-time data and events in an enterprise's infrastructure, and is popular with oil and gas companies. Both new adapters require the OSI SDK, release 2012 or later, to be installed alongside StreamBase. Both adapters are input only and do not provide a way to write to an OSIsoft PI database. One new adapter called OSIPI uses OSIsoft's PiPoint mechanism to interact with a PI database, while the second adapter called OSIPIAF uses OSIsoft's Asset Framework mechanism. Both adapters are described on a combined page in the Adapters Guide, OSIsoft PI Adapters and have a simple sample.
- JMS Adapter Updated
-
The JMS Adapter was updated to support the
Simple
message type. The JMS Configuration File Editor was updated to supportSimple
messaages, and the adapter's documentation was updated to match. - IBM WebSphere MQ Input Adapter Updated
-
The IBM WebSphere MQ Input adapter was updated to support non-indexed queues. The adapter's Properties view has a new tab, Get Message Options, with two new properties, as described on IBM WebSphere MQ Input Adapter. The adapter also gained an option to allow you to specify the timeout value in milliseconds for an MQ get operation on the queue.
- Exegy Adapter Updated
-
The StreamBase Exegy adapters now rely on version 3.5.0 or later of the JAR file that implements the Exegy Client API,
XCAPI.jar
. As before, this JAR file is provided as part of your Exegy installation and is not shipped with StreamBase. - Shared Query Table Sample Updated
-
The Shared Query Table sample was updated to provide a deployment file that starts the sample's three containers, and to also provide an sbbundle file as an illustration of using that feature.
- Platform Changes
-
As of TIBCO StreamBase release 7.5.2:
-
The Oracle JDK version bundled with StreamBase is now JDK 1.7.0_u75.
-
The version of Eclipse that forms the foundation of StreamBase Studio is now 4.4.2.
-
Support is added for using Oracle JDK 8 update 40 or later as an external JDK.
-
Support for IBM DB2 as an external data store location is discontinued.
-
The version of SLF4J included with StreamBase was updated to 1.7.10. The version of Logback was updated to 1.1.2.
-
The standard libraries used by the Thomson Reuters RFA adapters were updated to version 7.6.0.1L1.
-
- Documentation Updates
-
The StreamBase documentation for release 7.5.2 included the following changes:
-
The Manual Input of Data page was completely reworked to provide missing documentation for the Manual Input view's JSON input panel, and to document the new features added in this release.
-
The Operating Systems row and the four JDK Requirements rows of the Supported Platforms page were extended and clarified.
-
TIBCO StreamBase® 7.5.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® 7.5.1 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.4.4 and release 7.3.11.
StreamBase 7.5.1 added the following updates and new features:
- New TERR Operator
-
This release adds a new Global Java Operator, the TIBCO Enterprise Runtime for R operator (the TERR operator), which allows StreamBase to use TIBCO's implementation of the R language to analyse and manipulate data. The operator requires an installation of TERR 2.7 or later on the same machine running StreamBase Server. The TERR operator is described on a new page of the Authoring Guide, and has a sample installed from → as usual.
- New Non-Strict Option for Output Stream Declared Schemas
-
When specifying a declared schema for an Output Stream, the Properties View now has a check box labeled Do not fail typecheck for missing fields, which is cleared by default. Select this check box to allow the incoming stream's schema to be a subset of the declared schema. Incoming streams with a superset schema still fail typechecking.
- Functions Added to Expression Language
-
This release adds two new functions and extends one function in the StreamBase Expression Language:
-
gaussianrandom() takes the mean and standard deviation of a Gaussian distribution, and returns a double randomly chosen from that distribution. This can be useful for simulating data from any population that tends to follow a normal distribution.
-
uuid() returns a randomly generated universally unique identifier in the manner of java.util.UUID.
-
random() has a new variant. The existing
double random()
still returns a pseudo-random decimal fraction in the range [0.0 - 1.0), as before. The new variantint random(int maxrange)
takes an integer maximum value and returns a positive integer in the range [0 -maxrange
).
-
- Pass-Through Field Option for XML Conversion Operators
-
The Tuple to XML operator now has a new Pass Through Fields property that lets you specify an input field to convert to XML. The operator then copies the schema and values for all other fields to its output stream. When using this option, you must identify an XML Input Field Name for the tuple data to be converted to XML and can declare an XML Output Field Name to contain the XML document. The XML to Tuple operator also now these properties for use in the opposite conversion direction.
- Web Server Adapter New Features
-
The TIBCO StreamBase® Web Server Request adapter now can parse parameters for the HTTP POST request "application/x-www-form-urlencoded" forms type and add the parsed data to the output. The adapter also now returns an HTTP ONLY field for cookies. Cookie fields were re-ordered to enable their direct streaming into the response side.
- Specify Time of Daily Roll for CSV File Writer
-
When setting a Daily for the TIBCO StreamBase® CSV File Writer adapter to close its output and open a new file, three new int properties (hour, minute, second) on the Rolling and Flushing tab of the Properties view now let you specify the exact time of day to perform the roll. Previously, all daily rolls occurred at midnight.
of - Parameterized Input for File Reader Adapter
-
The TIBCO StreamBase® File Reader adapter can now replace tokens in non-binary input files with input tuple subfield values at run time. When the new Replacement Data Field Name property is selected, each token in an Input file is replaced by the contents of a subfield whose name matches the token. Specify tokens in the form of StreamBase parameters (
${token-name}
).Tokens can include printf-style format strings enclosed in braces. For example, a double value might be specified in the input file by
${temp_celsius{%6.2f}}
. There must be an input tuple subfield namedtemp_celsius
to supply a value for the token, such as26.4 as temp_celsius
. Replacement is supported for all StreamBase data types, including tuples and lists. Tokens cannot be replaced by module parameters, only by properly-named fields defined for the adapter's input schema. For more information, see Replacement Fields in the File Reader Input Adapter page in the Adapters Guide. - Documentation Updates
-
The StreamBase documentation for release 7.5.1 included the following changes:
- Standalone Help Viewer Removed
-
The standalone Help Viewer on Windows and the sbhelp utility on Linux and OS X were removed from the StreamBase distribution. The move to Eclipse 4.4 as a base for StreamBase Studio caused complications that were solved for Studio, but could not be resolved for the Help Viewer. Instead, use the the help system invokable from StreamBase Studio's docs.streambase.com, and the website format documentation locally installed as part of Studio, or on docs.tibco.com. See Using the Help System for details.
→ menu, which provides the identical content as the standalone Help Viewer. You can also see the Eclipse Help format documentation on - Migrating 32-bit C++ Custom Functions
-
Starting with release 7.5.0, StreamBase supports only 64-bit custom C++ native-code functions on Windows. Accordingly, the Building Custom C++ Functions on Windows section of the Creating Custom C++ Functions page of the API Guide now has suggestions for migrating any 32-bit C++ functions you may have written for older StreamBase releases.
TIBCO StreamBase® 7.5.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® 7.5.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.4.3 and 7.3.12.
- StreamBase and LiveView Are Now Integrated
-
TIBCO Live Datamart 2.0.x is now automatically installed as part of TIBCO StreamBase® 7.5.x. As before, TIBCO Live Datamart is separately licensed. However, you no longer need to download and run a separate LiveView installer to access LiveView features.
-
On Microsoft Windows platforms, TIBCO Live Datamart 2.0.x is installed only as part of the 64-bit edition of StreamBase 7.5.x, and not as part of the 32-bit edition. (The installer for the 32-bit Windows edition of TIBCO StreamBase® 7.5.x works the same as before, described in Installing StreamBase on Windows.)
-
The integrated Live Datamart components installed with StreamBase include TIBCO LiveView server, the Studio extensions to support LiveView projects, all LiveView samples, and fully integrated documentation.
-
As before, LiveView Desktop 2.0.x is still separately licensed and still has an independent installer.
-
As before, LiveView Desktop Workspace Manager 2.0.x is included with your LiveView Desktop license, and has a separate installer available the LiveView Desktop download site.
-
For further details on the New and Updated features of TIBCO Live Datamart, see the separate New and Noteworthy for the Live Datamart product family.
-
- New Default and Recommended Installation Locations
-
-
To better integrate with other TIBCO product families, and to help customers organize multiple TIBCO products on the same system, the combined release of StreamBase 7.5.x and LiveView 2.0.x has new default and recommended installation directories:
Windows — C:\TIBCO\sb-cep\
n.m
Linux and Solaris — /opt/tibco/sb-cep/
n.m
Mac OS X — No default. The recommended location is /Users/
username
/Applications/TIBCO StreamBasen.m.x
where
n.m
andn.m.x
represent the current release numbers. -
TIBCO StreamBase® LiveView Desktop 2.0's new default and recommended installation locations are:
Windows — C:\TIBCO\sb-cep\
n.m
\liveview\desktopLinux and Solaris — /opt/tibco/sb-cep/
n.m
/liveview/desktopMac OS X — No default. The recommended location is /Users/
username
/Applications/TIBCO StreamBase LiveView Desktopn.m.x
-
TIBCO StreamBase® LiveView Desktop Workspace Manager 2.0 also has new default and recommended installation locations, described in Default Installation Directories.
-
- Connectivity Package Updates
-
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that have separate licensing concerns, and are not included in the base TIBCO StreamBase installation. If you licensed any of these adapters, install the StreamBase CEP Connectivity Package from the TIBCO download site.
The contents of this package are subject to change from release to release. Starting with release 7.5.0, the following adapter is no longer part of the Connectivity Package and now ships with both TIBCO StreamBase and TIBCO StreamBase Standard Edition:
-
The TIBCO StreamBase® Adapter for Exegy
If you have licensed this adapter as part of your StreamBase configuration, you no longer need to install the Connectivity Package to access it.
-
TIBCO StreamBase® 7.5.0 added the updates and new features shown in the following sections.
- On-Disk Query Table Format Changed
-
As a consequence of a third-party software update that improves database performance, the on-disk format for disk-based Query Tables was changed for release 7.5.0.
Important
If your StreamBase or LiveView application uses disk-based Query Tables with persisted data, you must read and follow the instructions in Reloading Disk-Based Query Table Data to make sure your data remains accessible.
- Stricter Typechecking of Inner Module Schemas
-
In previous releaes, if the schema of a stream in a hygienic inner module did not match that of the containing outer module, StreamBase would attempt to rectify the mismatch and proceed without issuing an error. In some situations, however, this could cause
ArrayIndexOutOfBounds
exceptions. Starting with release 7.5.0, if the schemas do not match, you receive a typecheck error saying so.Caution
If any of your applications have been relying on this lack of strictness, they may now start to fail typechecking. Reported will be: Source and target of the mismatched streams, the number of fields in each, and a list of schemas. To fix, either change the schemas supplied to and expected from modules to have identical field names and datatypes (order of fields is not important), or mark the inner module as flexible.
- Change in Default Time Format for CSV Adapters
-
The default time format for the CSV File Reader, CSV File Writer, CSV Socket Reader, and Bi-Directional CSV Socket Reader adapters was changed to use 24 hour time instead of 12 hour time. The former default format was:
yyyy-MM-dd hh:mm:ss.SSSZ
The new default format is the following, with the hours field now uppercase:
yyyy-MM-dd HH:mm:ss.SSSZ
This change only affects new instances of these adapters.
- Small T Icon for Parameterizable Controls is Now Enabled by Default
-
The StreamBase Studio authoring preference , introduced in release 7.4.2, is now disabled by default. This enables by default the small T icon (
) that appears next to controls that can accept a parameter, including check boxes, radio buttons, and drop-down menus in the Properties view of Java adapters and custom Java operators.
- Frameworks Now Integrated into Base StreamBase Package
-
A Framework is a package of StreamBase modules, interfaces, and schemas that simplifies creating and deploying StreamBase solutions for a specific vertical market. In previous releases, Frameworks were delivered as a separate download with a separate installer that integrated the Framework into StreamBase Studio.
Starting with release 7.5.0, Frameworks now ship as a fully integrated part of the base TIBCO StreamBase® package. As before, you load a Framework into StreamBase Studio much like loading a sample, using → .
- Trading Components Framework for Foreign Exchange
-
The first Framework to be integrated into the base StreamBase package is the TIBCO StreamBase® Trading Components Framework, which simplifies the creation of foreign exchange (FX) trading applications. This Framework provides a set of modules and schemas that include market data handlers for 15 FX venues, and execution handlers for 13 FX venues. This Framework greatly simplifies the configuration of FX handlers by providing uniform interfaces and schemas, and providing appropriate defaults for as many properties as possible. The Trading Components Framework includes documentation integrated into Studio Help, a full set of samples, one for each venue, and a command line administrative tool to manage handlers at runtime.
- Test/Debug Perspective Link to Unit Test Wizard
-
For convenience in the SB Test/Debug perspective, a
link was added just left of the button in the Application Output and Application Input view. Like the button (), clicking the link starts the StreamBase Unit Test Class wizard with defaults set to include tuples currently in those views as the starting point for your new unit test.
- New ActiveSpaces Operators
-
An updated TIBCO ActiveSpaces connectivity solution provides a set of operators to connect to a TIBCO ActiveSpaces® Metaspace and Space and to allow your StreamBase application to exchange tuples seamlessly with the Space. The updated TIBCO ActiveSpaces operator consists of seven separate operator actions:
-
TIBCO ActiveSpaces Put, which adds to the Space.
-
TIBCO ActiveSpaces Get/Take, which retrieves from the Space.
-
TIBCO ActiveSpaces Lock/Unlock, which performs locking operations on tuples in the Space.
-
TIBCO ActiveSpaces Browse, which lists some or all tuples in the Space.
-
TIBCO ActiveSpaces Listen, which asynchronously informs of Take, Put, Expire, or Evict events on the Space.
-
TIBCO ActiveSpaces Transaction Operations, which perform Begin, Commit, and Rollback operations on the Space.
-
TIBCO ActiveSpaces Control, which allows your StreamBase application to connect to or disconnect from a Space as well as obtain metric information from it such as the number of tuples contained therein.
Noteworthy enhancements include:
-
All ActiveSpaces operators in an application that reference a given Metaspace share a single connection to it.
-
All ActiveSpaces operators now have an input field named
passthrough
of type tuple that is passed unchanged to the output.
For more information, see Using the TIBCO ActiveSpaces Operators in the Authoring Guide. The previously-existing ActiveSpaces operator, now called the TIBCO ActiveSpaces Legacy operator, is deprecated as of this release, but is still available.
-
- Referencing Added Fields in Field Grid Expressions
-
In Map and other operators with field grids, it is now possible to reference a field that you add to an output grid in subsequent output expressions, using the modifier
output.
. Previously, doing this caused the typecheck error "the field <added-name> is not available from any stream". Now, added fields are treated much like included fields and declared variables in expressions.fieldname
- Constants and Named Schemas Now Supported in Conditional Breakpoints
-
In previous releases, the EventFlow debugger did not support conditional breakpoint expressions that included constants and dynamic variables. You can now use dynamic variables, named schemas, and other module constants in a conditional breakpoint expression.
- Overriding Existing Field with a Declared Variable
-
You can now override an existing input field in an output grid with a declared variable of the same name. Studio warns you about the ambiguity, but uses the declared value as specified. To refer in an expression to the existing field, instead of to a declared variable with the same name, qualify the existing field name with either an
input.
orname
input1.
prefix.name
- Declare Aggregate Expressions
-
In the Aggregate Functions tab of an Aggregate operator, you can now specify a local variable name for aggregate expressions as well as simple expressions, using the Declare action in the Action column's drop-down list. The DECLARE keyword in StreamSQL also now accepts aggregate expressions.
- Override Constant Definitions at Runtime
-
The schema for StreamBase Server configuration files has a new element,
<constants-overwrite>
, which is an optional container for one or more<constant-overwrite>
child elements. Use these elements to specify new values at run time for constants defined in an application's modules. The values so specified are initialized at run time. For example, you can replace the value of a constant that specifies the name of a file that an adapter or Java operator uses during development with a file name to be used when the application is deployed.For details, see <constants-overwrite> in the StreamBase Server Configuration File XML Reference.
In addition, a new Java system property, streambase.sbd.allow-overwrite-constants, with a default value of
true
, provides control over whether constants are allowed to be overwritten at runtime. - Adapter and Java Operator Settings from Configuration Files
-
The StreamBase Server configuration file schema has another new element,
<adapter-configuration>
described, with an example, in the Server Configuration File XML Reference. This element can contain arbitrary child elements and values, as long as they are valid XML. Use this element in conjunction with the new Java classConfigurationChooserPropertyDescriptor
described below to allow developers to provide variable, menu-based configuration options in the Properties view of custom adapters and operators. The property descriptor allows developers to specify an Xpath expression that retrieves the contents of child elements placed in an<adapter-configuration>
element, and to build a property choice menu at run time from the retrieved elements.Use this feature to provide adapter and Java operator property settings that can be configured globally across a project to have sets of specific default values that are easily modified by the end-user. By including appropriate Java code and configuration file elements in a project, developers of a custom adapter or operator can allow end-users to select configured property values from choice menus and, once selected, a property can constrain the choices available for other properties. Run the Configuration File Access Sample to see how to add a property chooser that works this way.
The following features were added to the StreamBase expression language in release 7.5.0:
- New Functions for Determining Intersections of Two Lists
-
You can now determine whether two lists have values in common and which items they are:
-
intersect(list, list)
returns a list containing the common items. -
has_intersection(list, list)
returns true if common items exist, false otherwise.
The input lists can be of different lengths, but must contain the same data type.
-
- New joinlist() Alias for join()
-
To enable use of the
join()
function in StreamSQL or LiveView LiveQL contexts without using escaped identifier syntax, the aliasjoinlist()
was added to the expression language.joinlist()
takes the same arguments asjoin()
and behaves identically. This change allowsjoinlist()
to be used in LiveView LiveQL contexts without conflicting with theJOIN
keyword, which LiveQL inherits as a reserved word by borrowing its parser from StreamSQL. Thejoinlist()
name is an alias for both simple and aggregate versions ofjoin()
. - Tuples and Lists Can Have a Trailing Comma
-
When expressing the values of a tuple or list in a tuple literal or list literal expression, or when using the list() or tuple() casting functions, you can now place one (but only one) trailing comma following the last field in a tuple or last item in a list. StreamBase now accepts but ignores such trailing commas. This is a convenience feature that allows you to leave a comma in place so that quickly added new list members or tuple fields are valid whether or not you remember to prepend the new items with a comma. The following examples are now valid in StreamBase expressions.
list(1,2,3,) tuple("aardvark" as a, "blogosphere" as b,)
- Administration Utility for Trading Component Handlers
-
The new sb-trading-components-admin command line utility for the Trading Components Framework lets you identify all instances of handlers running on a network, and provides a way to send commands to one or all handlers using JSON over UDP. The tool lets you interactively ping venues, list current connections and subscriptions, subscribe, and unsubscribe, among other common administrative tasks. For details, see sb-trading-components-admin(1).
- Specify Timestamps for sbc and jsbc dequeue Commands
-
Optional
timestamp
arguments were added for the sbc deq[ueue] and jsbc deq[ueue] commands, which can take a format string as an optional value:-
sbc deq [
--timestamp
[
"]]="C-style-formatstring>
The allowable format strings are based on the ISO C standard strftime API for UNIX platforms and on the Microsoft strftime API for Windows platforms.
-
jsbc deq [
--timestamp
[
"]]="Java-style-formatstring
The allowable string formats are the same as those accepted by the expression language's format_time() function, which are based on the java.text.SimpleDateFormat class.
If the format string is omitted, the format defaults to "
YYYY-MM-DD HH:mm:ss.SSS[+/-]TTTT
(such as2014-07-02 13:50:50.8-0400
). -
- New Property Descriptor for Accessing Settings from Server Configuration Files
-
The new Java class
ConfigurationChooserPropertyDescriptor
extendsSBPropertyDescriptor
, and enables applications to extract adapter and Java operator property settings from a server configuration file. See the Javadoc for details about the new class, which allows developers to specify an Xpath expression that retrieves the contents of child elements. This class supports the new feature described above that allows developers to provide variable, menu-based configuration options in custom adapters and operators. - Notifications Now Given for Null Arguments to Custom Functions
-
In previous releases, when given null values for arguments that expect a primitive type, custom functions silently returned nulls. As of this release, you can be notified about null arguments via console warnings. You can optionally set a system property to cause the operator that invoked the function to emit a tuple on its error port. For details, see Method Parameter and Return Types on the Creating Custom Java Functions page of the API Guide.
- Programmable Text Field Widths
-
A new property descriptor (setTextWidth(UIHints.TextWidthHints.SIZE), where SIZE can be SHORT, MEDIUM,or LONG) is a UIHints method that lets programmers specify the widths of text fields, drop-down list items, and text in other Properties view controls. Formerly, text fields had a fixed size.
- Updates for Custom Java Aggregate Functions
-
You can now pass arrays and lists to your custom Java aggregate functions, and they can now accept variable argument lists.
- New File Monitoring Adapter
-
The new TIBCO StreamBase® File Monitor adapter monitors the file system for changes to directories and files. When files are created, modified, and deleted within the scope of a specified path, the adapter emits tuples describing the event.
- New HTTP Web Adapter Pair
-
It is now simpler to use StreamBase applications to serve and respond to Web pages. The new TIBCO StreamBase® Web Server Request adapter and the TIBCO StreamBase® Web Server Response adapter work together to service HTTP and HTTPS requests. Using an embedded Jetty web server, the adapter set enables StreamBase applications to respond to HTTP and web socket requests from external HTTP clients. For details, see Web Server Request Adapter and Web Server Response Adapter.
- New 29West Output Adapter for Acknowledging Messages
-
The new TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.
- New Name for the 29West Adapters
-
Because of a change in 29West's ownership, the 29West adapters are now provided as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:
-
The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM
-
The TIBCO StreamBase® Publishing Output Adapter for 29West LBM
-
The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (newly announced in this release; see the previous entry)
-
- New Property for the Activ Financial Input Adapter
-
The new property
allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.Previously, when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. But fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property was added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, which preserves the adapter's legacy behavior.
- Explicit ACK for JMS Reader
-
The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgement of the message.
- Failover Option for LiveView Query Adapter
-
The LiveView Query adapter now optionally supports the new LiveView multiconnection failover client API.
- Chooser for File Names Added to File Writer Adapters
-
Rather than requiring that you type a path for to specify a
property, the following adapters now have a file chooser that lets you select a file name from available resources:-
TIBCO StreamBase® CSV File Writer
-
TIBCO StreamBase® Binary File Writer
-
TIBCO StreamBase® XML File Writer
-
- Option to Disable Status Port in XML-Tuple Converters
-
The XMLToTuple and TupleToXML Java operators now have an option to disable their status port should that flow of tuples not be of use. By default, the port is enabled, maintaining compatibility with previous releases.
The sample modules and applications included in the StreamBase installation were updated as follows:
- New Samples for Trading Components
-
A new set of 16 sample applications demonstrate various ways to use the Trading Components Framework. Each market data handler and execution handler has its own sample, plus one sample that demonstrates connecting to multiple venues. Eight of the samples are packaged with market data emulators that supply fictitious market data, and thus do not require connections to live data feeds to run. See the StreamBase Trading Components Framework Samples in the Samples Guide.
- New Sample for New TIBCO ActiveSpaces Operators
-
A sample for the new TIBCO ActiveSpaces® operators configures all seven operator actions in one application. For information about the new operators, see Using the TIBCO ActiveSpaces Operators. See TIBCO ActiveSpaces Operator Sample for instructions on running the sample. The same sample contains an application to illustrate the legacy ActiveSpaces operator.
- New File Monitoring Adapter Sample
-
The TIBCO StreamBase® File Monitor adapter sample illustrates using the adapter to watch a user-specified directory. Each time a file is created, modified, or deleted in that directory, the adapter emits a tuple that describes the change.
- New Sample for Accessing Properties from Configuration Files
-
The Configuration File Access Sample illustrates how custom Java operators and adapters can pull property values from a server configuration file, providing greater flexibility to deploy applications in different environments.
- New Field Grid Usage Sample
-
To clarify slight behavior changes in release 7.5.0, the new Field Grids Sample shows how to avoid or resolve conflicts, ambiguities, and typechecking errors related to including and adding fields with name conflicts and related usage of declared local variables.
The following new demos were added to the SB Demos perspective in StreamBase Studio:
- Internet — Wikipedia Edits Tracker
-
Taking as input a stream of recorded events from Wikipedia reporting edits made to actual articles, this application tracks the most-edited articles and the most active authors, and issues alerts when the same article is edited more than once within a given period of time.
- Retail — Coupon Generator
-
Illustrates how retailers can analyze customer preferences to stimulate sales by analyzing streams of order data to issue coupons to customers for similar or related items they purchase. Coupons can be added, deleted, and modified according to changes in inventories and buying behavior.
- Sensors — Data Monitor
-
Shows how manufacturing and process industries can use data streaming from multiple sensors to monitor the health of equipment. The application converts units of measurement for temperatures and pressures, outputs the transformed data, and alerts operators if values exceed prescribed thresholds.
- TIBCO Live Datamart — Wikipedia Monitoring
-
This demo uses the same captured, anonymized data from Wikipedia as the Edits Tracker demo above, but then streams that data into TIBCO Live Datamart data tables. The demo goes on to start an instance of LiveView Desktop, which analyzes the incoming data, displaying the results in two tables and on a US state map, showing the state where each anonymous edit is being made. Instructions are provided to connect the demo to a live Wikipedia feed.
In addition to the new demos, one existing demo might appear to be new:
- Thomson Reuters Enterprise Platform for Real-Time (TREP-RT) Threshold Alarm
-
This demo has long been a part of StreamBase Studio, but may have only appeared in installations with certain configuration options. As part of the merger of TIBCO StreamBase and TIBCO Live Datamart, this demo now appears for all users.
- JDK and Java Version Changes
-
On all platforms, installing TIBCO StreamBase with integrated TIBCO Live Datamart also installs an embedded copy of Oracle JDK, version 1.7.0_u71, for private use by StreamBase products. 64-bit platforms get a 64-bit JDK; on Windows platforms, installing the 32-bit StreamBase Studio overlay also installs a second JDK, the 32-bit version of 1.7.0_u71.
The embedded JDK is used to launch StreamBase Server, StreamBase Studio, LiveView Server, and all StreamBase and LiveView applications. As before, you can override this installed default to use a different supported JDK, as described in Using an External JDK.
The Java Client Libraries for StreamBase and LiveView are fully compatible with Java 7, and we recommend using Oracle Java 7, preferably 1.7.0_u71 or later, to compile and run your own cilent applications, custom function, custom adapters, and monitoring applications. The Java Client LIbraries themselves are compiled with target set to Java 1.6 to maintain compatibility with certain third-party libraries.
TIBCO Liveview Desktop has independent Java requirements, as described in the TIBCO Live Datamart New and Noteworthy.
As before, TIBCO supports and recommends a customer-installed instance of Azul Zing 5.10.x for deployments of TIBCO LiveView servers on Linux x86_64 platforms when large heap sizes are required. Contact Azul Systems to obtain and license Zing for LiveView. When Zing is installed in its default location, LiveView Server detects and launches with it by default.
- Studio Now Based on Eclipse 4.4
-
For release 7.5.0 and later, StreamBase Studio is now based on Eclipse 4.4.1. When installing Studio in the form of plug-ins for your independent copy of Eclipse, the provided plug-ins are compatible with Eclipse 3.7, 3.8, 4.2, 4.3 or 4.4. We strongly recommend starting with the latest Eclipse 4.4.x.
Eclipse 4.4 uses an upgraded format for workspaces. StreamBase Studio automatically upgrades existing workspaces when you first use them following installation. For this reason, we strongly recommend preserving a separate backup of your existing workspaces, in case you need to open them in an earlier Studio release to maintain an existing application.
- Solaris 11 Support Replaces Solaris 10
-
Support for running StreamBase Server on Solaris Intel X86_64 now requires Solaris 11, which replaces the former support for Solaris 10.
Important
To run on Solaris Intel, you must set the environment variable
LC_ALL
(for example, by settingexport LC_ALL=C
) in the environment used by StreamBase Server. - Microsoft Windows Support Changes
-
For development workstations, all TIBCO StreamBase products for Microsoft Windows now require Windows 8.x Professional, Windows 7 Professional, or Windows Vista Business. For Windows Server platforms, StreamBase requires Windows Server 2008 or Windows Server 2012, and their R2 variants. Support for Windows XP and Windows Server 2003 was removed.
The Windows The Windows Start Menu.
menu now lists all installed TIBCO products within a new folder. Earlier installed releases of StreamBase software are still listed separately on the menu. For more, see - Microsoft Visual Studio Support Changes
-
This release adds support for using Microsoft Visual Studio 2012 to build StreamBase client applications using C++, and support for using Visual Studios 2012 or 2013 when using a .NET language.
This release removes support for using Microsoft Visual C++ 7.1 (part of Visual Studio .NET 2003) or Visual C++ 8.0 (Visual Studio 2005) to build either StreamBase clients or custom functions. To build custom functions, you must now use Visual Studio 2010. For more information, see Configuring Visual C++ in the API Guide.
- Mac OS X Support Changes
-
TIBCO StreamBase 7.5, TIBCO® Live Datamart 2.0, and TIBCO LiveView Desktop 2.0 are all supported on Macintosh OS X versions 10.7 (Lion) through 10.10 (Yosemite). This release removes support for running on OS X 10.6 (Snow Leopard). The support for OS X 10.10 (Yosemite) is provisional because of an installation issue.
The installation incompatibility with 10.10 Yosemite results from an Apple bug that prevents opening certain DMG installation archives on Yosemite, including TIBCO StreamBase installers. Once installed on 10.10 Yosemite, StreamBase and LIveView run normally. If you encounter a very slow installation or a hang when trying to install a StreamBase product on OS X Yosemite, use the workaround described in the Special Steps section of Installing StreamBase on OS X, or contact TIBCO StreamBase Support for assistance.
- Mac OS X Installation Changes
-
The OS X installation page now recommends dragging your TIBCO StreamBase product folders from their DMG installers to
$HOME/Applications
, a folder in your home directory, and not to the system/Applications
folder at the root of the disk. This new location avoids the possible permissions problems previously encountered when installing add-on packages such as the Connectivity Package.
The following StreamBase features are deprecated as of release 7.5.0 and will be removed in a future release:
-
The TIBCO ActiveSpaces operator shipped with release 7.4.x was renamed the TIBCO ActiveSpaces legacy operator, and is now deprecated in favor of a new set of ActiveSpaces operators (each handling a subset of available ActiveSpaces operations) to facilitate ease of use.
-
Support for StreamBase Studio and StreamBase Server on 32-bit Windows platforms is deprecated.
-
Support for using Microsoft Visual C++ 9.0 (Visual Studio 2008) to build StreamBase clients is now deprecated.
The following StreamBase features were removed as of release 7.5.0:
-
The TIBCO StreamBase® Adapter for Bloomberg BPOD
-
The ability to build 32-bit native-code C++ functions on Windows. See Building Custom C++ Functions on Windows for migration suggestions.
The documentation for the combined release of TIBCO StreamBase 7.5.0 and TIBCO Live Datamart 2.0.0 included the following updates independent of the above updates:
- StreamBase and Live Datamart Documentation is Integrated
-
The StreamBase and Live Datamart documentation sets were integrated in a way that makes it easy to switch back and forth between them. Two-way cross-references allow links in each set to jump to pages in the other. This linking of both documentation sets occurs in both website and Eclipe Help formats.
- New Location for LiveView Command-Line References
-
Reference pages for the lv-client and lv-server command line utilies are now found with the StreamBase command documentation.
- Java and .NET Client LIbrary Documentation Combined
-
The Javadoc for the StreamBase Client Library now includes pages for the LiveView Client Library as well. Likewise, the .NET documentation describes classes for both libraries. You can still open the Javadoc and .NET documentation from either StreamBase or LiveView starting points, but now the results are the same.
- Using the Help System
-
The page Using the Help System was updated to describe related help features and to display images of the latest versions of documentation in Eclipse and online.
- Separate Live Datamart New and Noteworthy
-
The Live Datamart New and Noteworthy describes further changes to the LIveView documentation.
TIBCO StreamBase® CEP 7.4.4 fixes several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.4 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.12.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.4.4 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:
-
The TIBCO StreamBase® Adapter for Exegy
If you purchased these adapters as part of CEP 7.4.4, you no longer need to install the StreamBase CEP Connectivity Pack to access them.
The three 29West adapters listed below are now sold as the TIBCO StreamBase® Adapters for Informatica Ultra Messaging:
-
The TIBCO StreamBase® Subscribing Input Adapter for 29West LBM
-
The TIBCO StreamBase® Publishing Output Adapter for 29West LBM
-
The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter (new; see announcement below)
StreamBase 7.4.4 added the following updates and new features:
- Notifications Now Given for Null Arguments to Custom Functions
-
When a custom function is called with null values for arguments that expect a primitive type, execution continues, but now a console warning is issued and a tuple is emitted on the error port of the operator that invoked the function. Formerly, when given null values for such arguments, custom functions silently returned nulls.
- New 29West Output Adapter for Acknowledging Messages
-
The TIBCO StreamBase® 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.
- Explicit ACK for JMS Reader
-
The TIBCO StreamBase® Adapter for JMS reader now partially supports CLIENT_ACKNOWLEDGE, TIBCO EMS' EXPLICIT_CLIENT_ACKNOWLEDGE and Apache ActiveMQ's INDIVIDUAL_ACKNOWLEDGE. If one of these modes is selected, the adapter will wait until the tuple is fully processed by the application before acknowledging the message. The StreamBase application cannot trigger an explicit acknowledgement of the message.
TIBCO StreamBase® CEP 7.4.3 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.3 inherited the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
StreamBase 7.4.3 added the following updates and new features:
- Specify Time Zone to format_time()
-
You can now provide an optional third argument to
format_time()
that specifies a time zone location (such as"US/Hawaii"
) or abbreviation ("PST"
), as was already possible for thestrftime
function. For details, see the documentation forformat_time
. - More Argument Types for Custom Java Aggregate Functions
-
User-defined aggregate functions can now accept array, list, and variable-length inputs.
- New Property Enables Active Financial Input Adapter to Interpret Null Values
-
The new property
allows the TIBCO StreamBase® Adapter for Activ Financial to disambiguate unchanged data from missing data.Previously when the value of a field in an incoming update message changed from defined to undefined, the adapter set that field's value in the resulting tuple to null. Fields missing in the update message are also set to null to indicate that the field's value has not changed since the last update. To enable applications to differentiate between undefined fields and unchanged fields, the new property has been added to the adapter to cause it to set undefined numeric fields to 0 instead of null. By default, the property is not selected, preserving the adapter's legacy behavior.
- Change in Default Time Format for CSV Adapters
-
The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:
yyyy-MM-dd hh:mm:ss.SSSZ
The new default format is the following, with the hours field now uppercase:
yyyy-MM-dd HH:mm:ss.SSSZ
- Updates to Documentation
-
The StreamBase documentation for release 7.4.3 includes all the documentation updates reported for release 7.4.2. Specific updates include:
-
The temperature conversion example in the documentation for Defining Functions in the Expression Language was corrected and expanded to more clearly illustrate how to provide an EventFlow function to an operator.
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.
-
TIBCO StreamBase® CEP 7.4.2 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.2 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were packaged with TIBCO StreamBase CEP in previous releases. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Be aware that the contents of this package are subject to change.
In the 7.4.2 release, the following adapters are no longer part of the StreamBase CEP Connectivity Package and now ship with the StreamBase CEP and StreamBase CEP Standard editions:
-
TIBCO StreamBase® Adapter for Bloomberg B-Pipe
-
TIBCO StreamBase® Adapter for Bloomberg BPOD
-
TIBCO StreamBase® Adapter for Bloomberg Server API
-
TIBCO StreamBase® Adapter for Bloomberg Tradebook FX
-
TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface
-
TIBCO StreamBase® Adapter for GAIN GTX
-
TIBCO StreamBase® Adapter for Hotspot FX
-
TIBCO StreamBase® Adapter for Hotspot ITCH
If you have purchased these adapters as part of CEP 7.4.2, you no longer need to install the StreamBase CEP Connectivity Package to access them.
StreamBase 7.4.2 adds the following updates and new features:
- Forms-Based Editor for JMS and EMS Adapter Configuration Files
-
This release includes a new graphical editor for configuring the properties of JMS and EMS adapters that makes it easier to specify and reuse name maps and other configuration elements. The editor can also import settings from TIBCO Businessworks™ applications. The new UI eliminates the need to hand-edit
.jmsconf
XML files under most circumstances. For more information, see StreamBase JMS Configuration File Editor in the StreamBase Studio Reference Guide. - Parameterize Property Values for Adapters and Java Operators in Property Views
-
To more easily reuse Java operators and adapters across application contexts, StreamBase Studio now allows you to enter parameters and expressions for Java Adapter and Operator properties that do not use text boxes. In such components, all check boxes, radio buttons, and drop-down menus now optionally display a small T icon
. Clicking the icon converts the control to a text field where you can enter the name of a module parameter in
${param}
format or a StreamBase expression in=expr
format.By default, the icons are hidden. To display them, clear a new preference check box,
, found under → → → . A keyboard shortcut is also available.Property views of standard StreamBase operators and data constructs do not have this feature. For further information, see Parameterizing Java Operator and Adapter Properties.
- Launch sbd Process with JVM Suspended
-
To provide complete access to an sbd process by a remote debugger, a launch configuration can now specify that the server's JVM be suspended when the process is launched. The JVM then resumes once the remote debugger attaches to the process. To enable this, use the new Suspend JVM Initially check box in conjunction with the Allow Remote Java Debugging check box when creating a launch configuration. For more information about how this works, see Editing Launch Configurations.
- Parameter Removed from Pattern Operator
-
As of this release, the Pattern operator's
polling-interval
parameter is no longer supported, and causes an error if it is present. To correct your applications, open your EventFlow module's.sbapp
file in a text editor and search for the stringpolling-interval
. If found, remove the entire<param>
element that contains that string. - New Function to Return NaN
-
The simple function
nan()
returns a NaN literal as type double. This is the same value returned from the expressionsqrt(-1)
. - Updated TopN Query Sample
-
The QueryTopN sample was revised and made easier to use by giving its Query Table a simpler schema and making the table self-loading. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.
- Updated Custom Java Simple Function Sample
-
Two new Java functions were added to the Java Simple Function sample to demonstrate how to handle variable-length argument lists.
- Eclipse Studio Update Site Is Now Downloadable
-
Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. The StreamBase Studio plug-ins can now be used with Eclipse versions 3.7, 3.8, 4.3, and 4.4.
- New Adapter for Connecting to Citi FX Option Venues
-
The TIBCO StreamBase® Adapter for CitiFX Options FIX allows a StreamBase application to connect to and exchange FIX messages with the following Citi Options product. See its documentation here.
- Input Binary Files to File Reader Adapter
-
An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a blob field.
- New Options for Bi-Directional Socket Adapters
-
-
All bi-directional socket reader adapters can now handle the
Disconnect
command when in server mode, using the incoming tuple fieldSocketIdentifier
to determine which connection to close. -
All bi-directional socket writer adapters now have a
option, which closes the incoming connection after a write is performed. -
The Bi-Directional JSON Socket Reader adapter can now accept incoming HTTP headers before parsing the JSON payload, enabling it to process data as HTTP request responses.
-
- New Options for the Web Reader Input Adapter
-
-
PassThroughFields
, which contains the entire contents of the incoming control tuple. -
Use this option with caution because ignoring certificate warnings can enable man-in-the-middle attacks.
: When enabled, any errors produced by invalid SSL certificates are ignored and the website is processed as usual. -
-
- Attachments to Email Sender Adapter Can Be Blobs Instead of Files
-
You can now provide an attachment to the Email Sender as a blob, which can be simpler than providing a local file name. In addition, you can also now specify each attachment's content type and encoding.
- Bloomberg B-Pipe Input Adapter Updated
-
The following updates were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe:
-
A reference data output port and schema specification were added to enable the adapter to respond to reference data requests. See the output ports section of the adapter's page in the Adapters Guide.
-
Users of the adapter can now specify which of five types of authentication to use. See the table in the ports section for details.
-
- EBS FIX Adapter Protocol Updated
-
The TIBCO StreamBase® Adapter for ICAP/EBS was updated to use version 1.6 of the EBS FIX specification.
- Updates to Documentation
-
-
A documentation page was added for the new JMS Configuration File Editor.
-
Entries were added to the StreamBase Glossary.
-
Information was added to the sample READMEs for the family of Bi-Directional Socket adapters.
-
TIBCO StreamBase® CEP 7.4.1 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.1 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.11.
StreamBase 7.4.1 adds the following updates and new features:
- Specify Time Zones for Timestamp Field Functions and strftime()
-
The time-getting functions
get_second()
...get_year()
now take an optional second argument, a string literal, for example"UTC"
or"Europe/Zurich"
. When called with one (timestamp) argument, the functions return local time. Providing a recognized time zone ID as the second argument returns the requested unit of time for the specified time zone. Use the Java functionTimeZone.getAvailableIDs()
to get a list of all time zone IDs. For more information, see Specifying Time Zones.In addition, the
strftime()
function has a new optional argument to format timestamps for a specified time zone instead of local time. - Aggregate-to-List function Excludes Null Values
-
Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).
- Function for Current StreamBase Version
-
The new version() function returns the version of the currently executing StreamBase CEP as a string.
- Feed Simulation Updates
-
-
In the Data File options dialog, the Custom Reader button has been replaced by a check box which, when selected, lets you specify a fully qualified class name in a text field next to it. This change reminds you of the plug-in you are using when you return to the feed simulation UI again.
-
Data files for feed simulations can now occupy a different folder than the feed simulation itself, enabling simulations in different projects to share data sources. You can specify either an absolute or a relative path to data files in the Data File Options dialog. For more information, see Using the Feed Simulation Editor.
-
In feed simulations that read from data files, you can now specify "None" when mapping columns to fields rather than having to choose a column. Use this option to populate fields that are not represented in the data file with nulls.
-
You can use Eclipse internal links to specify data files. Note that the feed simulation identifies and stores the actual file location, not the link itself.
-
- Send and Receive Tweets from StreamBase Applications
-
The TIBCO StreamBase® Twitter input and output adapters enable a StreamBase application to interact with the Twitter service using the twitter4j library. The adapters receive, send and retweet tweets and issue other commands, such as searching and filtering.
- Hotspot FX Market Feed and Execution Adapters
-
The new TIBCO StreamBase input and output adapters for KCG Hotspot FX allows a StreamBase application to connect to and exchange FIX messages with KCG Hotspot BookFeed Market Data and Order Entry And Execution services. See the Adapters Guide for more information.
- Compare Missing Tuples to Unexpected Tuples in Unit Tests
-
To provide more useful diagnostics, SBUnit test failures with multiple missing/unexpected tuples now throw a ComparisonFailure instead of an AssertionFailedError.
- JDK Updated to 1.7_55
-
StreamBase kits now install runtime components of JDK 1.7_55 (also called 7u55).
- Sample Illustrates Type Coercion Rules
-
Running the Type Coercion Sample shows how same-named numeric field values with certain compatible types can all appear to be carried by a new field with a type compatible with all original values.
- Sample for Setting Debugger Breakpoints
-
The DebuggingBreakpoint sample illustrates setting unconditional and conditional breakpoints on data arcs when debugging applications in StreamBase Studio.
- Updated JDBC Query Sample
-
The StreamBase sample explaining how to use JDBC data sources has been completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.
- Documentation Updates
-
The StreamBase documentation for release 7.4.1 includes all the documentation updates reported for release 7.3.11.
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website.
-
An explanation of configuring clients and servers to run on SSL connections using the
sbs://
protocol was added. See SSL Authentication in StreamBase References.
-
This section details changes in behavior between the 7.4.x series and the 7.3.x series.
- Change to StreamBase Studio Behavior for Launching Applications in Project Subfolders
-
If one EventFlow application references a second EventFlow application in the same subfolder within a project, you must add the subfolder to the module search path in order to run the referencing application. One symptom of failing to do this is receiving a "module not found" message from the debugger when attempting to step into a referenced module. This behavior differs from StreamBase Studio 7.3.x and previous releases, in which the referencing application would start without the subfolder being added to the module search path.
Note
The file names of TIBCO StreamBase® CEP, TIBCO StreamBase LiveView®, and adapter installers have recently changed, and are structured as follows:
TIB_<productid><major>.<minor>.<servicepack><os_id>_<hw_arch>.<container_suffix>
For example, the Windows installer for this version of StreamBase CEP is:
TIB_CEP_7.4.0_win_x86.msi
for 32-bit windows, or
TIB_CEP_7.4.0_win_x86_64.msi
for 64-bit windows
Access installers for your TIBCO StreamBase license products via login at download.tibco.com. After you log in, search for "StreamBase". When you click a product's name in the resulting page of results, the installers available for it are listed.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change.
TIBCO StreamBase® CEP 7.4.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
TIBCO StreamBase® CEP 7.4.0 inherits the updates and new features added to maintenance releases of previous release series, through and including release 7.3.10.
TIBCO StreamBase® CEP 7.4.0 added the updates and new features shown in the following sections.
- New Iterate Operator Functionality
-
The iterate operator has the following new features
-
An expression for list to iterate over.
-
An optional while expression.
-
Target list for output expressions.
Operators in existing applications still run as expected. For details, see Changes to the Iterate operator.
-
- Updates to Aggregate Operator
-
-
Time-based emission no longer requires additional tuple input.
-
Constant expressions are allowed when specifying size, offset, emit and advance values.
For details, see Changes to the Aggregate Operator, below.
-
- Updates to Gather Operator
-
-
New options and UI for controlling timeouts.
-
Control over emissions for partially gathered tuples.
For details, see Changes to the Gather Operator, below.
-
- Updates to Metronome and Heartbeat Operators
-
-
Use expressions to set output field values.
-
Suppress all but last heartbeat tuple following a delay.
For details, see Changes to the Metronome and Heartbeat Operators, below.
-
- Updates to Query Tables
-
-
Query Tables can now be shared across containers as well as across modules.
-
New and relocated options in the Query Table properties view.
-
Stricter rules for qualifying fields when inserting and updating tables.
For details, see Changes to Query Tables, below.
-
- Studio: Automatically Maintain Server Configuration Files
-
To make them more transportable, StreamBase projects have a new option, , found under → → → . Under this option, StreamBase Studio automatically updates configuration files containing settings that StreamBase Server may require to run the project. This feature is particularly useful for sharing projects, for example via a source code control system, in a ready-to-run state. New projects use this synchronization feature by default. To apply it to existing projects (highly recommended), select the option in the project properties dialog, as described above. For more information, see How Studio Uses Server Configuration Files.
- Studio: Import Schemas from XML and CSV Files
-
The Copy Schema
wizard, available from Edit Schema tabs and dialogs, now enables you to:
-
Parse an XML file to import a schema. This functionality is also available from the XML to Tuple operator Properties view.
-
Browse to a CSV file and populate a schema with field names taken from the file's header.
The wizard can infer data types in many cases and defaults to string when it cannot do so. You can always change the resulting field names and data types that the wizard produces. For more information, see Copying Schemas.
-
- Studio: New Context Menu Item to Create Feed Simulations for Input Streams
-
You can create feed simulations for an input schema more easily now by right-clicking on an Input stream and choosing Create New Feed Simulation from the context menu. The feed simulation editor initializes with the selected schema in place. If you select more than one input stream, the feed simulation editor will initialize with a separate stream for each selected input schema.
- Studio: Improved Feed Simulation Editor Column/Field Matching
-
When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.
- Studio: Feed Simulation Field Values Can Depend on Other Fields
-
The Custom feed simulation option has a new Conditional Generation Method. Selecting it for a field lets you specify generation cases for that field that are based on values generated for another field or a combination of fields. You can base conditional fields on other conditional fields, as long as there are no circular dependencies. For more information, see Using the Feed Simulation Editor.
- Send Feed Simulation Streams to Separate Containers
-
By appropriately naming feed simulation streams and configuring a .sbdeploy file, you can now direct its streams to different containers, not just the default containers.
- Studio: Java Operators and Adapter Parameters Can Be Expressions
-
Expressions are now allowed as Java operator parameters. Any operator parameter that starts with an
=
character (equals sign) is parsed as an expression at initialization time. Not "baking in" Java operator parameters enables applications to be deployed into a wider variety of runtime environments. - Studio: New Schema Fields Default to String
-
When you add a field to a schema for a stream or operator in StreamBase Studio, its data type now defaults to string. Previously, new fields defaulted to type int.
- Studio: Module Parameter Definition Changes can be Undone and Redone
-
You can now undo and redo changes you enter in a module's Parameter Definition tab for the following actions:
-
Add Parameter
-
Delete Parameter
-
Delete All
-
Move Up
-
Move Down
-
- Studio: New Source Tab in Debug Configuration Dialog
-
The Debug Configuration dialog now includes a Source (Java) tab, which defines the location of source files used to a display source when debugging Java code as part of your StreamBase application. By default, these settings are derived from the current project's Java Build Path. You can override the default settings in the Source tab.
- Studio: Access Extension Point Modules from Context Menu
-
The Shift+F3 while an extension point is selected.
item on the context menu now has a sub-menu for directly opening any of the associated module instances. You can also access the sub-menu from the menu or by pressing - Studio: Custom Icons Supported for Extension Point Operators
-
Use the General tab of the Properties view for an Extension Point operator to specify a custom icon for that operator to appear on the EventFlow canvas. Icon image files must be in PNG, GIF, or JPG format, and must exist in the project's resource search path. Size your image file as appropriate to fit on the canvas without displacing adjacent operators, aiming for a recommended size of no more than about 64x64 pixels. See Extension Point Operator, and the
ExtensionPoint.sbapp
sample in theoperator
sample group for an example of an extension point with a custom icon. - Studio: Confirmation no Longer Required to Delete Objects from Canvas
-
When you delete an operator, adapter, stream, arc, note, or module from the EventFlow canvas, you are no longer prompted to confirm the action. You can undo any such removal, whether you have deleted one or multiple objects.
- Module Reference Tooltips Now Show Parameters and Stream Mappings
-
Tooltips shown while hovering over a module reference in StreamBase Studio now show parameter substitutions and how input and output streams are mapped, in addition to the module's name. Previously, you had to open the referenced module to obtain this information.
- Programmatic Control of Time in JUnit Tests
-
You can now control the passing of time in EventFlow applications, which is useful when running unit tests of applications that react to time (timeouts or metronomes for example). You can, for example, run a unit test, enqueue events that should all be received by the application within one second, and then tell the server that one second has elapsed, aligning the EventFlow logic more closely with a real-world input stream.
Several Java classes and interfaces and a new enum have been added to provide this control. For more information, see Advancing Time Programmatically in Unit Tests in the Test/Debug Guide.
- Studio: Changes to the Aggregate Operator
-
The following updates were made to the Aggregate Operator:
-
In any dimension dialog, you can now enter a simple numeric constant expression for size, offset, emit and advance values, as you already could for Predicate-based dimensions.
-
Time-based windows now close and emit once the specified interval (window size) is reached, without requiring further tuple input. This means that it is no longer necessary to tickle time-based windows with null tuples (such as from a Heartbeat operator) to cause them to close and emit.
-
- Studio: Changes to the Gather Operator
-
The flexibility and usability of the Gather operator has been enhanced in several respects:
-
Rather than buffering unmatched tuples indefinitely, Gather now emits tuples after a set amount of time has passed, even if not all of the inputs have been received. When a new tuple ID is encountered, a timer keyed to it starts counting and is not cleared until all matching tuples have been gathered and emitted. If that tuple ID times out, a tuple is emitted containing null entries for unmatched fields.
-
"Application timeout" no longer causes replacement policy to switch from "keep last" to "keep first." You can now specify replacement policy and emission strategies independently. There is also a new replacement policy named "keep first (strict)", which emits errors when duplicate entries come on the same input port.
-
"Output last time" no longer also enables the behavior of "only emit on application timeout". You can now specify which emissions strategies are enabled, and whether or not to add a last_time field independently. The typechecker will warn you if last_time is not guaranteed to be monotonically increasing (this is the case when you have application timeouts combined with other emission strategies.)
-
In addition to specifying a timeout interval, you can also now force emission by specifying a predicate expression on the inputs which, when evaluating to true, will emit partial tuples.
Operation of the timeout feature is demonstrated in an updated Gather sample.
-
- Studio: Changes to the Iterate operator
-
-
The Operations Settings tab now has Iterate Over, Iterate Condition, and Iterate Filter fields in place of the Iterate Over and Output Element Field Name fields provided in prior releases.
-
Iterate Over remains a field name or an expression that evaluates to an input field of type list
-
Iterate Condition is a boolean expression, which when false, terminates iteration, like in a while loop. Both simple and aggregate expressions can be specified.
-
Iterate Filter is a simple boolean expression, which when false, skips the current list element.
-
-
The Output Element Field Name setting has been replaced by a new Output Settings tab, having the following features:
-
An Input Fields grid, enabling you to choose which input fields to include in or drop from the output. By default, all fields are output at each iteration, subject to the Iterate Filter.
-
An Additional Expressions grid, enabling you to construct output fields, as you can with a Map operator.
-
-
The operator provides internal access to the list being processed and the current element's content and index for use in expressions.
Iterate operators in existing applications should continue to work normally. For more information, see Using the Iterate Operator.
-
- Studio: Changes to the Merge Operator
-
You can now merge data from more than two input streams. The Merge Settings tab now allows you to choose or enter the number of input ports to merge from. You can also drag an arc onto the operator to add an input port.
- Studio: Changes to the Metronome and Heartbeat Operators
-
To prevent the Metronome operator from issuing multiple tuples following delays in servicing it, you can now suppress all but the latest tuple. Select the new check box
in situations where downstream operators or applications that consume output streams are unable to keep pace with the metronome. This can occur when its output interval is very short.You can now prevent a Metronome operator from firing by setting the value of its output interval to 0.
Both the Metronome and Heartbeat operators can now accept constant expressions in addition to strings and parameters to define their output interval (and the Heartbeat Maximum delay property).
- Studio: Changes to Query Tables
-
-
Query tables can now be shared across separate containers at run time:
To reference a table in the same or a different container, enter a connection string for it in the Table Settings tab. The string is a fully qualified path that includes a container name, module and sub-module names, and a table name.
-
Some controls in the Query Table properties view have changed or moved:
In particular, the Table Schema drop-down has moved to the Schema Tab, and a new drop-down named Table Location appears on the Table Settings tab. On the Initial Contents tab there is a new check box,
, that is enabled when the is selected when importing CSV files that have headers. -
Inserting or updating table rows using ambiguous (unqualified) field names may now generate warnings, unlike in previous releases.
In previous releases,StreamBase Studio would default unqualified identifiers to
input.
. Now you are warned, and may either suppress the warnings or update the ambiguous identifiers. For additional details, see the release note for SB-25658 in Limitations Resolved in 7.4.x.fieldname
For migration information about data constructs, see EventFlow Editor 7.4 Changes. The Query Table UI is documented in Using the Query Table Data Construct.
-
- Studio: JDBC Query Operator Reports Reconnection Events
-
When using a Query operator associated with a JDBC Table data construct, if a reconnection to the data source becomes necessary, a tuple is now emitted on the Error Output Port of the Query operator with the message
Attempt reconnect to data source
. When the reconnection succeeds, another tuple on this port reportsSuccess reconnecting to data source
. - Studio: New Configure Sources Link for JDBC Tables
-
The JDBC Table data construct now has a hyperlink labeled configure sources on the Data Source tab of its Properties view. Use the link to open the project's server configuration file. If no configuration file exists for the current project, clicking this link opens the New StreamBase Server Configuration File dialog to create a new, empty configuration file. See Using the JDBC Table Data Construct.
- Studio: Changes to the Sequence Operator
-
You can now place a Sequence Identifier in any suitable numeric field from the input stream rather than having to declare a new field to hold it.
- Studio: Automatic Port Deletion for the Union Operator
-
Starting with this release, when you delete an arc entering a Union operator, or you delete the component immediately upstream of such an arc, the corresponding input port is automatically removed from the Union operator, and the count of input ports on the Union Settings tab of the Properties view is decremented.
- Studio: Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator
-
Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:
-
Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.
-
XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.
-
Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.
-
Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.
See Using the XML to Tuple Operator in the Authoring Guide for more information.
-
- Studio: Schemas for Arcs Can Be Forward Declared
-
You can now forward declare most arcs, not just those in loops, using the same UI as for Output Streams. As before, you can use this to break loops, but now it also works for other purposes, such as reordering fields.
Changes to how EventFlow canvas displays operators, adapters and arcs:
- Objects Have a More Consistent Look
-
-
Operators no longer have drop shadows when selected.
-
Data Construct diamonds have a thinner border and no drop shadow when selected.
-
Stream arrows are thicker, the text now a non-bold larger font, "INPUT" and "OUTPUT" are now "Input" and "Output", the border is now thinner, and there is no more drop shadow
-
When dragging a canvas object, the ghosted figure that displayed as you reposition it has a drop shadow and no blue selection background.
-
- New Flat Visual Theme in Studio
-
Version 7.4 gives you a choice of two themes for displaying canvas objects, "Flat" and "Classic". The two Query operator icons below illustrate the difference in appearance between the themes.
Classic Flat The new Flat theme is the default. To revert to the Classic theme, navigate to Theme.
→ → → → and click the button underFor a complete comparison of Studio icons, see EventFlow Editor 7.4 Changes.
- Single Palette Icon for Adding Adapters and Java Operators
-
There is now a single palette icon for adding a Java operator, .NET operator, Input adapter or Output adapter to an EventFlow canvas. It works the same way as the adapter and Java operator palette icons in earlier releases of StreamBase Studio; you drag it to the canvas and pick a specific operator or adapter from a pick list. The new icon looks like the following:
For further information, see EventFlow Editor 7.4 Changes.
- Data Arcs connecting Query Tables and Operators now Depict Query Type
-
To more clearly depict how Query operators use Query tables, StreamBase Studio now renders all such connecting arcs as follows:
-
Dashed lines indicate Query Reads
-
Dotted lines indicate Query Writes
-
Dashed-dotted lines indicate deletes
The styles are illustrated in Using the Query Operator.
-
- Stream Arcs Are Now Bendable
-
You can introduce curves into a stream arc by selecting it and dragging a black square handle that appears at the arc's midpoint. Displacing that point adds an inflection point and also two new handles on either side of it, which you can then displace to approximate a curve. To remove an inflection point, click and drag it back to a straight-line position. Moving either object that a curved arc connects removes all inflection points. You can still curve arcs automatically using the Ctrl+Alt+L). Both features only affect stream arcs. Data arcs are always straight.
feature ( - Notes on a Studio Canvas Can Be Attached and Rearranged
-
You can now disconnect a note from a component and connect it to other components after the note has been created. In addition, a tool tip displays the content of a note when you hover on a connection to it. See Using Notes for details.
- New Palette of Custom Colors for Group Backgrounds
-
The color chooser for setting group backgrounds now has a more harmonious palette of recommended choices for custom colors. You can still define your own background colors.
The EventFlow Debugger in Studio was extensively rewritten to provide the following new features and changes:
-
The Debugger now provides seamless debugging between EventFlow code and user-written Java code for functions, operators, and adapters.
-
The default, filtered Debug view includes frames that map to EventFlow arcs, and includes Java stack frames for code in custom adapters or operators and in Java code called from them. The default view excludes Java frames for StreamBase-proprietary server-side code.
Before debugging, see the Limitations and Cautions on the EventFlow Debugger page.
- Call Custom Java Functions with Variable-Length Arguments
-
You can now implement vararg syntax in custom simple and aggregate Java functions that you invoke with
calljava
or with a function alias. - Call Custom Java Functions with Lists
-
EventFlow lists and lists of lists of numeric types are now transparently passed to plug-in Java functions as Java arrays, improving efficiency and interoperability with mathematical libraries. As a result, you can pass a StreamBase list to a Java function. This enhancement also allows you to pass lists of lists to functions expecting array arguments. For example,
list(list(int))
can be passed to functions acceptingint[][]
. Note that array arguments cannot exceed two dimensions. See Method Parameter and Return Types in Creating Custom Java Functions. - Partially Anonymous Schemas with Generated Names are now Fully Anonymous
-
In previous versions, StreamBase generated internal names for streams with anonymous (unnamed) schemas, names such as "
schema:InputStream
". These generated names have been eliminated, and can no longer be relied upon for client API requests of schema by name, such asStreamBaseClient.getSchemaByName(String)
(or similar C++, .NET, and Python APIs, and the sbc list schema command). To find the schema of the stream, request the stream properties based on the stream name. - New Operator/Adapter API Identifies Applicable Named Schemas for Studio Users
-
Two new methods in the Operator class have been added that identify schemas that may be appropriate for input and output ports:
-
getProposedInputSchemas(String mainName)
-
getProposedOutputSchemas(String mainName)
String argument
mainName
specifies the prefix for the top level schema, which should also be used for any sub-field schemas.The methods check for applicable named schemas and return arrays of type Schema that StreamBase Studio can suggest to the user for configuring input and output ports, respectively. When a custom operator or adapter implements the API, users editing adapter properties can import schemas to a project. When an adapter is so enabled, StreamBase Studio presents a hyperlink labelled s to allow schemas to be imported into interface or application files. For example, the FileReader input adapter has that link at the top of its properties view, as shown in this illustration.
Clicking the hyperlink opens the Save Named Schemas dialog displaying the schema(s) you can import into an existing
.sbapp
or.sbint
file or a new.sbint
file.Most embedded input adapters are equipped with this feature.
-
- Parsing Java DateFormat Strings
-
StreamBase APIs that parse timestamps from strings have new methods that accept a Java DateFormat to assist in parsing. If you find that existing code which worked before no longer parses certain strings, update it to use these new APIs. Specifically, should parsing errors like "Invalid timestamp format" occur, look for methods that accept Java DateFormat arguments and make sure the arguments you are passing conform to that format.
The following features were added to the StreamBase expression language in release 7.4.0:
-
New Function Data Type
StreamBase expression language now natively supports creating and saving a function. Any StreamBase expression can now be stored as a function. A saved function can be data on a stream, stored in a table, or passed as an argument to another function. Consequently,
function
is now a reserved expression language keyword.See Defining Functions in the Expression Language for an example of creating a function in StreamBase expression language, which you can further explore by running the sample EventFlow Function Sample.
-
New Function to Compile User-Defined Functions
The new
compile
function turns a string into an EventFlow function that can return any specified StreamBase data type. The string can contain any valid StreamBase expression. Besides the expression defining a function body, compile also accepts tuples to define argument lists, the return type, and local variables. -
New List Manipulation Functions that take Functions as Arguments
The following higher-order functions have been added:
-
filterlist()
– Removes elements of a list that fail a test provided by the input function -
foldleft()
– Applies an accumulator function forwards over a set of lists of the same length and compatible type -
foldright()
– Applies an accumulator function backwards over a set of lists of the same length and compatible types -
maplist()
– Applies a function to corresponding elements of multiple lists and collates the results as a single list -
mergelist()
– Merges a list of sorted lists and sorts the output using its input comparison function.In addition,
sort()
has a syntax that passes in a custom comparison function. It works likemergelist()
, but operates on single lists, whilemergelist()
operates on a list of lists.For more information, see Functions as Arguments.
-
-
New Simple and Aggregate Correlation Functions
You can now compute four different measures of correlation for sets of numeric data values. Each function has a simple and an aggregate form. Click the links to see the simple function documentation:
The existing aggregate function
correlation_coefficient
has a new syntax that lets you specify the four types of correlation to perform, and can accept either bivariate or multivariate data. A new simple function version ofcorrelation_coefficient
that accepts list inputs has been added.A new aggregate helper function, rank(), computes the rankings of a double field in an aggregate window and outputs the rankings as a list of doubles.
-
New Exclusive OR Function
The
xorall
function evaluates the logical exclusive OR (XOR) of two or more boolean input expressions. The function returns true when an odd number of inputs are true and false otherwise. -
New Aggregate Function Extends count()
A
countlong()
function, which counts tuples in aggregate windows, has been added. It has the same functionality ascount()
but returns a long result. -
New String Functions and Operations
-
New Syntax and Aggregate Version for join()
You can now call the simple function
join(string separator, list(T) L)
without the first argument,separator
if you do not need to insert a separator between list elements.An aggregate version is now available:
string join(string S, string separator)
. IfS
is empty, no separators are inserted. -
New Function to Convert CSV strings to tuples
The
parsecsv
function accepts a string formatted as comma-separated values (CSV) and returns a tuple. For a related new StreamBase Studio feature, see Import Schema from XML and CSV Files in Studio: New Features and Updates -
New Function to Generate Random Strings
The
randomstring(len)
function returns a random alphabetic string selected from the character set A-Z. -
Repeat Strings Using the * Operator
Similarly to string concatenation (
"a"+"b"+2 -> "ab2"
), now you can repeat a string or single character multiple times using the*
operator ("abc"*2 -> "abcabc"
). See String Repetition for details.
-
-
New Time and Date Functions
-
The
get_day_of_year()
function outputs the Julian date represented by a timestamp or by numeric (year, month, day) arguments. -
The
from_unixtime()
function outputs an absolute timestamp from a double value assumed to represent the number of seconds before or after the start of the Unix epoch (00:00:00 UTC, 1 January 1970).
In addition,
parse_time()
has a new syntax that accepts extra arguments to customize time strings for a specific locale (language, country, or region). -
-
Specify Binary and Hexadecimal Int and Long Numbers
You can now specify numeric literals as base-2 and base-16 numbers using the prefixes
0B
or0b
(binary) and0X
or0x
(hexadecimal), respectively. To represent such a numeric literal as a long instead of an int, terminate it withL
orl
. -
Expressions evaluated by
eval()
can now reference custom functions by the function alias.
- Secure Plain Text Entry Option for sbcipher
-
sbcipher, which enciphers text or generates cipher keys for configuration files, has a new command line option:
-
--prompt
— From a shell, prompts securely for plain text input, or text can be piped from stdin
The
--prompt
option prevents sensitive text from appearing in your session history. For details, see documentation forsbcipher
. -
- New sbadmin Command
-
- manageJdbcConnections
-
This command is used with the following syntax:
sbadmin manageJdbcConnections close|count [datasource-name]
If your application has more than one JDBC connection, specify a
datasource-name
for the connection you want to manage, using a<data-source>
name specified in the server configuration file. Thecount
subcommand returns the number of open connections to this data source, while theclose
subcommand closes the JDBC connection without having to shut down the server or container.
- Identify Configuration Files for Unit Tests
-
Instead of using
sbunit -f config-filename
When running unit tests, you can specify the path to the.sbconf
file the test should use with either the Java system propertystreambase.unit-test.server-conf
or the environment variableSTREAMBASE_UNIT_TEST_SERVER_CONF
.
- New EMS Reader and Writer Adapter Pair
-
The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.
- Share Bi-Directional Socket Data Transformer
-
A
option has been added to the TIBCO StreamBase® Bi-Directional Socket Writer adapter, enabling it to use the same data transformer as the socket reader. Sharing maintains the state of the transformer between read and write operations. - Cannot Configure Concurrency for Adapters that Cannot Have Multiple Instances
-
Some adapters can only be instantiated once and thus cannot run concurrently. All such adapters now suppress the Concurrency tab in StreamBase Studio to prevent configuring multiple instances of them.
- New Summary Column in Thomson Reuters Schema Designer View
-
The Results grid in the Thomson Reuters Schema Designer view now has an In Summary column, which for each FID row is either blank or contains
Yes
. Use this column to help select fields when generating a schema for a summary-only tuple. See Thomson Reuters Schema Designer View.In addition, the RFA.jar library has been updated to version 7.5.1.
- StreamBaseFIX Engine
-
StreamBaseFIX engine is renamed to TIBCO StreamBase® High-Performance FIX Engine and is available for separate download. This engine is required to run FIX adapters using FAST (FIX Adapted for Streaming) protocol.
- Schema Updated for Trading Components CitiFX Vol Market Data Handler
-
The FXQuoteDataSchema has been updated to included an extra field named OptionsExtendedData, which is used by the CitiFX Options Vol market data handler. The FXQuoteDataSchema is used by FXTopOfBookSchema and FXDepthOfBookSchema.
The following StreamBase features are deprecated as of release 7.4.0 and will be removed in a future release:
-
Support is deprecated for Microsoft Windows Server 2003 and Windows XP Professional, and will be removed in a future release.
-
Support is deprecated for StreamBase Studio on Linux platforms. TIBCO StreamBase technical support for Linux StreamBase Studio will be provided to developers on a best-effort basis. StreamBase Server will continue to be supported for Linux.
-
The
tupleid
identifier that exists in the Tuple API classes is deprecated. Tuple IDs add no value to end-user applications, as their value is in almost all cases always zero. In a future release, methods that reference tuple ID and methods that display it when serializing a tuple to a string will no longer do so. At that time, serialization of tuples will ignore requests to include tuple ids (which usually display as:tupleid=0
). -
The sbtest command is deprecated and will be removed in a future release. Use the sbunit command to run a StreamBase JUnit test class.
-
Support for compiling C++ StreamBase client applications for Windows with Visual Studio .NET 2005 (Visual C++ 8.0) has been deprecated.
-
Support for the TIBCO StreamBase Bloomberg BPOD Subscribing Input Adapter has been deprecated.
The following StreamBase features have been removed from release 7.4.0
-
The StreamBase Studio Saved Schema View, which was first deprecated in release 7.2, has been removed. In place of saved schemas, use named schemas and the EventFlow Editor's Definitions tab.
-
The TIBCO StreamBase Adapter for Microsoft Excel is no longer available. The TIBCO StreamBase Add-in for Microsoft Excel provides greater functionality and supports newer versions of Excel. Contact your TIBCO representative for more information on availability and features.
-
Function
Tuple.setTimestamp
has been removed as a public method. If you have used the signatureTuple.setTimestamp(field, long)
in a StreamBase application, you may have been using it improperly, as thelong
argument is an internal representation of an timestamp, not a Unix timestamp. To maintain compatibility, replace that call withTupleUtil.setTimestamp(field, long)
, but be aware that this method is also not part of the API and may be removed or changed at a later date. -
The Java 1.5 JDK is no longer supported for developing StreamBase extensions, which include custom operators, adapters, client applications, and monitor applications. Both StreamBase Server and StreamBase Studio have required Java 6 JDK since release 6.3. Going forward, you must use Java 6 JDK to develop client code.
-
The deprecated method
getApproximateSize
in the Schema class was removed in this release. There are no replacements for it, as this method should not have been used by clients and was never part of the API. -
The FXA Framework is no longer supported and was removed from this release. SchemaProvider.jar is no longer supported and no longer ships.
-
Support removed for Mac OS X 10.6 (Snow Leopard). Use the latest version of 10.7 (Lion) or 10.8 (Mountain Lion).
-
Support removed for 32-bit Linux
-
Support removed for 64-bit Red Hat Enterprise Linux Advanced Server 4 on x86_64 processors
-
Support removed for 64-bit Solaris 10 on SPARC processors
-
Support removed for Novell SuSE Linux Enterprise Server 10. Use SuSE 11 instead.
-
Support removed for Oracle® 9i
-
Support removed for Vertica 4.1
-
The Bovespa input and output market FIX adapters have been removed, because the product is no longer available or supported
-
Support removed for the InfoReach Adapter
-
Support removed for Thomson Reuters RFA External Adapter
-
Support removed for Thomson Reuters SFC External Adapter
-
The TIBCO StreamBase© Adapters for Apache Flume is no longer available for the Solaris x64 platform.
- Installer File Names Have Changed
-
StreamBase, LiveView and external adapter installers available from download.tibco.com have new names. See the above note for details. Specific platform file names are described in the Installation Guide.
- Microsoft Windows 8
-
This release of TIBCO StreamBase CEP fully supports the Windows 8 operating system.
- Support for 32-bit Linux Discontinued
-
TIBCO StreamBase CEP is no longer distributed for 32-bit Linux.
- Visual Studio 2008 (VC9) Libraries Are no Longer Included
-
StreamBase Studio no longer installs libraries for Microsoft Visual Studio 2008. If you use the Python interfaces for ActiveState or the python.org Python implementations, they will include the appropriate libraries. Visual Studio 2008 also installs these libraries.
- JDK 1.7 Bundled on All Platforms
-
StreamBase server now runs Java 7. For the first time, Java will be included with StreamBase on Mac OS X. Java from Apple or Oracle need not be installed. On all platforms, the
sb-config
Java options will return paths to the bundled JDK (the/jdk
directory under the StreamBase installation directory.) For Mac users, this means you no longer need to obtain Java from Apple. - Java Compiler Compliance Level Is now 1.6
-
StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.
- Subversion 1.8 now Supported
-
You can now use StreamBase Studio with working copies managed by Subversion 1.8 as well as prior Subversions.
- .NET API for EventFlow Functions Requires Full .NET 4.0
-
The StreamBase .NET API now enables EventFlow functions to be passed to .NET applications. As a result of this update, .NET clients will no longer run under the .NET 4 Client Profile (the "lite" version). You will now need to:
-
Make sure your application is targeting the full .NET 4.0 Framework when you compile
-
Make sure the machine running the application has the full .NET 4.0 Framework installed as well.
-
- StreamBase Studio Now Eclipse 4.3-Compatible
-
StreamBase Studio ships as a product built and bundled with Eclipse 3.8, but the plug-ins are now compatible with Eclipse 4.3. Install StreamBase Studio into Eclipse 4.3 by following the instructions in the StreamBase Studio Eclipse Update Site page.
- Studio Now Includes Eclipse EGit
-
The EGit Eclipse plug-in provides seamless access to files managed by the Git version control system, including projects hosted on the Github repository. EGit documentation is now included as part of the Studio Help system. EGit joins CVS and Subversive as the three team provider version control plug-ins included with Studio.
The sample modules and applications included in the StreamBase kit were updated as follows:
- New Sample: Run a StreamBase App in an Embedded Java Server
-
The StreamBase Studio sample Calling an Embedded StreamBase Server from Java demonstrates running a StreamBase Server embedded in a running Java program, and contains a cheatsheet that opens when you import the sample.
- New Sample: Shared Tables Across Containers
-
The StreamBase Studio sample Shared Tables Across Containers Sample illustrates how you can access a common table from separate containers, both for reading and writing.
- New Sample: EventFlow User-Defined Functions
-
To illustrate the new function data type, the StreamBase Studio sample EventFlow Function Sample demonstrates how an application can define functions in the StreamBase expression language in operators and as constants.
- New Sample: Creating Feed Simulations Containing Contingent Values
-
The StreamBase Studio sample Feed Simulation Conditional Field Sample shows how to generate fields in feed simulations whose values depend on the contents of one or more other fields.
- New Sample: Accessing Data from Complex Schemas in a Custom Java Operator
-
The StreamBase Studio sample Java Operator Complex Types Sample shows how to use the StreamBase Client API to retrieve fields and values from complicated structures such as nested tuples.
The StreamBase documentation for release 7.4.0 included the following updates independent of the above updates:
-
The article EventFlow Editor 7.4 Changes is provided to more fully describe new user interface features in StreamBase Studio and how some existing ones have changed.
-
The article Installing and Running StreamBase on 64-Bit Windows has been removed from the Install Guide and its contents incorporated into Installing StreamBase on Windows.
-
The article Using the Aggregate Operator contains a fuller explanation of aggregate expressions and their usage.
-
The Authoring Guide pages Aggregate Operator: Field-Based Dimension Options and Aggregate Operator: Time-Based Dimension Optionshave been rewritten to explain operator options and behavior in greater detail.
-
The organization and content of documentation gathered under Using Query Tables has been improved to make it easier to use.
-
Instructions for running the StreamBase sample Logging with log4j were added.
StreamBase 7.3.12 fixed several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.12 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with TIBCO StreamBase CEP. If you purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site. Note that the contents of this package are subject to change. In the 7.3.12 release, the following adapters are no longer part of StreamBase CEP Connectivity Package and now ship with StreamBase CEP and StreamBase CEP Standard Edition:
-
TIBCO StreamBase® Adapter for Bloomberg B-Pipe
-
TIBCO StreamBase® Adapter for Bloomberg BPOD
-
TIBCO StreamBase® Adapter for Bloomberg Server API
-
TIBCO StreamBase® Adapter for Bloomberg Tradebook FX
-
TIBCO StreamBase® Adapter for Digitec D3 Streaming Interface
-
TIBCO StreamBase® Adapter for GAIN GTX
-
TIBCO StreamBase® Adapter for Hotspot ITCH
-
TIBCO StreamBase® Adapter for Hotspot FX
If you purchased these adapters as part of CEP 7.3.12, you no longer need to install the StreamBase CEP Connectivity Pack to access them.
StreamBase 7.3.12 added the following updates and new features:
- New Aggregate-to-List Function Excludes Null Values
-
Like aggregatelist(), the new aggregatelistnonnull() function creates lists of expressions in the aggregate's window, but excludes nulls, emulating the syntax filternull(aggregatelist(expr)).
- Eclipse Studio Update Site Is now Downloadable
-
Eclipse users who wish to incorporate StreamBase Studio as an Eclipse plug-in can now obtain the latest Studio Eclipse update site online, as a downloadable zip archive available from the TIBCO distribution site. For more information, see StreamBase Studio Eclipse Update Site. Installing Studio 7.3.12 as an Eclipse plug-in requires Eclipse versions 3.7 or 3.8.
- Reference Data Request Port for Bloomberg B-Pipe Input Adapter
-
A reference data output port and schema specification were added to the TIBCO StreamBase® Adapter for Bloomberg B-Pipe to enable it to respond to reference data requests. See the adapter's page in the Adapters Guide for details.
- Authentication Choices Added to Bloomberg B-Pipe Input Adapter
-
Users of the TIBCO StreamBase® Adapter for Bloomberg B-Pipe can now specify which of five types of authentication to use. See the the adapter's page in the Adapters Guide table for details.
- New 29West Output Adapter for Acknowledging Messages
-
The TIBCO StreamBase 29West LBM Subscribe ACK Output Adapter enables a StreamBase application to acknowledge incoming LBM messages based on a topic and sequence number by performing an ACK operation when explicit ACK is enabled.
- Input Binary Files to File Reader Adapter
-
An option was added to The TIBCO StreamBase File Reader adapter to read a file as binary data into a single tuple as a a blob field.
- Change in Default Time Format for CSV Adapters
-
The default time format for the CSV File Reader and CSV Socket Reader input adapters was changed to use 24 hour time. Formerly, the default format was:
yyyy-MM-dd hh:mm:ss.SSSZ
The new default format is the following, with the hours field now uppercase:
yyyy-MM-dd HH:mm:ss.SSSZ
- TREP Subscribing Adapter Recognizes New Message Structure
-
The Service Provider Status for the TIBCO StreamBase Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe has been updated to handle the new Thomson Reuters message structure while remaining compatible with the old structure.
- UBS FIX Adapter Schema Updated
-
The schema for market data requests in the UBS FIX adapter was updated to match version 1.19 of the UBS specification.
- EBS FIX Adapter Protocol Updated
-
The ICAP/EBS adapter was updated to use version 1.6 of the EBS FIX specification.
- Updated JDBC Query Sample
-
The StreamBase JDBC Query sample explaining how to use JDBC data sources was completely revised to be more informative. It now describes using JDBC tables in a trading context, illustrates the use of stored procedures, and provides templates for connecting to several databases. As before, you must configure a database in order to run the sample application.
- Updated TopN Query Sample
-
The StreamBase TopN Query sample was revised and made easier to use by making its Query Table self-loading and with a simpler schema. The sample lets you specify how many top values to output and formats them both as tuples and as a list of tuples.
- Documentation Updates
-
The StreamBase documentation for release 7.3.12 includes all the documentation updates reported for release 7.2.15. Specific updates include:
-
The guide to Using the Help System was updated to describe locating, browsing, searching, and downloading StreamBase documentation on the TIBCO documentation website, with new illustrations.
-
An explanation of configuring clients and servers to run on SSL connections using the
sbs://
protocol was added. See SSL Authentication in StreamBase References. -
The Authoring Guide topic Using Stored Procedures was updated. It now references examples used in the new JDBC Query sample.
-
StreamBase 7.3.11 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.11 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.
StreamBase 7.3.11 adds the following updates and new features:
- Improved Flexibility in Mapping Elements to Field Names in XML-to-Tuple Operator
-
Four related properties added to the XML-to-Tuple operator provide greater control over converting XML elements to fields:
-
Enable Pass Through Fields — Replicates all fields from incoming tuples in the output.
-
XML Field — Identifies the field of the incoming tuple that contains the XML data when pass-through fields are enabled.
-
Field Name Replacements — Specifies text substitutions to make in XML elements before attempting to match them with output field names.
-
Use Namespaces — Enables matching of XML namespaces as well as elements to schema field names, including the namespaces.
See Using the XML to Tuple Operator in the Authoring Guide for more information.
-
- Change Log Level at Runtime in FIX Adapter
-
Users of FIX Adapters and Trading Components Handlers now can set the log level of a venue at runtime by issuing
setLogLevel
commands to a control port. Tuple values for the optional Log input field can dynamically set a log level and also control filtering of incoming and outgoing messages. For details, see Adapter Ports And Schemas in the FIX Adapter documentation. - New EMS Reader and Writer Adapter Pair
-
The TIBCO StreamBase® Adapter for TIBCO Enterprise Message Service™ allows a StreamBase application to connect to TIBCO EMS servers and exchange JMS messages. Note that unlike JMS adapters, which can connect to any number of JMS providers, the EMS adapters only enable connections to TIBCO EMS servers.
- Email Sender Adapter Supports Attachments
-
The TIBCO StreamBase® Email Sender adapter now supports attachments, identified by a static set of file names, a list of file names provided in a designated input field, or both.
- Syntax Support for JMS Reader and Writer Configuration Files
-
The StreamBase Studio XML editor now provides syntax highlighting and autocompletion when editing JMSReader and JMSWriter adapter
.jmsconf
configuration files. - Enhancements to File Reader Adapter
-
The following properties were added to the File Reader Input adapter:
-
A Charset property to support reading different character set encodings
-
A PassThroughFields property to enable replicating input tuples in the output fields
-
A FilenameField property to indicate which passed-through field contains the input file name
-
A FileContentsFieldName property to indicate the output field that holds the file contents when input fields are passed through.
-
- Documentation Updates
-
The StreamBase documentation for release 7.3.11 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.10 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.10 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
The TIBCO StreamBase CEP Connectivity Package contains several premium adapters that were previously packaged with StreamBase CEP. If you have purchased any of these adapters, install the StreamBase CEP Connectivity Package from your customer download site.
StreamBase 7.3.10 adds the following updates and new features:
- Status Port Added to StreamBase Admin Operator
-
The StreamBase Admin operator now has an optional status port that can be enabled to allow the operator to output status tuples to give the user more information during processing. Status tuples for the operator will be emitted for errors and rejections of input tuples. A rejection status tuple will be emitted if there is a problem validating the input tuple. An error status tuple will be emitted if there is an error during processing. Note that errors will also be emitted from the Error Output port, if it is enabled.
- On Mac, Use Cmd+R to Refresh Studio Typecheck Environment
-
The OSX shortcut to refresh a Studio project's Typecheck Environment has changed to Cmd+R, replacing the previous key binding of Cmd+F5, as Apple uses that to toggle VoiceOver.
- Smarter Filter for Studio Function Chooser
-
Searching for appropriate functions in the StreamBase Studio Function Chooser yields more pertinent results because it now matches your search term with any sub-string of a function name, not just initial sub-strings.
- Parse JSON Strings in Non-Strict Way
-
The new
parsejson_loose()
function works similarly to the existingparsejson()
function, but can (within reason) ignore JSON elements that do not conform to the schema definition provided. - Configure SBD with Separate Passwords for Key and Keystore Authentication
-
StreamBase Server configuration files can now have an optional
key-password
child XML element under thessl-authentication
XML element. Call the new Java Client API method,StreamBaseURI.getKeyPassphrase()
, to return the passphrase of the keystore key (defined by thekeypass
URI parameter). The existingStreamBaseURI.getKeystorePassphrase()
method returns the passphrase of the keystore file (defined by thekeystorepass
URI parameter). For backward compatibility, the keystore password is used to access the key if the key password (thekeystorepass
parameter) is not present. In that case,StreamBaseURI.getKeystorePassphrase()
returns value of thekeypass
URI parameter.For details, see the StreamBase Server Configuration File XML Reference and the Java API Guide documentation.
- Specify Timestamp Format for CSV File Writer
-
You can now format timestamps output from the TIBCO StreamBase CSV File Writer. The new Timestamp Format field on the Record Formatting tab specifies the formatting of timestamps when is set to or . The default format is
yyyy-MM-dd hh:mm:ss.SSSZ
. - New Sample for Using LDAP authentication with Active Directory
-
The LDAP Authentication sample demonstrates using Active Directory to limit access to certain StreamBase commands to users who can provide authentication credentials associated with one of the StreamBase roles.
- New Adapter Monitors Data Base Transaction Activity
-
The TIBCO StreamBase® Database Change Data Capture Input Adapter allows a StreamBase application to monitor changes to an Oracle or SQL Server database. It detects when records are inserted, updated, or deleted in a database table and can be customized to report changes to particular table columns.
- New File Writer Adapter and Sample
-
The new TIBCO StreamBase® File Writer Output Adapter writes tuples or single fields from a stream to a file. A sample application has been added that illustrates its use.
- File Reader Adapter Updates
-
The TIBCO StreamBase® File Reader adapter now supports GZIP-compressed files. In addition, its Control and Status ports now have properties that let them be disabled. They are still enabled by default.
- Improvements to Web Reader
-
The TIBCO StreamBase® Web Reader input adapter has new functionality and associated properties:
-
Basic authentication with username/password
-
Connection and read timeout
-
Output a tuple for each line of data received from the server
-
Automatic GZIP and Deflate decompression
-
- Updates to EBS Live XML Input Adapter
-
The EBS Live XML input adapter now has an optional status port which, if enabled, emits tuples on connection state transitions. Reconnect logic is included in this update.
- Log Adapter Can Compress Repetitive Messages and Accept Expressions
-
The TIBCO StreamBase® Log File Output Adapter has a new option allowing the end user to compress frequent messages. Activating the
property compresses messages within a specified number of seconds (the property). If the option is enabled, compression will take place without regard to timestamp fields, which can change for each tuple.In addition, new properties have been added for setting the logger name and for specifying a custom format using StreamBase expression language. For details, see the Log Output Adapter documentation.
- MQ Output Adapter Can Queue Tuples when Server Connection Fails
-
The IBM WebSphere MQ Output Adapter now has a Queue When Connection Down property that causes it to queue rather than reject tuples when the connection to the MQ server is down. When the connection is restored, the queued tuples get processed.
- New TREP Subscribe Adapter Property to Control Message Logging Level
-
The TIBCO StreamBase® Adapter for Thomson Reuters Enterprise Platform for Real-Time subscribe now has a Display Already Subscribed Messages At Debug Level property on its Debug tab that causes already-subscribed messages to be logged at DEBUG rather than INFO level.
- StreamBase-to-StreamBase Adapter Provides Defaults for Host and Port
-
The TIBCO StreamBase® StreamBase-to-StreamBase input and output adapter host and port properties now default to
localhost
and10000
, respectively. - New Fields for ActivFeed Input Adapter
-
Two optional special fields were added to the TIBCO StreamBase® ActivFeed input adapter:
UPDATE_EVENT_TYPE
andUPDATE_EVENT_TYPE_NAME
, which receive the numeric value and name of the event type of update messages. - Ports and Link Field Added to RSS Reader
-
The TIBCO StreamBase® RSS Reader now has status and command ports. It can also now insert the RSS Feed link into each item output to allow tracing back to the feed it came from.
- Support for Sybase RAP Removed
-
Support was removed for connectivity to Sybase RAP native databases.
- Documentation Updates
-
The StreamBase documentation for release 7.3.10 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.9 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.9 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.9 adds the following updates and new features:
- CSV File Reader Property to Preserve White Space
-
The CSV file reader adapter now has a Preserve Whitespace property, which, when enabled, preserves leading and trailing white space in string fields. For backward compatibility, the property is disabled by default.
- New Adapters
-
The following pairs of adapters have been added to enable two-way socket communication for various data encodings:
-
TIBCO StreamBase® Adapter for FXSpotStream
See the Adapters Guide for details on the new adapters.
-
- Deprecated Adapters
-
Support for the following adapters is now deprecated:
-
Wombat MAMA input adapter MAMA versions 3 and 4
-
Wombat MAMA output adapter MAMA versions 3 and 4
-
- Documentation Updates
-
The StreamBase documentation for release 7.3.9 includes all the documentation updates reported for release 7.2.15.
StreamBase 7.3.8 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.8 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.8 adds the following updates and new features:
- FTP Operator Improvements
-
The FTP Operator in StreamBase Studio now has equivalent functionality to the SBX FTP operator. The new features are:
-
An option to allow for asynchronous or synchronous operations
-
An option to allow for reading the local file as a resource file
-
An option to set the buffer size of the FTP operation to accelerate FTP transfers
-
An optional output port to emit tuples describing transfer progress
-
- Two New sbconf Parameters for Restoring Failed JMS Server Connections
-
When using JMS container connections, in the event the JMS server becomes unavailable the container will retry 10 times to reconnect, waiting 5 seconds between each try. You can override this behavior by setting the following values in sbd.sbconf:
<jms-connections-defaults> <param name="server-num-retries" value="XX" /> <param name="server-reconnect-interval" value="YY" /> </jms-connections-defaults>
XX
is the number of retries (0 means no retries, max value is 2147483647) andYY
is the number of seconds to wait between retries. - Disable Timeout for Spotfire Automation Services Adapter
-
If you want to disable the Connection Timeout property of a TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services, You can now specify 0 for its value.
- File Reader Can Now Map Single Lines of Text to Tuples
-
The File Reader input adapter has a new property,
, which is disabled by default. If you enable it, a tuple is emitted for each line read from the file. When disabled, the entire file contents is emitted in a single tuple. - New Socket Adapters
-
The following pairs of adapters have been added to enable two-way socket communication for various data encodings:
-
TIBCO StreamBase® Bi-Directional Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional BLOB Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional BLOB Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional CSV Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional CSV Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional JSON Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional JSON Socket Writer Adapter
-
TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Reader Adapter
-
TIBCO StreamBase® Bi-Directional Serialized Tuple Socket Writer Adapter
See the Adapters Guide for details on the new adapters.
-
- Deprecated Adapters
-
Support for the following adapters is now deprecated:
-
Wombat MAMA input adapter MAMA versions 3 and 4
-
Wombat MAMA output adapter MAMA versions 3 and 4
-
- Azul Zing System Tools Updated to 5.2.7
-
If you use Zing, run the
sb-install-zing-system-support
command to update to the new version of Zing System Tools (ZST).Due to limitations in some implementations of the rpm command, the TIBCO StreamBase Zing RPM no longer performs a check of Zing system support during installation, because it fails on certain versions of Red Hat Linux. To be confident about your Zing system configuration after an installation or upgrade, run
/opt/streambase/bin/sb-install-zing-system-support check
and pay attention to the messages that it issues. - Documentation Updates
-
The StreamBase documentation for release 7.3.8 includes all the documentation updates reported for release 7.2.15.
-
The article Installing and Running StreamBase on 64-Bit Windows has been removed from the Install Guide and its contents incorporated into Installing StreamBase on Windows.
-
TIBCO StreamBase® CEP 7.3.7 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.7 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.15, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.7 adds the following updates and new features:
- New Operators
-
StreamBase 7.3.7 delivers new operators:
-
TIBCO StreamBase® Operator for TIBCO ActiveSpaces connects to an ActiveSpaces Metaspace and Space and allows your StreamBase application to exchange tuples seamlessly with the Space.
-
The TIBCO StreamBase® FTP Operator is a global Java operator that provides a way to run FTP commands through a Java-based FTP client.
-
- New Operators
-
StreamBase 7.3.7 delivers several new operators:
-
TIBCO StreamBase® Operator for TIBCO ActiveSpaces connects to an ActiveSpaces Metaspace and Space and allows your StreamBase application to exchange tuples seamlessly with the Space.
-
The TIBCO StreamBase FTP operator is a global Java operator that provides a way to run FTP commands through a Java-based FTP client.
-
- New Input and Output Adapters
-
StreamBase 7.3.7 delivers new input and output adapters.
-
TIBCO StreamBase® Output Adapter for TIBCO Spotfire® Automation Services is used to post job execution, launch, and status requests to a TIBCO Spotfire® Automation Services server.
-
TIBCO StreamBase® Adapter for UDP is an embedded adapter that can send and receive data from a UDP port.
-
The UDP Receiver receives raw string data by listening on a UDP port.
-
The UDP Sender writes string data through a socket to another machine or process.
-
-
TIBCO StreamBase® Input Adapter for TIBCO FTL® and the TIBCO StreamBase® Output Adapter for TIBCO FTL® are embedded adapters that can receive and publish FTL messages.
-
The FTL Subscribing Input Adapter allows a StreamBase application to receive FTL messages.
-
The FTL Publishing Output Adapter allows a StreamBase application to publish FTL messages.
-
-
- LiveView Connectivity for StreamBase Applications
-
LiveView has adapters that simplify using LiveView Server with EventFlow applications.
-
The LiveView Query adapter allows a StreamBase application to register ad hoc queries with LiveView servers and receive snapshot and real-time results.
-
The LiveView Ready adapter informs a StreamBase application when the configured LiveView Server is ready, and when it changes to not ready.
-
The LiveView Delete adapter allows a StreamBase application to delete LiveView table rows based on a predicate.
-
The LiveView Publish adapter adapter allows a StreamBase application to publish data to LiveView tables.
The product sample demonstrating the adapters is available to customers who have LiveView 1.5.1 or higher installed.
-
- Studio: Improved Feed Simulation Editor Column/Field Matching
-
When creating a feed simulation from a CSV file, the Feed Simulation Editor now can match column headers to field names even when they are ordered differently. Fields of type tuple can have subtuple values out of order in the CSV file as long as its column headers use fully qualified names (using dot notation, e.g. Price.Open and Price.Close) that match or closely approximate field names. You can still reassign columns to fields in the Data File Options Dialog if the editor makes matching errors.
- Improved Defaults for Feed Simulation Data File Options Dialog
-
When setting up a feed simulation from a CSV file, the option
now only appears when the stream's schema includes sub-tuples and a CSV file is selected. By default, the option is enabled if the CSV file contains flattened data and not enabled if it contains hierarchical data. These changes decrease the chances of setting the option incorrectly. - Improved Defaults for StreamBase Unit Test Wizard
-
The StreamBase Unit Test Wizard now has improved default settings.
-
The default source folder and application to be tested are determined from the currently selected (or currently running) EventFlow application.
-
The package and source folder for any project applications, if created, will be the default package and source.
-
The test name will have default value
.ApplicationNameTest
.java
See Creating and Running StreamBase JUnit Tests for more information on StreamBase JUnit tests.
-
- Improved Date and Time Conversion for .NET API
-
In the .NET Client API, the
Timestamp
class has been changed to better handle conversions to and from .NETDateTime
objects. Specifically:-
The
Timestamp.ToDateTime()
method has been deprecated. -
A new method,
DateTimeOffset Timestamp.ToUTCDateTimeOffset()
has been added to replace the deprecatedToDateTime()
method. -
Another new method,
DateTime Timestamp.ToLocalDateTime()
has also been added for convenience.
-
- Icon for Runtime Schema Cast Java Operator
-
The Runtime Schema Cast Operator in the Java Operators group, which casts its input schema to its configured target output schema at run time, now has its own icon, as shown here.
- Cloning of Customized Server Configuration Files
-
Placing a copy of a
.sbconf
file that you have edited to include customized defaults into yourSBHOME/etc/
folder and renaming it tostudio-sbd.conf
now enables the Configuration File Wizard to copy it into a project instead of generating a skeleton configuration file with standard defaults. For more information, see Cloning Customized Configuration File Default Contents in Studio. - Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. (which originally was incorrectly announced in release 7.3.4 as 1.6.0_43). As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Java Compiler Compliance Level Is now 1.6
-
StreamBase Studio now ships with the default Java Compiler Compliance Level set to 1.6, the minimum level when developing Java code for StreamBase projects. If you install Studio as plug-ins to Eclipse, ensure that Java code developed for StreamBase server target Java 1.6. Users of Java 1.5 must upgrade to 1.6, as StreamBase no longer supports JDK 1.5.
- Heap Size now explicitly set to 1 GB for StreamBase Java-Based Commands
-
StreamBase Java-based commands such as jsbc, jsbadmin, and sbprofile now have a default maximum heap size of 1 GB when launched on 64 bit systems.
- New System Property Extends Control over Logging Level Verbosity
-
A new system property, streambase.decouple.operator.log-level, enables operator and adapter logging levels to be set independently of the system logging level. Its default is
false
, which keeps the old behavior whereby operators and adapters use the more verbose setting of the component's or the systemlog-level
property value. When set totrue
, operator and adapter logging verbosity can be set lower than the system logging level. - New Property to Configure Log Adapter without an Output Port
-
The log adapter now has an Emit Logged Tuples property, which is enabled by default. Disabling this property causes the adapter not to have an output port and not to emit logged tuples.
- New Property Enables TIBCO Rendezvous Subscribing Input Adapter to Use Per-Instance Event Queues
-
The TIBCO Rendezvous Subscribing Input Adapter now has a Use Unique Queue property, which, if enabled, causes the adapter to use a per-adapter-instance event queue rather than the default Tibrv event queue. Using per-instance queues can lower latency in some situations.
- New CSV File Writer Adapter Timestamp Option Enables Easy Feedsim Creation
-
The Use
checkbox has been deprecated.A new
option has been added as a drop-down list box, with choices , and (default). Use this control to optionally add a timestamp to the beginning or end of each CSV row.Adding timestamps enables applications to record data from any input or output stream in a top level application or exposed, in a format suitable for playback. Use the timestamped CSV files for feed simulations to play back streams you recorded in real time.
While an application is running, you can tell
sbadmin
to capture CSV files from input or output streams by issuing commands such as:-
sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Append)=default.Out
-
sbadmin modifyContainer default addConnection (csvfile://myapp.csv?AddTimestamp=Prepend)=default.Out
-
sbadmin modifyContainer default addConnection '(csvfile://trades.csv.gz?AddTimestamp=Append;CompressData=true;RollPeriod=Hourly)=default.TradesInput'
For more information, see CSV File Writer Output Adapter.
-
- Specify Field Names Directly in Log Output Adapter Custom Message Formats
-
As an alternative to specifying fields in a Custom Message Format via a numeric index (
{0}, {1},
etc.), you can now use field names ({price}, {symbol},
etc.) directly. Custom Message formatting supports escaped field name identifiers but not expressions. - StreamBaseFIX Adapter Custom Dictionary Locations Can Be Specified
-
The StreamBaseFIX configuration file now supports an entry named
<dictionary-file>
(which is only meaningful when<dictionary>
is also specified) to allow users to specify a non-standard name or location for the dictionary file. Previously, StreamBase assumed that custom dictionaries were located in thefixaj-dictionaries
folder.-
If the value of
<dictionary-file>
is unspecified, the usual behavior is applied (a file called "fixaj-dictionaries/
", whereXXX
Dictionary.xmlXXX
is the value of the<dictionary>
setting, is loaded from the classpath). -
If the
<dictionary-file>
value is an absolute path, this file is loaded. -
If the
<dictionary-file>
value is a relative path, this file is loaded from the classpath.
-
- Parameter to Identify Stale Tiers in Deutsche Bank AutobahnFX Market Data Adapters
-
The Trading Components DB-Rapid venue can now output missing depth tiers as zero price items as part of the DepthOfBook message when an item becomes stale. This functionality is disabled by default. Add the parameter
OutputMissingTiersAsZeroPriceItems
to the instance and set it to true to enable this feature. - Attribute Info Support for Thomson Reuters Real-Time Publishing and Subscribing Adapters
-
A new option on the Adapter Properties tab of the TREP-RT Subscribing adapter,
, adds AttribInfo into all update and refresh messages sent to its subscribers. Receiving this data causes the publishing adapter to include AttribInfo in all messages. - List Support for Thomson Reuters Real-Time Subscribing Input Adapter
-
The Tuple Properties tab has two new options:
-
- Thomson Reuters Schema Designer and Subscribe Adapter Maintain Fractional Prices as Strings
-
When looking up fields, the Thomson Reuters Schema Designer now automatically detects fields with fractional pricing, and adds both the double and string fields to the available fields users can select to create a schema. For example, if the BID field indicates a price of 88 3/32, the field list will now contain a BID field of type double and also a BID_as_string field of type string. The Thomson Reuters subscribe adapter now also automatically maps any field in the schema with an "_as_string" suffix to the string representation of that field.
- Exegy Input Adapter Updates
-
The Exegy library has been updated to version 3.1.11. You must upgrade your installation's Exegy library to this version in order to use this adapter.
A new property, Include Subscribe Pass-Thru Field, has been added. When enabled, the Subscribe stream schema is expected to include a field of any type named PassThru, which is is passed through to the Equities, PriceBook, and Commodities output ports.
A new property, Include Basket Pass-Thru Field, has been added. When enabled, the Basket stream schema is expected to include a field of any type named PassThru, which is is passed through to the BasketUpdates and BasketNav output ports.
For other Exegy input adapter updates, see Fixed in 7.2.15 release notes.
- New Property in IBM WebSphere MQ Output Adapter
-
The IBM WebSphere Output Adapter has a new property, Quick Connection-Down Detection. If enabled, the adapter polls the base queue periodically to quickly detect connection-down conditions.
- Wombat Publishing Adapter Supports Now Handles Array Types
-
The Wombat Publishing adapter can now send messages using any of the ARRAY types, as well as the VECTOR_MSG, and VECTOR_STRING type. Types are mapped as follows:
-
VECTOR_MSG = List<Tuple>
-
VECTOR_STRING = List<String>
-
I8ARRAY = Blob or List<Integer>
-
U8ARRAY, I16ARRAY = List<Integer> (Integer converted to short which may cause data loss)
-
U16ARRAY, I32ARRAY = List<Integer>
-
I64ARRAY, U32ARRAY, U64ARRAY = List<Long>
-
F32ARRAY, F64ARRAY = List<Double>
-
- AppiaFIX and ORC CameronFIX Engine Support Removed
-
As of this release, these FIX engines are no longer supported. Use StreamBaseFIX or QuickFIX/J instead.
- Documentation Updates
-
The StreamBase documentation for release 7.3.7 includes all the documentation updates reported for release 7.2.15.
-
Typographic errors and obsolete information were corrected in sections of Getting Started with StreamBase Studio (especially in the tutorial Creating Your First StreamBase Project) to bring instructions up to date, and illustrations were updated to make them consistent with the appearance of the current version of StreamBase Studio.
-
StreamBase 7.3.6 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.6 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.14, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.6 adds the following updates and new features:
- New String[][] Property for Java Adapters and Operators
-
Java operators and adapters may now have properties of type
string[][]
. Only lists of pairs of strings are supported (that is,string[n][2]
). Use this property type to allow a user to provide a list of string pairs without requiring unique key values, such as Map property types must have. - Updates to FIX Market Data Handler
-
The following enhancements were made:
-
An
OrdRejReason
field was added to the base FXExecutionReportSchema -
A new constant command,
EXEC_CMD_STATUS
, was added to SharedSchemas.sbapp be used to request order status.
-
- Updates to Morningstar Quotes Feed Input Adapter
-
The Morningstar Quotes Feed Input Adapter has new properties that allow you to connect and disconnect from the Morningstar servers without stopping your application.
- Documentation Updates
-
The StreamBase documentation for release 7.3.6 includes all the documentation updates reported for release 7.2.14.
If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.
Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.
StreamBase 7.3.5 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.5 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.13, 7.1.12, 7.0.12, and 6.6.25.
StreamBase 7.3.5 adds the following updates and new features:
- Improved Aggregate Operator Predicate Dimension GUI
-
A new Edit Dimension dialog for the Aggregate operator predicate dimension clarifies options for closing and emitting tuples for the current group and all groups of windows. In addition, all emit and close predicates can now be either simple or aggregate expressions. The new dialog is illustrated and described in the updated page Aggregate Operator: Predicate-Based Dimension Options in the StreamBase Studio Authoring Guide.
- Zoom-to-Fit Keyboard Shortcut Ctrl-0
-
Beside pressing the zoom-to-fit icon in the StreamBase Studio editor to show the contents of an entire EventFlow diagram, you can now press Ctrl-0 (zero). On the Mac, press Command-0.
- Control over Fonts for Notes in StreamBase Studio Editor
-
You can now display notes in EventFlow diagrams using any available font. The default is the font used to display text in the editor view. To change the font used for notes, go to
→ , then select → → → → , and then click . The example note displayed below uses the Segoe Script font.This preference is global, so that all notes in all projects display the selected font until you change it.
- Abbreviated Field Values and Blob Display in StreamBase Studio Test/Debug Perspective
-
The debugging Variables view includes a row for each tuple field. Previous to this release, the text appearing in a row's value cell was a complete representation of the data it contained, except for data in cells containing blobs, which was not displayed at all. Creating textual representations of large sub-tuples and lists could cause debugger performance problems, because the time to calculate strings was proportional to the size of the fields. Now, text for fields of type sub-tuple and list is intentionally abbreviated, and the code to calculate that text executes much faster, both in StreamBase Studio and StreamBase server. Also, cells containing blobs now indicate their content. You can control how that content displays by setting preferences. Go to → → → to set the hex or ASCII characters option and specify the Maximum blob characters to display.
You can always view the full values of abbreviated tuples by selecting a row in the Variables view. The Details pane at the bottom of the Variables view displays a textual representation of all of the selected row's data.
- Maven Repository for StreamBase Artifacts
-
Version 7.3.5 ships with a local repository of Apache Maven artifacts for StreamBase. There are artifacts for the StreamBase Client library, the StreamBase Test Support library, and a third one for the embedded server. These artifacts are provided under your StreamBase installation directory, in
STREAMBASE_HOME/sdk/maven/repo
.For information on using this repository with your own projects, see StreamBase Maven Artifacts in the API Guide.
- Change to vwap Aggregate Function
-
In previous releases, the vwap function would return NaN if all volumes were zero or if there were no entries in the window. The function has been updated to return null, matching the behavior of avg.
- Enhancements to Log Adapter
-
The Log adapter has two new options:
-
An option to emit the contents of blobs as hex characters. In the Log Adapter Properties pane, select
to enable this feature. By default, the checkbox is cleared and blob content is output as a String, which may be unreadable. -
An option to override the Log Level Override Field to specify the name of a field in a logged stream that contains log level information. The field can contain any of the following values:
you set for the adapter on a per-tuple basis. In the Log Adapter Properties pane, use theError
,Warn
,Info
,Debug
, orTrace
. Any other value, includingnull
, causes the adapter use the configured log level for that tuple.
-
- New SNMP Input Adapter
-
The SNMP input adapter allows a StreamBase application to act as an SNMP manager for receiving SNMP v1 and v2c traps.
- New Syslog Adapter
-
The Syslog input adapter allows a StreamBase application to act as a Syslog collector for receiving syslog messages.
- Enhancements to Thomson Reuters Enterprise Platform for Real-Time Subscribing Input Adapter
-
The TREP-RT RMDS subscribe adapter now has a Download Service(s) property that lets users restrict the set of Thomson Reuters services from which data dictionaries are downloaded. In addition, Multiple instances of the adapter within a StreamBase application can now share downloaded and locally-loaded data dictionaries.
- Thomson Reuters Enterprise Platform Real-Time adapters Library Update
-
The RFA/Java library,
rfa.jar
, used by TREP adapters has been upgraded to version 7.2.1. - Added Event Port and Properties for Regex File Reader
-
The Regex File Reader adapter now has an optional event port, enabled by a new Start Event Port property. It also has a Map Control Port to Event Port property, which can be used to include control port input tuples in event port tuples. The Start Control Port and Start Event Port properties must be enabled to enable the Map Control Port to Event Port property.
- Web Reader Input Adapter now Handles HTTP POST Requests
-
The embedded Web Reader input adapter now supports HTTP POST as well as HTTP GET. Two new examples were added to the Web Reader Samples illustrating how to handle POST and SOAP requests.
- Two New Properties Added to Hotspot FX Trading System Adapter
-
-
A Receive BBO Only property that can be used to receive only the best bid and offer in the book
-
A Connect On Startup property that can be used to prevent the adapter from connecting to the Hotspot FX server on start-up
-
- Updates to DB Rapid FIX market data handler
-
-
The TargetSubID (57) field in Market Data Request (V) messages are no longer included.
-
Quotes with MDEntrySize=0 are now discarded (pulled off the market).
-
- Updated xml-to-tuple Operator Samples
-
The XML to Tuple and Tuple to XML Operator Sample group has been reorganized as five sample applications, four of which have been redesigned:
-
tuple2xml-attributes.sbapp
-
tuple2xml-datatypes.sbapp
-
xml2tuple-attributes.sbapp
-
xml2tuple-datatypes.sbapp
-
xml2tuple-fixml.sbapp
The two -attribute variants illustrate generating and parsing XML attributes. The two -datatype variants illustrate using fields with a variety of StreamBase data types, including primitive types, lists, and nested tuples. xml2tuple-fixml.sbapp demonstrates how to parse a FIXML message.
The two tuple2xml samples now have two input streams each, one which runs through a map operator to supply default values for any tuple fields containing null, and a second which leaves the user's input unchanged. The three xml2tuple sample applications can now be fed from either new canned XML file read by the file reader adapter or from a user-supplied XML string through an alternate input stream (which is used by the automated tests as well). A note on each sample sbapp canvas describes what the sample does and how the canned data is supplied.
-
- New Embedded StreamBase Server Sample
-
Calling an Embedded StreamBase Server from Java, has been added to the Client Libraries group of StreamBase samples that demonstrates how to run applications in an embedded StreamBase Server inside a JVM. Loading the sample opens a cheatsheet to guide you through it.
- Deprecated and Removed Features
-
The functions
getInputTuplesEnqueuedTotal()
andgetInputTuplesDequeuedTotal()
in classOperatorInfo
have been deprecated and will be removed in a future release. Their replacement functions,getTotalInputTuplesDequeued()
andgetTotalInputTuplesEnqueued()
, provide the same information but return longs instead of ints. Functions have also been added for getting tuple counts for individual ports. - Azul Zing Upgrade to Version 5.6
-
If you use the bundled Zing JVM from Azul Systems, you must upgrade the Zing system with the
sb-install-zing-system-support install
command, because the Zing license used with the version requires it. If you do not, you will get a license failure on StreamBase startup. - Trading Components Frameworks Updated to Support Forwards and Swaps
-
The Trading Components Framework now provides extra data for swaps and forwards. To support this change, the FX handlers of the Trading Components Framework have an additional schema field, SettlDateFar, for the settlement date for the far leg of swaps.
- Documentation Updates
-
The StreamBase documentation for release 7.3.5 includes all the documentation updates reported for release 7.2.13, as well as the following:
-
A new page of information describing how to obtain Live Server Configuration, Status, and Events, in the Authoring Guide
-
An expanded discussion and examples for Client Access to Capture Fields in the API Guide
-
If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.
Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.
StreamBase 7.3.4 was a maintenance release that included no significant bug fixes. For information in known issues in other releases, see the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.4 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.4 added the following updates and new features:
- Functions and Language Features to Support Binary JSON (BSON) Data
-
A new set of functions and built-in language features ease the use of StreamBase blobs to store BSON (binary serializations of JSON-like documents) data. Within BSON blobs, StreamBase ints, longs, doubles, strings, timestamps, and blobs map to their respective BSON scalar types, nulls map to nulls, lists map to arrays, and tuples map to objects. The BSON functions consist of:
addbson()
Adds a new field at the end of a BSON array bsontojson()
Converts BSON to a JSON-formatted string findbson()
Searches a BSON object for a specified array index or field name frombson()
Converts a BSON blob to the requested StreamBase type joinbson()
Concatenates a list of BSON fields into a BSON object jsontobson()
Converts a JSON string to a BSON blob lenbson()
Returns the length of a BSON object or array listbson()
Accelerator for constructing a (possibly heterogeneous) BSON array, similar to a StreamBase list namebson()
Returns the name of a BSON field putbson()
Adds a new field to a BSON object removebson()
Removes fields or list elements from BSON blobs splitbson()
Returns a list of BSON fields from a BSON object or a list of BSON values from a BSON array tobson()
Converts StreamBase values to a BSON blob tuplebson()
Accelerator for constructing a BSON object from comma-separated AS expressions Associated language features include:
-
The
'.'
component reference operator on a blob now selects a field, assuming the blob is a BSON Object -
the
[]
array reference operator on a blob now selects a field either by numerical or string index, assuming the blob is a BSON Object -
int() long() and double() now can take in a BSON blob version of their respective types, and return the StreamBase type
You can find the BSON specification at http://bsonspec.org.
-
- Gain FIX Input Adapter
-
The Gain GTX FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by GAIN Capital, and to exchange FIX messages with it.
- File Reader Input Adapter
-
The File Reader input adapter reads a text file and emits a tuple with a string field containing the entire contents of the file. The adapter can be configured to read a file at start-up or in response to the receipt of a tuple on its control input port.
- .NET Redistribution Installer Removed
-
As deploying Microsoft .NET client applications from StreamBase Studio has been greatly simplified, it is no longer necessary to use the StreamBase Redistributable Installer. The simplified deployment process was introduced in StreamBase 7.3.0, and requires a .NET 4.0 or later framework on each client machine you deploy .NET applications to. As of this release, the Redistributable Installer has been eliminated and the .NET client documentation updated accordingly.
For information on .NET application deployment, see Creating StreamBase .NET Clients in the StreamBase documentation.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_45. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Documentation Updates
-
The StreamBase documentation for release 7.3.4 includeed all the documentation updates reported for release 7.2.11, as well as the following:
-
Documentation for the BSON function family in StreamBase Expression Language Functions
-
Clarifications and a Studio example for how client applications access capture fields
-
New example for Using the Microsoft .NET Operator
-
Updates to the StreamBase Studio Eclipse Update Site page
-
Simplified .NET client deployment instructions (see note above)
-
StreamBase 7.3.3 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.3 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.3 adds the following updates and new features:
- New Splash Screen and Application Icon for StreamBase Studio
-
StreamBase Studio™ now has a redesigned splash screen and program icon
.
- Documentation Updates
-
The StreamBase documentation for release 7.3.3 includes all the documentation updates reported for release 7.2.11, as well as the following:
-
Documentation for using the Trace Debugger has been expanded to describe its usage and user interface features.
-
If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.
Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.
StreamBase 7.3.2 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.2 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.11, 7.1.12, 7.0.12, and 6.6.24.
StreamBase 7.3.2 adds the following updates and new features:
- Beta Feature: .NET Operator
-
This release includes a preview of the
.NET operator, which is expected to be added to a future release. StreamBase Studio projects can reference Microsoft .NET assemblies with the .NET operator on the Operators and Adapters palette (keyboard shortcut
O.
). It is a global Java operator that can load client code in the form of a .NET assembly, instantiate a class within that assembly, pass it incoming tuples, and optionally emit tuples provided by the .NET client code. For more information, see Using the Microsoft .NET Operator in the Authoring Guide. Contact StreamBase Support if you have questions or feedback regarding this feature. Until it is fully released, do not use this feature in production deployments. - Changes to Query Table Indexes, expressions and operators
-
-
Query tables can be indexed with expressions. Primary keys allow you to index on subfields. Secondary keys allow you to index on subfields and expressions that contain at least one table field.
-
Query table "in" functionality that is more efficient than a table scan. You can use one-field keys, i.e.
contains(list(3,4,5), key)
or multi-field keys, i.e.
contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2)), tuple(k1, k2))
-
table "or" functionality that is more efficient than a table scan, e.g.
a == 3 or b < input.c
, or cases such as:(a == 2 or a > 10) and length(s) == 4
-
- Keyboard Input of Feed Simulation Speed Factor
-
In addition to being able to set the speed of a feed simulation with a slider, you can now type a speed factor in the text field to the right of the slider, which is now editable. This lets you simulate at any relative feed rate. The rate you specify can be higher than 25x, which is still the maximum that the slider enables.
- Manual Input in JSON Mode
-
The Manual Input view now has a round
button at at the upper right of the toolbar for manually enqueuing JSON data. Switch to this mode to enter one or more tuples in JSON syntax. Send the data with the button or by pressing CTRL+Enter.
- Log Adapter Option to Omit Quotes around Nulls in String Tuple Fields
-
You can now control how the Log Output Adapter treats null values within string fields of tuples it logs to the Console. That is, a field of type string that contains a null character can be displayed in the Console as either
null
or"null"
. The quoted form is ambiguous, as it could either signify a string field has a null value or is a string containing the charactersnull
. Now, in the Adapter Properties tab, when you select the Display Tuple Field Names check box, a new check box beneath it is enabled. This check box, Quote Null Strings, is by default selected, so as to preserve the adapter's existing behavior. To omit quotes around null strings, turn off the Quote Null Strings option by clearing the check box. - Comparing Timestamps and Literals with Relational Operators
-
When comparing a timestamp with a string literal, the operators
==
,!=
,<=
,>=
,<
, and>
now attempt to interpret the string literal as a time. If this fails, the comparison fails to typecheck. If the string literal does not contain an explicit time zone, it is assumed to have the time zone set in the operating system of the computer compiling the application. - New Attribute Fields Property for Tuple-to-XML Operator
-
The tuple-to-XML operator now has an Attribute Fields property that can be used to specify a comma-delimited list of fully-qualified tuple field names that should generate XML attributes rather than sub-elements. For example, if the XML generated by the operator for a given input tuple is:
<Top><s>This value comes from tuple field Top.s of type string</s></Top>
Adding
Top.s
to the Attribute Fields property would result in the following XML:<Top s="This value comes from tuple field Top.s of type string"></Top>
- New Aggregate Operator Predicates to Emit and Close All Windows
-
Aggregate now has predicates to emit and close all windows. You can use this feature in an application that groups tuples to clean up when a specified condition occurs (such as market close), by emitting and/or closing all the windows.
- Three New String Functions
-
The following Boolean utility string functions have been added:
-
startswith
: Determines if a given string begins with another given string, returningtrue
orfalse
. -
endswith
: Determines if a given string terminates with another given string, returningtrue
orfalse
. -
isempty
: Determines if a given string is null or empty, returningtrue
orfalse
.
-
- List Manipulation Updates
-
-
You can now use expressions such as
["A", "B", "C", "D"]
to construct lists of literals, equivalent tolist("A", "B", "C", "D")
. -
You can now use
in
as an infix operator to test for list containment. For example,2 in [1, 2, 3]
returnstrue
.
-
- New option to sbbundle to declare Java Classpath Variables
-
When you use
sbbundle
to create a bundle that includes projects in StreamBase Studio that use Eclipse Classpath Variables, you can identify one or more of them using the new--classpath-variable
(-V
) option. The option is described in Application Bundling. - Documentation Updates
-
The StreamBase documentation for release 7.3.2 includes all the documentation updates reported for release 7.2.11, as well as the following:
-
Previously, when editing Java source files in StreamBase Studio or in Eclipse against the StreamBase Client API Library, certain methods from the client library did not display any javadoc in the Javadoc view or during Content Assist. This has been corrected, as methods that lacked javadoc, while available for the compiler, were internal methods and not part of the public API.
Studio and Eclipse will now show Javadoc for internal only methods, and the Javadoc for them states that they are not API. Please avoid using non-API methods, as any of them may be renamed or removed without warning.
Finally, note that the Javadoc HTML documentation pages exclude all internal methods.
-
If you are migrating from a 6.x StreamBase release, see the Migration Notes section of the Installation Guide, which includes Migrating from StreamBase 6 to 7. Study this important page to understand the migration steps, behavior changes, and API changes in the 7.x series.
Also see the note on migrating persistent Query Table contents in the Behavior Changes section of the 7.2.0 New and Noteworthy.
StreamBase 7.3.1 fixes several product limitations, as described in the Resolved Limitations and Known Limitations sections of the Release Notes.
StreamBase 7.3.1 inherits the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.10, 7.1.12, 7.0.12, and 6.6.23.
StreamBase 7.3.1 adds the following updates and new features:
- Aggregate Operator Updated
-
The Aggregate operator has two new features for this release. The first is that the
input1.
prefix is still accepted but no longer required when entering field names in an expression for a predicate-based dimension. The second feature is a new check box in the Edit Dimension dialog for predicate-based dimensions, Evaluate Close and Emit predicates before adding the new tuple to the window. The new check box is described on the Predicate-Based Dimension Options page. - Changes to Maximum Queue Buffer Size
-
In StreamBase 7.3 and later, when queues begin to grow, each additional buffer is twice the previous buffer size, until a default maximum of 1 GB per buffer is reached. After the limit is reached, each additional buffer requested is capped at the limit size. You can change the limit size by setting the following Java property:
streambase.runtime.stream-queue-max-buffer
See StreamBase Java System Properties for more information on this property.
- New Output Added to sbprofile
-
The output from the sbprofile command now includes the number of tuples delivered for each input/output stream.
- New Expression Language Function
-
The StreamBase expression language includes a new aggregate function, lag(), which returns the next-to-last value for field f in an Aggregate operator's current window or in a Query Table column. If the window or table column has only one row or zero rows, lag() returns null. The function accepts all data types and returns the same type as its argument.
- Python Support Updated
-
This release increments the Python language support in StreamBase in two ways:
-
Support is added for Python 2.7.2 or later on Windows, 64-bit Linux, and OS X.
-
Support is added for 64-bit Python 2.6.6 or later and 2.7.2 or later on Windows.
See Creating StreamBase Python Clients for details.
-
- Client API Updated
-
New support was added to com.streambase.sb.operator.parameter.UIHints that allows adapter and operator writers to offer String value proposals to the user when typing into a text field. See the
UIHints#setProposals()
Javadoc for details. - New Saxo Bank FIX Adapter
-
The Saxo Bank FIX adapter allows a StreamBase application to connect to the trading infrastructure provided by Saxo Bank, and to exchange FIX messages with it.
- Character Set Support Added for Several Standard Adapters
-
Several standard adapters now have two new controls on the Adapter Properties tab of their Properties views. There is a new check box, Use Default Charset, which is selected by default (with one exception, see the XML File Writer adapter note in the next paragraph). When selected, the default behavior of the adapter is to use the JVM default character set. When you want to configure an application to use Unicode support, you need to configure the adapter in addition to configuring StreamBase Server and Studio. When the check box is cleared, you must specify a standard Java character set in the new Character Set field.
This applies to the following adapters: CSV File Reader, CSV Socket Reader, CSV File Writer, CSV Socket Writer, Regular Expressions File Reader, Regular Expressions Socket Reader, and the Web Reader. The exception is the XML File Writer adapter, which does have the new controls, but whose default remains the US-ASCII character set.
- CSV Socket Reader Input Adapter Updated
-
The CSV Socket Reader Input adapter was updated to provide a server mode where the adapter listens on a specified port for incoming connections. In addition, when acting as a client, the adapter now attempts to reconnect if connections fail, using a specified wait period between reconnection attempts. The adapter also has new properties for specifying how to handle incomplete records, and whether to log incomplete record events.
- CSV File Reader Adapter Sample Updated
-
The sample for the CSV File Reader adapter was simplified for clarity. See CSV File Reader Input Adapter Sample.
- New Property for CSV File Reader and CSV Socket Reader Adapters
-
The CSV File Reader Input adapter and CSV Socket Reader Input adapter have a new property, Lenient Parsing, whose default value is true.
- FIX Output Adapter Updated
-
The FIX Output adapter and all adapters that inherit from the FIX Output adapter were updated with the ability to track acknowledgement of the receipt of sent messages. This feature is described in Requesting Outgoing Message Send Confirmation on the FIX Output Adapter page.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.1 of the Trading Technologies FIX specification.
- Thomson Reuters TREP-RT Subscribing Input Adapter Updated
-
The Thomson Reuters TREP-RT Subscribing Input adapter was updated such that CLOSED events, including access denied errors, are now logged at the INFO level, in addition to being sent to the adapter's event port.
- Studio Now Based on Eclipse 3.8.1
-
For release 7.3.1, StreamBase Studio is based on Eclipse 3.8.1, which provides some underlying Eclipse bug fixes over Eclipse 3.8.0. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8.1. Earlier Eclipse versions are no longer supported for that purpose.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_37. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
- Documentation Updates
-
The StreamBase documentation for release 7.3.1 includes all the documentation updates reported for release 7.2.10, as well as the following:
-
The Aggregate operator and its Predicate-Based Dimension Options pages were clarified and corrected.
-
The entry for the expression language's strptime() function was updated to add the %p format specifier, which was silently supported in previous releases, and to extend the description of %H to clarify its use with both 12-hour and 24-hour clocks.
-
The Expression Language, Expression Language Features, and Data Types pages were updated to include the IN operator, square bracket list syntax, and timestamps compared to string literal features added as of release 7.3.0.
-
The 29West input and output adapter and sample pages were updated to note the support for the Informatica UMS 5.x API as well as the predecessor 29West LBM 4.x API.
-
The FIX adapter's page was clarified with respect to the use of logging options for the QuickFIX/J engine.
-
The Shared Query Table Limitation section of the Using Interfaces with Extension Points page was corrected and clarified.
-
The Studio Reference Guide now has a page describing the Eclipse-standard Problems view, with appropriate references throughout the documentation pointing to it.
-
StreamBase 7.3.0 fixed several product limitations, as described in the Resolved Limitations and Known Issues sections of the Release Notes.
StreamBase 7.3.0 inherited the updates and new features added to maintenance releases of previous release series, through and including releases 7.2.8, 7.1.11, 7.0.12, and 6.6.22.
The following features were recently added to maintenance releases of previous release series:
-
Initial contents for a Query Table can be specified with tab-separated values as well as with CSV and JSON values.
-
In the EventFlow Debugger, you can now set conditional breakpoints.
-
You can now create a StreamBase JUnit test directly from selected values in the Application Input or Application Output views.
-
New Read-Only EventFlow Editors for flexible modules.
-
New Web Reader Input adapter.
-
JDK 7 is now supported as an external JDK.
StreamBase 7.3.0 added the updates and new features shown in the following sections.
- Change to Rolling File Name Feature
-
This release includes a change to the rolling file name feature used by the CSV File Writer and XML File Writer adapters, and by the sbprofile command. Before this change, the rolled-over file's name represented the beginning of the roll period for weekly rolling, but represented the end of the roll period for daily or hourly rolling. After this change, rolled-over file names represent the beginning of the roll period for all roll periods.
- Control Stream Behavior Change
-
When a container, A, is added to a running StreamBase Server, and that container has a connection to the
system.control
stream, container A no longer receives the STARTING tuple on the control stream. However, othercontrol
-connected containers in the same Server instance do receive the STARTING tuple for container A. See The Container Subsystem.
- New Macintosh OS X Support
-
Release 7.3.0 adds Macintosh OS X 10.6 Snow Leopard, 10.7 Lion, and 10.8 Mountain Lion to the list of formally supported platforms. See the installation instructions, including the Limitations and Differences section.
TIBCO StreamBase Studio is provided on OS X as a client application to allow users to develop, debug, and test StreamBase applications and client applications. StreamBase installations on OS X do include a local copy of StreamBase Server for running and testing your applications locally, on the same Macintosh computer as Studio. However, StreamBase Server is explicitly not supported for deployment on Apple Macintosh machines.
- Aggregate Operator Updates
-
The Aggregate operator has the following new features for 7.3.0:
- New Edit Dimension Dialog
-
A new Edit Dimension dialog is invoked by using the Type drop-down list at the top of the dialog, selecting as before between Field, Predicate, Time, and Tuple types. The dialog then reconfigures itself to conform to the selected dimension type:
or buttons in the Dimensions tab of an Aggregate operator's Properties view. You specify the dimension type in the-
For Field type dimensions, the dialog offers a second drop-down list from which to select field names from the schema of the incoming stream.
-
For Predicate type dimensions, the dialog provides five wide edit fields in which to type expressions. The five fields are the familiar Open, Emit, and Close predicate fields from previous releases, plus the new Emit All and Close All predicate fields discussed below. All five fields have hover text that helps explain how each predicate field is used.
-
For the Field, Time, and Tuple dimension types, the Optional Windows section at the bottom now changes to contents that only apply to the selected dimension type. The wording for the options in this section now does a better job of explaining each option's purpose.
-
- Predicates for Emit All and Close All
-
In the Edit Dimension dialog for Predicate type dimensions, there are two new predicate fields, Emit All and Close All. These fields are useful for Aggregate operators that have group-by specifications where you want to emit all the windows or close all the windows based on a specific condition (such as market close time).
- New Query Table and Query Operator Features
-
The Query Table data construct and Query operator have the following new features starting with 7.3.0:
- Indexes Accept Subfields
-
If a Query Table's schema includes fields of type list or tuple, you can now use a subfield as the field specification for the table's primary index or one of its secondary indexes.
- Secondary Index Accepts Expressions
-
You can now use an expression as part of specifying the field or fields that comprise a secondary index for a Query Table. The expression must be statically resolvable, and must contain the name of at least one field in the Query Table's schema. There is a new sample in the Operator Sample Group that illustrates this feature. (Note that primary indexes cannot contain expressions.)
- New In Functionality
-
Query operators with an expression that tests whether a value is a member of a list can now proceed quickly, without requiring a full table scan. This includes expressions that use the new
in
infix operator described below, as well as expressions usingcontains()
. Both single keyin
operations and multi-keycontains()
operations experience the speedup:field-value
in [3, 4, 5] contains(list(tuple(3 as k1, "foo" as k2), tuple(4 as k1, "bar" as k2))) - New Or Functionality
-
Similarly, Query operators with
or
tests can return results much faster without requiring a full table scan. As long as each part of theor
query can be efficiently planned, the whole query can be efficiently planned:a == 3 or b < input.c
In expressions like the following, the
and
operator is correctly distributed for efficient planning:(a == 2 or a > 10) and length(input.s) == 4
- Local Variables in Map and Query Operators
-
You can now declare local variables in operators that have Input Fields, Current Table Fields, or Additional Expressions grids in their Properties views, including Map and Query operators. Local variables are scoped for use in the same grid in that operator only. They can be used to prevent retyping portions of long expressions that are reused throughout the operator.
In grids of these types, the Action field's drop-down list now includes Declare, as well as the previous Add, Replace, and Remove options. When you select Declare, use the Field Name field to specify the name of your local variable, then in the Expression field, define the expression that comprises the variable. These expressions are evaluated once, at operator start time, and the result of that one-time evaluation is used as the value of the local variable thereafter. You can then use the local variable by name in subsequent rows of the same grid.
- Refactor-Move More Than One Item
-
In the Interface tab of the Interface Editor, or in the Definitions tab of the EventFlow Editor, you can now select more than one constant, named schema, or table schema (holding down Ctrl while selecting), before you right-click and select → from the context menu. This allows you to move more than one item at the same time to a different interface or EventFlow module.
- Compiler Optimizations
-
This release includes two optimizations for compiling EventFlow modules:
-
Unused field elimination. After parsing the EventFlow modules that comprise an application, the compiler determines whether there are fields declared but never used. If found, it does not generate any bytecode for such fields.
-
Common subexpression elimination. Users dealing with very large schemas might add fields that reference other fields deeply nested elsewhere in the schema, for ease of reference for those nested fields. If the compiler detects cases like this, it converts the pointing field to an internally used alias so that there is no cost to using this feature. This optimization can be disabled by setting the Java system property
streambase.codegen.common-subexpression-optimization
tofalse
. The default istrue
.
-
- Reduced Queue Latencies
-
The buffers that queue data for parallel regions were enhanced with disruptor-style features, resulting in a significant reduction in queue latencies for most applications.
- New System Property to Disable Query Table Remote Client Access
-
A new system property for sbd,
streambase.sbd.disable-remote-table-access
, disables remote client access to Query Tables. Set this property totrue
to cause all sbc readTable commands to fail as unrecognized, as well as all client table reads that use theStreamBaseClient.readTable()
API. - Suppressing the Subversive Install Connectors Dialog
-
The Install Connectors dialog is presented by the Subversive Team Provider plug-in included with Studio. If you use the Subversive plug-in, select an SVN Kit Java implementation of the Subversion libraries that match the 1.6.x or 1.7.x release of your Subversion checkouts.
If you are not using the Subversive plug-in, this dialog can come up after you inadvertently open any team provider perspective in Studio. To avoid these inadvertent pop-ups, Studio ships with the Subversive plug-in disabled on Studio startup. This is accomplished with Subversive SVN Team Provider UI Plug-in check box. To suppress the Install Connectors dialog, make sure this check box is cleared.
→ , → by clearing the
- New Option for sbargen Command
-
The sbargen command now supports the
–q
option to suppress compiler warnings.
The following changes were made to the StreamBase expression language in release 7.3.0:
-
In comparison expressions that use the operators ==, !=, <=, >=, <, or >, if one side of the comparison is a timestamp, and the other side is a string literal, StreamBase now tries to interpret the string as a valid timestamp. If the string literal does not contain an explicit time zone, the string is interpreted as having the time zone set in the operating system of the computer that compiles the application. If the conversion of the string literal fails, then the comparison fails typechecking.
-
You can now define a list and specify its contents by enclosing a comma-separated set of values in square brackets. For example,
[12, 400, 3345]
defines and populates a list(int), and["London", "Paris", "Madrid"]
defines and populates a list(string). The bracket syntax is syntactic sugar forlist(12, 400, 3345)
. -
This release adds
in
as an infix operator to test for list containment, returning Booleantrue
orfalse
. For example, the expression2 in [1, 2, 3]
returnstrue
. Notice thatin
does not enter the list of reserved words for the expression language, and can still be used as an identifier in other contexts. The operatorin
only becomes an operator in the context of a list containment expression as shown here, with the test value on its left and the queried list on its right. The queried list can be expressed with bracket syntax as above, or can be any expression that resolves to a list.
The StreamBase .NET Client Library was extensively reworked for release 7.3.0 and later. As before, you can use the .NET Client Library to create client programs or StreamBase Server monitoring programs, or to incorporate client access or server monitoring into an existing .NET program.
- Implementation Changes
-
Starting with release 7.3.0, using the .NET Client Library requires the .NET Framework 4, and requires using Microsoft Visual Studio 2010, with projects targeted to version 4 of the .NET Framework.
The Windows-native portion of the .NET API is now built with Visual Studio 2010. This means:
-
Using the StreamBase .NET API requires the Visual C++ 10 runtime DLLs. (This requirement was already in place for C++ projects built with Visual Studio 2010 starting with StreamBase release 7.2.0.)
-
The two DLLs that comprise the StreamBase .NET API no longer need to reside in the Global Assembly Cache (GAC). In fact, StreamBase Systems strongly recommends that these DLLs not be installed there.
The names of the two StreamBase .NET API DLLs were changed to adhere to standard .NET assembly naming conventions, and to avoid confusion with the Java API delivered as
sbclient.jar
and with the sbmonitor command delivered assbmonitor.exe
. The new names are:-
StreamBase.SB.Client.dll
replaces the formersbclient.dll
. -
StreamBase.SB.Monitor.dll
replaces the formersbmonitor.dll
.
Because of these DLL name changes, existing .NET projects using the StreamBase .NET API must update their references in their Visual Studio project settings. Be sure to set the Copy Local property of references to these StreamBase assemblies to
True
. -
- Documentation Changes
-
Documentation for the .NET Client Library is now delivered as a package of HTML files with a contents panel on the left, which replaces the previous
.chm
help file. Links to the .NET API documentation are now in the API Guide's contents panel in Studio Help and sbhelp for StreamBase on Windows installations, and the .NET documentation is now linked from the API Guide's main page and from the Reference Guide.If you use the standard .NET API DLLs in the StreamBase installation's
bin
directory as references, IntelliSense help for the .NET API is enabled as you write code in Visual Studio 2010. - Installation Changes
-
The StreamBase installers no longer place the .NET API DLLs in the Global Assembly Cache, and no longer attempt to install a .NET framework for you. The 7.3.x installers always install the .NET API DLLs in the
%STREAMBASE_HOME%\bin
directory (\bin64
for 64-bit applications).The StreamBase installer detects whether or not the .NET Framework 4 is installed. If not, a dialog offers you a link to the Microsoft web page from which you can download and install the Framework after the StreamBase installation completes. The StreamBase installation itself is not blocked by the absence of the .NET Framework 4: you can install the .NET Framework later at any time, and the .NET Client Library and its features are enabled at that time.
- New Simple Deployment for .NET Programs
-
Deploying your .NET client or monitoring program is now greatly simplified, but support for the previous GAC method of deployment also remains available.
The new Simple Deployment method is the strongly recommended way to deploy your .NET programs starting with release 7.3.0. This method is to copy the following DLLs to the same directory as your code's executable:
-
Streambase.SB.Client.dll
, 32-bit or 64-bit as appropriate for the target machine. -
StreamBase.SB.Monitor.dll
, if your program uses the .NET monitor API. -
The Microsoft Visual C++ 10 runtime DLLs, which are named
MSVCP100.DLL
andMSVCR100.DLL
. You install the Microsoft runtime DLLs the same way for .NET programs as for C++ programs, described in Client Program Redistribution.
If you are writing an installer to distribute your .NET client program, arrange for it to copy these files, along with your program's executable, to the same directory. Setting the Copy Local property to
True
in your .NET Visual Studio project settings helps with this.Notice that installers that use this Simple Deployment method do not require administrative privileges on the target machine. Specify that your installer can be run in per-user mode to avoid the administrator privileges requirement.
-
- Connection Status Features Added to Java Client Library
-
The StreamBase Java Client Library was updated to supported various mechanisms for obtaining and reporting connection and disconnection events for each StreamBase client. To use these features, you must import the appropriate new classes and recompile your client code with the 7.3+ version of the Client Library.
-
The Java Client API now includes the
ConnectionStatusCallback
interface andConnectionStatus
enum. Use code like the following to add a connection callback to your client code:ConnectionStatusCallback callback = new ConnectionStatusCallback() { @Override public void stateChanged(ConnectionStatus state, StreamBaseClient streamBaseClient, String additionalInfo) { ... }
Register the callback like this example:
StreamBaseClient client = new StreamBaseClient(uri); client.addConnectionStatusCallback(callback);
-
The
StreamBaseClient
class now includes thegetConnectionSatus()
method that returns aConnectionStatus
enum, which can be either CREATED, CONNECTED, DISCONNECTED. -
There is a new Java system property,
streambase.client.log-connection-status
, which can be set totrue
orfalse
; the default isfalse
. In the default setting, StreamBase clients log both connection and disconnection events at the DEBUG level. Set totrue
to have your clients log at the INFO level for connection events, and at the WARN level for disconnection events.
These features have a new sample described below.
-
- Table Access from SBJunit Tests
-
In the StreamBase API for running StreamBase JUnit tests, the
SBServerManager
class has a new method,getTable()
, which returns aTableAccessor
object identical to those returned by the Java Operator API. This allows you to write tests that can inspect or manipulate Query Tables in applications running under test.
- New StreamBase Add-in for Microsoft Excel
-
The StreamBase Add-in for Microsoft Excel allows you to import data from StreamBase Server into an Excel 2007 or Excel 2010 spreadsheet, and to publish from Excel to a StreamBase table. The Add-in is packaged and delivered independently of the StreamBase CEP product line. Contact your StreamBase representative for more information on availability and features.
- New StreamBase Monitor Input Adapter
-
The StreamBase Monitor Input adapter consumes StreamBase Server performance and profile statistics and provides them as tuples to an EventFlow application. The statistics gathered include CPU usage, input and output rates, thread counts, and memory usage. StreamBase profiling statistics are described on Profiling.
- Trading Technologies Adapter Updated
-
The data dictionary for the Trading Technologies adapter was updated to implement version 7.8.0 of the Trading Technologies FIX specification.
The sample modules and applications included in the StreamBase kit were updated as follows:
- New Loop Sample
-
The new Loop sample in the Applications category of Studio's Load StreamBase Samples dialog demonstrates a looping arc in a simple EventFlow application.
- New StreamBase Monitor Input Adapter Sample
-
The StreamBase Monitor Input adapter, newly added in this release, has a sample, described on StreamBase Monitor Adapter Sample.
- New Client Status Monitor Sample
-
The connection status monitor features added to the StreamBase Java Client API, described above, have a new sample, described in Client Status Monitor Sample.
- Studio Now Based on Eclipse 3.8
-
For release 7.3, StreamBase Studio is based on Eclipse 3.8. When installing Studio in the form of plug-ins for a separate copy of Eclipse, you must start with Eclipse 3.8. Earlier Eclipse versions are no longer supported for that purpose.
- Embedded JDK Version Updated
-
The Oracle JDK installed for private use by StreamBase was updated to version 1.6.0_35. As before, you can override this installed default to use a different supported JDK as described in Using an External JDK. The supported JDK versions are listed in Supported Configurations.
StreamBase for OS X does not include a JDK, but instead relies on the standard Java 1.6 implementation provided by Apple for OS X.
- Setup.exe Removed from Windows ISO Installers
-
The Windows installation kits in ISO format no longer include the setup.exe bootstrap program. If you mount an ISO installer, or burn installation media from an ISO, run the MSI installer directly by double-clicking it.
- Third-Party Logging Versions Updated
-
The logging features incorporated into StreamBase were updated to slf4j 1.6.6, Logback 1.0.6, and Log4j 1.2.17.
- StreamBase Platform Deprecations
-
Support for running StreamBase Server and StreamBase Studio on the following platforms is deprecated as of release 7.3.0; support for these platforms is expected to be removed in a future release:
-
Support for running StreamBase Server on Solaris SPARC platforms. (The Solaris Intel platform continues to enjoy full support.)
-
Support for running StreamBase Server and StreamBase Studio on Novell SUSE Linux Enterprise Server.
-
Support for running StreamBase Server and StreamBase Studio on Red Hat Enterprise Linux Advanced Server 4. (Support remains for RHEL 5 and 6.)
-
As a consequence of deprecating RHEL AS 4 (the only platform still supported on 32-bit Linux), all StreamBase support for 32-bit Linux is also deprecated.
-
The following StreamBase features are deprecated as of release 7.3.0 and will be removed in a future release:
-
The Thomson Reuters SFC External adapter.
-
Support for both JDBC and native connectivity to Vertica database version 4.1. (Support for Vertica versions 5.0 and 5.1 remains in place.)
-
Support for native connectivity to Sybase RAP databases.
-
Support for JDBC connections to Oracle 9i. (Support for Oracle 10 and 11 remains in place.)
-
Support for compiling 32-bit C++ StreamBase client applications for 32-bit Windows with Visual Studio .NET 2003 (Visual C++ 7.1).
-
Since release 6.3, StreamBase has shipped configured to build custom Java clients and functions with Java 6. However, an alternate method to use Java 5 for these purposes has been documented and supported. As of release 7.3.0, this alternate support for building StreamBase extensions with Java 5 is deprecated.
The following StreamBase features were announced as deprecated in previous releases, and are now removed as of release 7.3.0.
-
The JDBC External adapter. Instead, use a JDBC Table data construct and Query operator.
-
The TIBCO Rendezvous External adapter. Instead, use the embedded TIBCO Rendezvous Input and Output adapters.
-
The JMS External adapters. Instead, use the embedded JMS Input and Output adapters.
-
The Adobe Flex adapter.
-
The security tagging feature.
-
Support for StreamBase Frameworks on 32-bit Linux or Solaris SPARC platforms.
The StreamBase documentation for release 7.3.0 included the following updates independent of the above updates:
-
Terminology throughout the documentation was revised to favor the term parallel region over thread when describing the runtime options for operators and adapters expressed in the Concurrency tab of their respective Properties views. Parallel regions are described in Parallel Region Defined.
-
The documentation pages for the Read Table and Table Operator samples were updated from plain text to HTML, and now include more robust instructions for running the samples.
-
Documentation was updated and clarified for the Runtime Schema Cast Operator introduced in release 7.2.8, and for its sample.
-
The Query Table page in the Authoring Guide was updated to describe CSV, TSV, and JSON formats for entering tuple subfields in the Initial Contents tab of the Properties view.
-
The Authoring Guide page for the Metronome operator was updated to clarify the behavior of the first tuple emitted.
See the New and Noteworthy Archives for descriptions of the updates and new features added to previous StreamBase releases.