Contents
- Overview
- Activation Configuration
- Activation Configuration Format and Properties
- Activation Configuration Mechanisms
- Local License Configuration File
- Managed Activation Configuration
- Streaming Maven Archetypes
- Modifying the Activation Configuration
- Displaying the Activation Configuration
- License Validation Statistics
- License Validation Schedule and Behavior
TIBCO® Streaming requires activation via a license to start. Activation is required when running an application in development,
unless the application is being run in a StreamBase Studio IDE. If the application is exported for testing, then it requires
activation. All production deployments
use application archives. Activation is enabled during installation of
these archives.
If you want to customize the license validation behavior, you need to specify an Activation Configuration. See the sections below for more information on format and details.
If the activation configuration is not specified, then the node uses a default activation configuration. By default, the configuration uses a local license directory located in the user's home directory in the fixed location:
-
Windows:
%USERPROFILE%/.tibco-streaming/licenses -
macOS or Linux:
$HOME/.tibco-streaming/licenses
If you want to customize the activation configuration, then specify an activation configuration as given in the sections below.
The following is a description of all activation configuration properties:
- localLicenseDirectory
-
TIBCO recommends using In-Product Activation instead of the TIBCO Activation Service to activate your product. Once you generate a license file, you activate your product instance by copying that file into a local license directory, described by this property. This property is optional and its default value is:
-
Windows:
%USERPROFILE%/.tibco-streaming/licenses -
macOS or Linux:
$HOME/.tibco-streaming/licenses
This property is mutually exclusive with the
activationServiceURLsproperty. -
- activationServiceURLs
-
The
activationServiceURLsproperty defines a list of URLs that identify TIBCO Activation Service instances to which the node will contact during license activation. See the TIBCO Activation Service documentation for information on how to get these URLs.This property is optional and has no default value. If no URLs are defined, then the node uses license files in a local license directory, as explained in the sections below.
There are two ways for you to specify an activation configuration:
-
Create a local license configuration file and place it in the location as specified in the section below. The node prioritizes a configuration resource in an application archive over a configuration file in the specified location. If neither is present, the node uses default values for the activation configuration properties, which means that an activation configuration is not required.
-
Create a managed activation configuration and place it in
an application project, a fragment project, or a node deploy configuration file. The managed activation configuration is managed exactly like any other configuration resource.
If you do not want to modify your application archive or node deploy files, you can place a license configuration file in the node user's home directory, in the fixed location:
-
Windows:
%USERPROFILE%/.tibco-streaming/license-config.conf -
macOS or Linux:
$HOME/.tibco-streaming/license-config.conf
It is not needed for the node to be restarted for license validation.
The file format is the same as the configuration content of the activation configuration resource as described in the next section:
{
localLicenseDirectory = "/my/license/directory"
}
Note that a configuration envelope is required because this file is not a configuration
resource managed by the node. You can configure activation using either the
localLicenseDirectory or the activationServiceURLs
property.
Placing an activation configuration into an application archive is useful because you can set your activation configuration in one place. Then you can create as many nodes as you want without separately providing the activation configuration for each one. Alternatively, if you have an existing application archive and do not want to change it, you can place the activation configuration in a node deploy configuration and then create a node using that node deploy configuration. The node uses that activation configuration for license validation.
The activation configuration resource is a singleton. Hence, an error is generated when you activate an activation configuration with a new name when one is already active. You are allowed to update the activation configuration, keeping the name the same and changing only the version. The following is an example of a HOCON format activation configuration:
name = "MyLicenseConfig"
version = "1.0"
type = "com.tibco.ep.dtm.configuration.licensing"
configuration = {
LicenseInfo = {
localLicenseDirectory = "/my/license/directory"
}
}
Once the configuration is placed in the application archive and/or node deploy file and whenever a node is created using that archive and/or node deploy file, it will automatically be configured with the right activation configuration.
For new projects generated by the Streaming Maven application project archetypes, two new archetype parameter properties are available. These are:
-
activationserviceurls -
locallicensedirectory
If either of these is specified, a license.conf file is generated using
the given values. If neither is specified, license.conf will be generated
without either of these specified. In that case, when deployed, the application will attempt
to find a license file in the user’s default local license directory.
Docker Projects
If Docker or Kubernetes support is enabled during StreamBase Application project generation, license files are copied into the container image at build time.
-
If
locallicensedirectoryis defined during project creation (archetype property), then the license file from that directory is copied into the image. -
If
locallicensedirectoryis not specified, then the license file from the user’s default home license directory is copied.
Inside the container, license files are always placed in:
/home/tibco/.tibco-streaming/licenses. The
license.conf file uses a substitution variable for the local license
directory, which resolves to the user-specified path on the host or to the fixed license path
inside the container.
Overriding License Directory at Build Time
To change the local license directory during project build time (without regenerating the archetype), specify the following Maven property:
mvn clean install -Dlocal.license.directory=/foo
This command overrides the archetype’s locallicensedirectory property,
providing flexible control without additional project changes.
Helm Projects
All license files found in the user’s local license directory (or the directory specified at project generation) are packaged into a Kubernetes Secret. A ConfigMap is also created for the license configuration.
The Helm deployment mounts these resources, allowing license files and configuration to be updated easily without needing to rebuild or redeploy container images or Helm charts.
Once a node has been deployed, the activation configuration can be updated without restarting the node.
If you are using a configuration for TIBCO activation license, you can use the epadmin configuration target to load and activate a new activation configuration resource with the same name and a different version. You can then use epadmin configuration command to switch between versions just as you would with any other configuration object.
If you are using a local license file, you can update the license file in the node user's home directory. The changes will take effect the next time license validation occurs.
You can use the epadmin display node command to view the activation configuration and the license expiration date.
The licensevalidation statistic shows validation attempt and failure counts, and the entitlement expiration date. Use the epadmin statistics command target to display the statistic.
For a TIBCO Activation Service-based authorization, the node requests validation when the node starts, and validates entitlement once per day. If activation or validation fails, the node shuts down all application engines. The node remains available for administration and can be restarted once you have fixed your validation problem.
If a running server loses contact with the activation server, a grace period begins during which the connection can be reestablished. Do not restart the node during this grace period. For more information, see TIBCO Activation Service documentation.
