- Index

< Previous |  |

# Migrating from 10.2 to 10.3

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

## Changes for Studio Users

The following changes affect users of StreamBase Studio developing EventFlow and Live Datamart 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.

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

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

  - When Studio 10.3 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 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 with a new, empty workspace.

    3. Import your 10.2 projects into the new workspace. Be sure to use Studio's File → Import → General Existing 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 workspace.)

    4. Move forward with StreamBase 10.3's new features.

TIBCO_EP_HOME Variable No Longer Used

  As part of the artifact handling change described above, StreamBase 10.3 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 in 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.

## Migrating to epadmin

For StreamBase 10, the epadmin command replaces the legacy sb* command line tools. The epadmin command is aware of StreamBase Runtime concepts such as nodes, clusters, and availability zones.

By contrast, the legacy tools can only connect to a running StreamBase server through its StreamBase URI that begins with `sb://` or `sbs://`. Likewise, the legacy tools connect to a Live Datamart server through its LiveView URI that begins with `lv://` or `lvs://`. The legacy tools remain available to use within those limitations.

The epadmin command provides full support for service names, multi-node, and multi-engine commands. TIBCO recommends migrating any use of the legacy commands to epadmin.

The tables in the next sections map the sbcipher, sbc, and sbadmin subcommands to their epadmin equivalents.

The epadmin command also replaces the sbfeedsim, sbhealth and sbrecord commands as follows:

- The epadmin playback target replaces the sbfeedsim command.

- The epadmin snapshot target replaces the sbhealth command.

- The epadmin record target replaces the sbrecord command.

## Mapping sbcipher to epadmin

sbadmin Command | epadmin Command | epadmin Target | Comments
--- | --- | --- | ---
sbcipher | encrypt | secret | This command works in conjunction with a master secret for the node, as described in StreamBase Security Model.

## Mapping sbc to epadmin

sbadmin Command | epadmin Command | epadmin Target | Comments
--- | --- | --- | ---
sbc checkLicense | None | None | Runtime license checks are not part of StreamBase 10.
sbc deq | dequeue | stream |
sbc dequeue | dequeue | stream |
sbc describe | display | adapter | Adapter details.
sbc describe | display | container | Container details.
sbc describe | display | operator | Operator details.
sbc describe | display | querytable | Query table details.
sbc describe | display | stream | Stream details.
sbc enq | enqueue | stream |
sbc enqueue | enqueue | stream |
sbc getDynamicVariable | None | None | Expected to be supported in a future release.
sbc list | display | adapter | Adapter details.
sbc list | display | container | Container details.
sbc list | display | operator | Operator details.
sbc list | display | querytable | Query table details.
sbc list | display | stream | Stream details.
sbc readTable | read | querytable |
sbc setDynamicVariable | None | None | Expected to be supported in a future release.
sbc status | display | adapter | Adapter details.
sbc status | display | operator | Operator details.
sbc status | display | node | Node details.
sbc typecheck | None | None | Use typecheck in Studio.

## Mapping sbadmin to epadmin

sbadmin Command | epadmin Command | epadmin Target | Comments
--- | --- | --- | ---
sbadmin addContainer | add | container |
sbadmin getLeadershipStatus | None | None | Legacy HA is deprecated, use StreamBase 10 HA services.
sbadmin getOperatorProperty | get | tunable | operator category.
sbadmin killAllConnections | close | connection |
sbadmin killConnection | close | connection |
sbadmin listConnections | display | connection |
sbadmin manageJdbcConnections | display | connection | Display JDBC connections.
sbadmin modifyContainer | modify | container |
sbadmin removeContainer | remove | container |
sbadmin restart | restart | container | Restart container.
sbadmin restart | stop, start | adapter | Restart adapter.
sbadmin restartContainer | restart | container |
sbadmin resume | resume | container | Resume container.
sbadmin resume | resume | adapter | Resume adapter.
sbadmin setLeadershipStatus | None | None | Legacy HA is deprecated, use StreamBase 10 HA services.
sbadmin setOperatorProperty | set | tunable | operator category.
sbadmin shutdown | stop | container | Stop container.
sbadmin shutdown | stop | adapter | Stop adapter.
sbadmin suspend | suspend | container | Suspend.
sbadmin suspend | suspend | adapter | Suspend adapter.

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