Migrating Operator Parameters to Module Parameters

Migrating Operator Parameters to Module Parameters

book

Article ID: KB0074910

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10

Description

As of TIBCO Streaming 10.5 the StreamBaseEngine operatorParameters configuration is deprecated. 
What is this configuration replaced by?

Resolution

Operator Parameters (also known as Global Parameters) are replaced by container-scope or module-scope Parameters in the EventFlowDeployment configuration. 

Example

Before the migration change:
StreamBaseEngine = {
  streamBase = {
    operatorParameters = {
      MetSeconds = "5"
    }
  }
}
This is referenced in the Metronome operator, "Tuple output interval:" with value: ${MetSeconds}
The name of the parameter is global to all containers started by this engine, and will cause name conflicts if also used as a field name or a parameter name.

Configuration Change

1) Remove the operatorParameters settings from the streamBase configuration group in the StreamBaseEngine.

2) Add an EventFlowDeployment configuration with container, module, and parameters:
EventFlowDeployment = {
  containers = {
    "default" = {
      moduleName = "com.support.chirp.chirp"
      containerParameterSettings  = {
        parameters = {
          MetSeconds = "5"
        }	
      }
    }
  }
}
You may choose to use a different container name, but in Studio also change Run Configuration for this module, Main tab, Container - Specified setting, to the same container name so that this matches the configuration and Studio does not instead launch the application in BOTH containers (the one specified in the Run Configuration and the one specified in the EventFlowDeployment).

3) Declare the module parameter in the .sbapp module, EventFlow Editor, Parameters tab, as:
  Name: MetSeconds 
  Value: 1 (a default value to assist typechecking)

Additional Notes

The difference between using "containerParameterSettings" and "moduleParameterSettings" is that moduleParameterSettings are only visible to the top-level module and are not automatically visible to child modules. The containerParameterSettings are available to all modules in addition to the top-level module.

The EventFlowDeployment "containerParameterSettings" and "moduleParameterSettings" properties groups may also reference a named ParameterSettingsGroup which provides a way to define parameters which may be re-used in multiple containers.

For more details about the available configuration options, see the product documentation page:
  TIBCO Streaming > Configuration Guide > StreamBase Configuration Types > StreamBase Engine Configuration

Issue/Introduction

Configuration migration guidance