Migrating to 10.3

This page provides a reference for migrating from a StreamBase 10.2.x release to a 10.3 and later release.

Changes for Studio Users

The following changes affect users of StreamBase Studio developing EventFlow and LiveView applications.

StreamBase Artifact Handling

StreamBase 10.3.0 introduces a new way to manage StreamBase-provided JAR files and other artifacts for consumption by its Maven build system.

  • In StreamBase 10.2, artifacts were installed in the sdk/maven/repo directory of your StreamBase installation directory. Maven POM files generated by StreamBase Studio in 10.2 were configured to read from this directory as one of its Maven repositories.

  • In StreamBase 10.3.0 and later, artifacts are installed in an archive file. StreamBase Studio then merges the contents of the archive into your local Maven repository, which is usually the.m2/repository folder of your home directory. On every start, Studio checks the status of the local repository and merges any missing files back in. This allows the POM files generated by Studio 10.3 to use only standard Maven conventions.

Must Use New, Empty Studio Workspace

TIBCO has always recommended against trying to use a Studio workspace from a previous release in a new major release. However, this recommendation is especially important for the StreamBase 10.2 to 10.3 and later transition.

DO NOT OPEN StreamBase 10.2 project folders in Studio from StreamBase 10.3 and later:

  • When Studio 10.3 and later opens a project developed in a previous StreamBase 10 release, it edits the POM file to remove the reference to the sdk/maven/repo repository. This is a necessary edit to allow the project to work in Studio 10.3. At the same time, these edits render the project unworkable in Studio 10.2 or earlier.

    It is therefore essential that you maintain a clean, unequivocal separation between your 10.3 and later projects and your 10.1 or 10.2 projects.

  • As always, TIBCO recommends creating a new, empty workspace in the new release. Follow these steps:

    1. Make at least one backup of your Studio workspace from your 10.2.x release.

    2. Open Studio 10.3 or later with a new, empty workspace.

    3. Import your 10.2 projects into the new workspace. Be sure to use Studio's File>Import>GeneralExisting Projects into Workspace feature so that you can take advantage of the Copy projects into workspace option.

      (Do not use Import>Maven>Existing Maven Projects to transfer your 10.2 projects, because that feature only reads the project from its existing location. It does not allow you to make a copy of the files into the new 10.3 or later workspace.)

    4. Move forward with the new StreamBase release's features.

TIBCO_EP_HOME Variable No Longer Used

As part of the artifact handling change described above, StreamBase 10.3 and later no longer requires or uses the TIBCO_EP_HOME environment variable, either by Studio or command-line tools. There is no harm in leaving the variable set, but it is not used.

However, StreamBase 10.1 and 10.2 still requires that variable. If you are maintaining old and new Studio versions as described above, make sure any shell startup files or Windows scripts set that variable correctly for use only with StreamBase installations before 10.3.

Security Model Changes

The security model starting with StreamBase 10.3.0 is a significant upgrade over previous releases. Some behavior changes are the result of this upgrade:

  • The guest user is no longer automatically configured when a node is installed and started; you must now explicitly configure all non-default users.

  • The epadmin install node command's trustedhosts parameter was removed. Instead, you must define trusted hosts using the TrustedHosts root object in a Security configuration file.

Commented Substitution Variables Inside Quoted Strings No Longer Ignored

Prior to StreamBase 10.3.0, substitution variables commented AND inside a quoted string were ignored in configuration files of HOCON type. As of 10.3.0, they are no longer ignored.

API and POM Changes for Developers

StreamBase 10 manages project creation and project build tasks in StreamBase Studio by means of a Maven plugin named ep-maven. This plugin has the following changes for release 10.3.0 and later:

  • The ep-maven plugin no longer automatically adds the src/test/eventflow directory as a source directory when running EventFlow fragment unit tests. Previously, you would add this directory using the streambase.unit-test.module-search-path system property, which is no longer supported. Place all test resources to be accessed by unit test, including EventFlow modules, in src/test/resources.

  • The ep-maven packaging type of ep-eventflow-library was removed. Use the ep-eventflow-fragment packaging type instead.

  • The ep-maven plugin no longer sets the following system properties automatically:

    • com.tibco.servicename

    • com.tibco.builddirectory

    • com.tibco.reportsdirectory

  • The unused test-application goal in the ep-maven plugin was removed. Remove any reference to this goal from your POM files or build scripts.

You must now explicitly set all system properties required for testing in the POM file using the systemPropertyVariables POM property. You must therefore also update your POM files accordingly.

StreamBase now throws a com.kabira.platform.ManagedClassError error exception when a non-managed object is passed to a method that requires a managed object. For example, com.kabira.platform.swtimer.TimerNotifier.highResolutionStartRecurring.

The management framework now closes InputStream parameters to system management targets. Previous releases required the system management target to close the InputStream parameters. You can now remove this close from the management target implementation.

The previously deprecated High Availability Service Framework package name changed from com.tibco.haservice to com.tibco.ep.dtm.ha. This framework is no longer part of the public API; TIBCO recommends removing all use of these APIs.