Working with environment variables in StreamBase 10

Working with environment variables in StreamBase 10

book

Article ID: KB0070728

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10

Description

The StreamBase platform and adapters often depend on environment variables to be set in the runtime environment. When launching an application in Studio's Test/Debug perspective, these environment variables are not seen by the application leading to incorrect configuration and runtime errors. Adding environment variable settings to the Run Configuration does not correct the problem. How can I get the application launched from Studio to recognize the required environment variables?

Issue/Introduction

Changing the environment requires a node reinstall.

Resolution

Studio specifically does not pass the full machine environment to the node when it is started. This is by design. All needed configuration should be set explicitly within the project and associated Run Configuration. This permits all dependencies to be contained within the project.

When Studio launches an application, if there is no active node, Studio sets up a new node and starts the node services. Only at this time are the active Run Configuration's Environment-tab settings provided to the node environment. The new node gets only the settings explicitly provided and the following environment variables (example for MS Windows).

  COMSPEC
  JAVA_HOME
  PATH
  PATHEXT
  PROMPT
  SW3P_*
  SystemRoot
  TIBCO_EP_HOME

If you stop and restart the application, this leaves the node running and prevents any environment variable changes.

To check the environment variables used to set up the node, in the created node directory open the file " logs\bootstrap\coordinator.log" in a text editor. On the lines following the "Inherited Environment" line, the environment included in the node is listed. The node directory is created in the workspace directory that also contains the Studio project.

To change the environment for the application, in Studio check the Clusters view to see if there is a running node in the cluster named the same as your username on this system. If so, stop it using the Stop-sign toolbar button. Then remove the node using the red "X" toolbar button.
Cluster view toolbar buttons
Next, check your Run Configuration for this application to make sure the new environment variable settings are made, then launch the configuration. This will install a new node with the updated environment and run the application.

If you have many environment settings in your system environment and do not want to re-enter them into a Run Configuration, you may do the following steps from the command-line.

1). Note the " node.cluster" name that Studio will use (e.g. " A.Administrator").
2). In the Studio Clusters-view, stop and remove the node.
3). Open the StreamBase Command Prompt and change the directory to the workspace directory which contains the project.
4). Create the node with the following command. 
  epadmin install node nodename=A.Administrator
5). In Studio, Clusters view, confirm Studio sees the new node.
6). Run the application.
7). Confirm the started node has the desired environment by checking the " coordinator.log" file described above.