Reference: General properties#
The basic configuration of nJAMS Client for BW6 takes place in config file njams.properties
.
This configuration file resides in <TIBCO_HOME>/bw/<VERSION>/config/njams
. Use an editor of your choice and edit njams.properties
according to your needs.
This is the reference of general nJAMS Client for BW6 properties.
Note
Any change in this configuration file requires a re-start of the BW6 AppNode.
Communication#
The following properties deal with the communication between nJAMS Client and nJAMS Server, respectively nJAMS Cloud.
- njams.sdk.communication:
Select type of communication with nJAMS Server, respectively nJAMS Cloud:
JMS
nJAMS Client for BW6 communicates with nJAMS Server instance via TIBCO EMS. This settings is used for using nJAMS Server on premise, respectively private cloud.CLOUD
nJAMS Client for BW6 communicates with a nJAMS Cloud Instance. This setting is used, if you are using nJAMS Cloud service.
In case you are using JMS:
- njams.sdk.communication.jms.connectionFactory:
Sets the connection factory, for example “ConnectionFactory”.
- njams.sdk.communication.jms.username:
Use a valid JMS server user that has the required privileges to send and receive messages on the destinations defined in
njams.sdk.communication.jms.destination
.- njams.sdk.communication.jms.password:
The JMS user’s password.
- njams.sdk.communication.jms.destination:
The JMS destination name prefix. The prefix will be extended with
.event
”`` for event messages send by nJAMS Client for BW6 and.command
”`` for messages send from the server to the nJAMS Client for BW. Default isnjams
.- njams.sdk.communication.jms.destination.commands:
Name of the JMS destination that is used to send commands from nJAMS Server to nJAMS Client for BW6. This setting is optional and only used, if you want to use a dedicated topic commands.
- njams.sdk.communication.jms.java.naming.factory.initial:
Sets the JNDI context factory.
- njams.sdk.communication.jms.java.naming.security.principal:
Set JNDI user name.
- njams.sdk.communication.jms.java.naming.security.credentials:
Set JNDI user’s password.
- njams.sdk.communication.jms.java.naming.provider.url:
The JNDI server connection url. Fault-tolerant or load-balanced URLs are supported.
Sample configuration of a JMS Data Provider:
## SDK configuration
# Communication settings
njams.sdk.communication=JMS
# JMS settings
njams.sdk.communication.jms.connectionFactory=ConnectionFactory
njams.sdk.communication.jms.username=njams
njams.sdk.communication.jms.password=njams
njams.sdk.communication.jms.destination=njams.endurance
# JNDI settings
njams.sdk.communication.jms.java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
njams.sdk.communication.jms.java.naming.security.principal=njams
njams.sdk.communication.jms.java.naming.security.credentials=njams
njams.sdk.communication.jms.java.naming.provider.url=tibjmsnaming://vslems01:7222
In case you are using CLOUD:
The following properties have to be configured to allow nJAMS Client for BW6 to create a secure connection via https to a designated nJAMS Cloud Instance. You can find the configuration of the Cloud Data Provider within the Instance Setup of your Integration Matters account. A subscription of nJAMS Cloud is required.
- njams.sdk.communication.cloud.apikey:
Refers to absolute path of API key file.
- njams.sdk.communication.cloud.client.endpoint:
Endpoint of Integration Matters client hub. Default is
ingest.integrationmatters.com
and does not need to be changed.- njams.sdk.communication.cloud.client.certificate:
Refers to absolute path of client certificate file.
- njams.sdk.communication.cloud.client.instanceId:
Refers to absolute path of nJAMS Cloud instance file.
- njams.sdk.communication.cloud.client.privatekey:
Refers to absolute path of private key file.
Sample configuration of a Cloud Data Provider:
## SDK configuration
# Communication settings
njams.sdk.communication=CLOUD
# Cloud Data Provider:
njams.sdk.communication.cloud.apikey=/opt/tibco/njams/api.key
njams.sdk.communication.cloud.endpoint=ingest.integrationmatters.com
njams.sdk.communication.cloud.certificate=/opt/tibco/njams/certificate.pem
njams.sdk.communication.cloud.instanceid=/opt/tibco/njams/instanceId
njams.sdk.communication.cloud.privatekey=/opt/tibco/njams/private.pem.key
Replay#
The following property enables/disables Replay in nJAMS Client for BW6:
- njams.bw6.replayEnabled:
Turn on/off Replay.
true
enables Replay (default).false
disables Replay.
Subagent#
The following properties configure Subagent against nJAMS Agent service:
- njams.sdk.subagent.enabled:
Turn on/off Subagent.
true
enables Subagent (default).false
disables Subagent.- njams.sdk.subagent.host:
Name of the server that hosts nJAMS Agent service. Enter a hostname or ip-address, default is
localhost
.- njams.sdk.subagent.port:
Port number of nJAMS Agent service, default is
6450
.
Sample settings for Subagent:
# Enable Subagent and configure against nJAMS Agent on localhost:
njams.sdk.subagent.enabled=true
njams.sdk.subagent.host=localhost
njams.sdk.subagent.port=6450
Inline Sub Processes#
In TIBCO BusinessWorks 6 non-spawned sub processes always create new jobs and are therefore represented in nJAMS by separate process instances. Since these process instances are correlated with the main process, which calls the sub process, the Result list of correlated entries may get very long. Furthermore, the number of nJAMS log messages may also increase significantly, if the main process calls the sub process(es) very often.
To counter this, nJAMS Client for BW6 optionally supports to treat non-spawned sub processes as “inline sub processes”. Inline sub processes means, nJAMS Client for BW6 will NOT create a separate process instance for a non-spawned sub process call. This behavior is therefore similar to the behavior of nJAMS Client for BW in connection with TIBCO BusinessWorks 5.
Spawned sub processes in TIBCO BusinessWorks 6 are not affected by this setting. They are still represented in nJAMS by separate process instances.
- njams.bw6.inlineSubProcesses:
Enables/disables inline sub processes.
true
enables inline sub processes.false
disables inline sub processes (default).
Activation of process instrumentation#
- njams.bw6.enableProcessInstrumentation:
Enables/disables activation of process instrumentation by nJAMS Client for BW6.
true
enables activation of process instrumentation (default).false
disables activation of process instrumentation.
Use encrypted passwords#
In njams configuration files passwords are usually entered in plain text, such as njams.sdk.communication.jms.password=foo
.
In case you do not want to use uncoded passwords, you can use encrypted passwords as follows:
Assume, the password of your JMS account is foo
:
Call
java -jar njams-sdk-4.x.x.jar foo
will output encrypted password:??0190029006d0048004c0055000c0017002d00090005006a004d007100b500bd
Place encrypted password into
njams.properties
atnjams.sdk.communication.jms.password=??0190029006d0048004c0055000c0017002d00090005006a004d007100b500bd
Restart AppNode to make change effective
Additional properties#
The following properties are not required to be changed in most cases. Please only change these values, if you are fully aware of the effects.
- njams.client.sdk.discardpolicy:
Discards messages from memory, when maxQueueLength is exceeded.
none
blocks the application processing until queue size is below threshold (default).discard
will discard of the message.OnConnectionLoss
only discards event messages, if there is no connection available to JMS or Cloud provider. Otherwise application processing is slowed down until all log messages are sent, respectively queue size is below threshold.- njams.client.sdk.flush_interval:
Period of time for collecting events. Enter integer value in seconds. Default is
30
.- njams.client.sdk.flushsize:
Maximum internal message size. If size of internal message is reached, an instant push is triggered. Enter any integer value > 0 in Byte. Default is
5242880
.