Reference nJAMS Client for BW properties¶
This is the reference of available nJAMS Client for BW properties:
Initialize nJAMS Client for BW¶
Replace Java Start Class preset by TIBCO with Java Start Class of nJAMS Client for BW in order to initialize nJAMS Client for BW once the BW eninge starts.
Update BW engine TRA file by commenting original start class and adding njams start class:
# java.start.class=com.tibco.pe.PEMain
java.start.class=com.faizsiegeln.njams.client.run
General settings¶
The following properties determine the general configuration of nJAMS Client for BW.
tibco.clientVar.nJAMS/logMode: | |
---|---|
Globally controls the operation mode of the nJAMS Client for BW:
|
|
tibco.clientVar.nJAMS/configurationFile: | |
Defines the path to a directory or file name where the configuration of this client is stored.
Directory: If a directory is specified, nJAMS Client for BW will search for a file of name |
|
tibco.clientVar.nJAMS/publishSources: | |
Controls whether to publish process definition or not. If no process definition is sent, there will be no process graph visible in nJAMS UI.
|
|
tibco.clientVar.nJAMS/flushOnCheckpoint: | |
Controls how to proceed, when TIBCO BusinessWorks Checkpoint activity is executed.
|
|
tibco.clientVar.nJAMS/logAllErrors: | |
Controls when nJAMS Client for BW should send error events.
|
Sample settings for general configuration of nJAMS Client for BW:
tibco.clientVar.nJAMS/logMode=complete
tibco.clientVar.nJAMS/configurationFile=
tibco.clientVar.nJAMS/flushOnCheckpoint=true
tibco.clientVar.nJAMS/logAllErrors=false
Data Providers - general¶
The following settings apply to all Data Providers.
tibco.clientVar.nJAMS/DataProvider/instantPush: | |
---|---|
Controls whether to collect events within a period of time and send the events by one single message or to send out a message for each event.
|
|
tibco.clientVar.nJAMS/DataProvider/timeoutPush: | |
Period of time for collecting events. Enter any integer value in miliseconds. Default is |
|
tibco.clientVar.nJAMS/DataProvider/timeoutCheckInterval: | |
Period of time for timeout check. Enter any integer value in miliseconds. Default is |
Sample settings for general data provider settings:
# Typical general settings for Data Providers are:
tibco.clientVar.nJAMS/DataProvider/instantPush=false
tibco.clientVar.nJAMS/DataProvider/timeoutPush=30000
tibco.clientVar.nJAMS/DataProvider/timeoutCheckInterval=5000
Data Provider - Cloud¶
The following properties have to be configured to allow nJAMS Client for BW 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.
tibco.clientVar.nJAMS/DataProvider/Cloud/apikey: | |
---|---|
Refers to absolute path of API key file. |
|
tibco.clientVar.nJAMS/DataProvider/Cloud/enabled: | |
Enables/disables sending of event messages to nJAMS Cloud Instance.
|
|
tibco.clientVar.nJAMS/DataProvider/Cloud/endpoint: | |
Endpoint of Integration Matters client hub. Default is |
|
tibco.clientVar.nJAMS/DataProvider/Cloud/certificate: | |
Refers to absolute path of client certificate file. |
|
tibco.clientVar.nJAMS/DataProvider/Cloud/instanceid: | |
Unique id of your nJAMS Cloud Instance. |
|
tibco.clientVar.nJAMS/DataProvider/Cloud/privatekey: | |
Refers to absolute path of private key file. |
Sample configuration of a Cloud Data Provider:
# Cloud Data Provider:
tibco.clientVar.nJAMS/DataProvider/Cloud/apikey=/opt/tibco/njams/api.key
tibco.clientVar.nJAMS/DataProvider/Cloud/enabled=true
tibco.clientVar.nJAMS/DataProvider/Cloud/endpoint=ingest.integrationmatters.com
tibco.clientVar.nJAMS/DataProvider/Cloud/certificate=/opt/tibco/njams/certificate.pem
tibco.clientVar.nJAMS/DataProvider/Cloud/instanceid=/opt/tibco/njams/instanceid
tibco.clientVar.nJAMS/DataProvider/Cloud/privatekey=/opt/tibco/njams/private.pem.key
Note
The TIBCO BusinessWorks engine has to use TLS 1.2 for secure communication to nJAMS Cloud instance. Add the following properties to bwengine.tra, respectively designer.tra:
java.property.TIBCO_SECURITY_VENDOR=j2se
and
java.property.jdk.tls.client.protocols=TLSv1.2
Data Provider - JMS¶
The following properties have to be configured to allow nJAMS Client for BW to create a connection to designated JMS provider.
tibco.clientVar.nJAMS/DataProvider/JMS/enabled: | |
---|---|
Enables or disables the sending of event messages via JMS.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/destination: | |
The JMS destination name prefix.
The prefix will be extended with “.event” for event messages send by nJAMS Client for BW and “.command” for messages send from the server to the nJAMS Client for BW.
Default is |
|
tibco.clientVar.nJAMS/DataProvider/JMS/server: | |
The JMS or JNDI server connection url. This can either be the JNDI connection URL, if JNDI is enabled, or the native JMS server connection URL. Examples for TIBCO EMS are: Examples for ActiveMQ are: |
|
tibco.clientVar.nJAMS/DataProvider/JMS/user: | |
The JMS server user name to use.
Use any valid JMS server user that has the required privileges to send and receive messages on the destinations defined in |
|
tibco.clientVar.nJAMS/DataProvider/JMS/password: | |
The JMS user’s password. The password is allowed to be clear text (not recommened) or obfuscated (using TIBCO’s obfuscation tool). |
|
tibco.clientVar.nJAMS/DataProvider/JMS/clientId: | |
Specifies the TIBCO EMS connection’s clientId to be set. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/deliveryMode: | |
Sets the producer’s default delivery mode. Delivery mode is set to |
The following properties have been introduced with version 4.0.8:
tibco.clientVar.nJAMS/DataProvider/JMS/pool/min: | |
---|---|
This property configures minimum pool size of JMS connection. Default is 1. | |
tibco.clientVar.nJAMS/DataProvider/JMS/pool/max: | |
This property configures maximum pool size of JMS connection. Default is 20. | |
tibco.clientVar.nJAMS/DataProvider/JMS/pool/idleTimeoutMs: | |
Idle connection timeout to close and remove JMS connection in msec. Default is 60000. | |
tibco.clientVar.nJAMS/DataProvider/JMS/pool/borrowTimeoutMs: | |
Timeout to wait for a JMS connection before throwing jmsConnectionLoss exception in msec. Default is 5000. |
JNDI¶
Use these properties for JNDI:
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI: | |
---|---|
Controls whether to use JNDI to lookup (JMS) connection factories, or not.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/user: | |
Set JNDI user name. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/password: | |
Set JNDI user’s password. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory: | |
Sets the JNDI context factory. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory/compress: | |
Determine, if the the JMS messages should be send in compressed mode to save bandwidth.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory: | |
Sets the JNDI context factory. For TIBCO EMS use |
SSL¶
Use these properties for using SSL connection:
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/useSSL: | |
---|---|
Turn on/off SSL connections.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_ciphers: | |
Name of the SSL ciphers to use. For example: |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_debug: | |
Turn on/off SSL debug tracing.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_hostname: | |
If set, the JMS server name presented in the server’s certificate is matched against this name. If they do not match, the SSL connection is not established. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_identity: | |
Absolute path to a PKCS12 identity, which is used to establish the SSL connection. For example: |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_key: | |
Absolute path to a private key file. |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_password: | |
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trace: | |
Turn on/off SSL tracing.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trusted: | |
Absolute path to file or folder with trusted certificates (in PEM format). For example: |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_vendor: | |
Name of the SSL vendor to use. For example: |
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_host: | |
Specifies, if client should verify server certificate. This setting is introduced with version 4.1.3 of nJAMS Client for BW.
|
|
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_hostname: | |
Specifies, if client should verify the common name in server certificate. This setting is introduced with version 4.1.3 of nJAMS Client for BW.
|
Sample configuration of an JMS Data Provider using TIBCO EMS w/ JNDI:
# TIBCO EMS Data Provider:
tibco.clientVar.nJAMS/DataProvider/JMS/enabled=true
tibco.clientVar.nJAMS/DataProvider/JMS/destination=njams
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI=true
tibco.clientVar.nJAMS/DataProvider/JMS/server=tibjmsnaming\://localhost\:7222
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory=QueueConnectionFactory
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory
tibco.clientVar.nJAMS/DataProvider/JMS/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/password=admin
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/password=admin
Sample configuration of an JMS Data Provider using a SSL connection to TIBCO EMS w/o JNDI:
# EMS JMS Data Provider using SSL:
tibco.clientVar.nJAMS/DataProvider/JMS/logMode=complete
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory=
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory
tibco.clientVar.nJAMS/DataProvider/JMS/destination=njams
tibco.clientVar.nJAMS/DataProvider/JMS/enabled=true
tibco.clientVar.nJAMS/DataProvider/JMS/password=admin
tibco.clientVar.nJAMS/DataProvider/JMS/server=ssl\://vswtibco01\:7242
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI=false
tibco.clientVar.nJAMS/DataProvider/JMS/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_debug_trace=true
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_hostname=server
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_password=password
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trace=true
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trusted=C\:/tibco/ems/8.5/samples/certs/server_root.cert.pem
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_vendor=j2se
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_host=false
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_hostname=false
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/useSSL=true
Sample configuration of an JMS Data Provider using a SSL connection to a fault-tolerant TIBCO EMS setup with JNDI:
# EMS JMS/JNDI Data Provider using SSL:
tibco.clientVar.nJAMS/DataProvider/JMS/logMode=complete
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory=FTSSLQueueConnectionFactory
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory
tibco.clientVar.nJAMS/DataProvider/JMS/destination=njams
tibco.clientVar.nJAMS/DataProvider/JMS/enabled=true
tibco.clientVar.nJAMS/DataProvider/JMS/password=admin
tibco.clientVar.nJAMS/DataProvider/JMS/server=tibjmsnaming\://vswtibco01\:7242,tibjmsnaming\://vswtibco01\:7243
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI=true
tibco.clientVar.nJAMS/DataProvider/JMS/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_debug_trace=true
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_hostname=server
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_password=password
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trace=true
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_trusted=C\:/tibco/ems/8.5/samples/certs/server_root.cert.pem
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_vendor=j2se
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_host=false
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/ssl_verify_hostname=false
tibco.clientVar.nJAMS/DataProvider/JMS/ssl/useSSL=true
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/password=admin
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/user=admin
Sample configuration of an JMS Data Provider using ActiveMQ:
# AMQ JMS Data Provider:
tibco.clientVar.nJAMS/DataProvider/JMS/enabled=true
tibco.clientVar.nJAMS/DataProvider/JMS/destination=njams
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI=true
tibco.clientVar.nJAMS/DataProvider/JMS/server=tcp\://localhost\:61616
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory=QueueConnectionFactory
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory
tibco.clientVar.nJAMS/DataProvider/JMS/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/password=admin
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/user=admin
tibco.clientVar.nJAMS/DataProvider/JMS/JNDI/password=admin
Data Provider - EngineLog¶
tibco.clientVar.nJAMS/DataProvider/EngineLog/enabled: | |
---|---|
Enables or disables the writing of event messages into bw engine’s log file.
|
Data Provider - File¶
tibco.clientVar.nJAMS/DataProvider/File/enabled: | |
---|---|
Enables or disables the writing of event messages into log file.
|
|
tibco.clientVar.nJAMS/DataProvider/File/name: | |
Absolute path of the log file to write log entries to (if enabled).
For example: |
Memory Management¶
See the following properties to adjust nJAMS Client for BW’s memory management:
tibco.clientVar.nJAMS/MemoryManagement/maxMsgSizeMB: | |
---|---|
Maximum internal message size. If size of internal message is reached, an instant push is triggered.
Enter any integer value > 0 in MB. Default is |
|
tibco.clientVar.nJAMS/MemoryManagement/maxQueueLength: | |
Maximum internal queue size, before discardPolicy is applied.
Enter any integer value > 0. Default is |
|
tibco.clientVar.nJAMS/MemoryManagement/discardPolicy: | |
Discards messages from memory, when maxQueueLength is exceeded.
|
Sample settings for memory management:
# Memory manangement settings for usual scenarios:
tibco.clientVar.nJAMS/MemoryManagement/maxMsgSizeMB=10
tibco.clientVar.nJAMS/MemoryManagement/maxQueueLength=20
tibco.clientVar.nJAMS/MemoryManagement/discardPolicy=none
Log4j configuration¶
nJAMS Client for BW uses the TIBCO BusinessWorks log4j configuration for its technical logging. By default, nJAMS logs into bw engine’s log file. You can use an individual logger for nJAMS Client for BW, if you want to log nJAMS message into a separate log file.
TIBCO BusinessWorks provides two locations, where you can configure Log4j.
Depending of what you prefer, you can configure either log4j2.properties
or log4j2.xml
.
Both configuration files reside in <TIBCO_HOME>/bw/<VERSION>/lib
.
Note
Starting with TIBCO BusinessWorks 5.15 TIBCO supports Log4j v2. The previous versions of TIBCO BusinessWorks support Log4j v1, which means the Log4j configuration filenames are accordingly log4j.properties
, respectively log4j.xml
.
In order to allow nJAMS Client for BW to log in its own separate log file, you have to add a log4j appender and a log4j logger into this configuration file. The following describes how Log4j can be configured in both ways.
Add nJAMS logger to Log4j2 configuration file:
By default, TIBCO BusinessWorks uses
log4j2.properties
for Log4j2 configuration.Use log4j2.properties:
Modify
<TIBCO_HOME>/bw/5.x/lib/log4j2.properties
and add an additional appender and logger for nJAMS Client for BW, e.g.:# ============================================================================ # nJAMS appender. appender.rolling.type = RollingFile appender.rolling.name = njams_log appender.rolling.fileName = /tmp/njams.log appender.rolling.filePattern = /tmp/njams.log.%i appender.rolling.policies.type = Policies appender.rolling.policies.size.type = SizeBasedTriggeringPolicy appender.rolling.policies.size.size = 10MB appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 10 appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = %-5p %d [%t] [event: %X{correlationId}] %c: %m%n # nJAMS Logger. The logger level is "INFO" and the appender is set to the # nJAMS appender. logger.njams.name = bw.logger.njams logger.njams.level = INFO logger.njams.appenderRef.bw_log.ref = njams_log logger.njams.additivity = false
Alternatively, you can use log4j2.xml:
Modify
<TIBCO_HOME>/bw/5.x/lib/log4j2.xml
and add an additional appender and logger for nJAMS Client for BW, e.g.:<RollingFile name="njams_log" fileName="/tmp/njams.log" filePattern="/tmp/njams.log.%i"> <PatternLayout pattern="%-5p %d [%t] [event: %X{correlationId}] %c: %m%n"/> <SizeBasedTriggeringPolicy size="10 MB"/> <DefaultRolloverStrategy max="10"/> </RollingFile> <logger name="bw.logger.njams" level="info" additivity="false"> <AppenderRef ref="njams_log"/> </logger>
Also modify bw engine TRA file(s) in order to make use of the log4j2 configuration in
log4j2.xml
and add the following line at the bottom of the TRA file. For TIBCO Desginer you have to modifydesigner.tra
file at<TIBCO_HOME>/designer/<VERSION>/bin/
accordingly.java.extended.properties=-Dlog4j.configurationFile=file:%TIB_HOME%/bw/5.15/lib/log4j2.xml
Add the following property to your bw engine TRA file, to make use of this logger:
tibco.clientVar.nJAMS/logger=bw.logger.njams
In TIBCO Designer you can set value
bw.logger.njams
to global variable nJAMS/logger.Restart bw enigne, respectively TIBCO Designer, for the changes to take effect.
Subagent¶
The following properties configure Subagent against nJAMS Agent service:
tibco.clientVar.nJAMS/Subagent/enabled: | |
---|---|
Turn on/off Subagent.
|
|
tibco.clientVar.nJAMS/Subagent/host: | |
Name of the server that hosts nJAMS Agent service. Enter a hostname or ip-address, default is |
|
tibco.clientVar.nJAMS/Subagent/port: | |
Port number of nJAMS Agent service, default is |
Sample settings for Subagent:
# Enable Subagent and configure against nJAMS Agent on localhost:
tibco.clientVar.nJAMS/Subagent/enabled=true
tibco.clientVar.nJAMS/Subagent/host=localhost
tibco.clientVar.nJAMS/Subagent/port=6450
Quick sample configuration¶
Please find below a sample configuration that enables nJAMS Client for BW in non-invasive mode while using TIBCO EMS. After applying the configuration to BW engine TRA file, you have to restart the BW engine.
Use the following sample properties as a template in order to instantly start with nJAMS Client for BW:
java.start.class=com.faizsiegeln.njams.client.run
tibco.clientVar.nJAMS/logMode=complete
tibco.clientVar.nJAMS/DataProvider/JMS/useJNDI=true
tibco.clientVar.nJAMS/DataProvider/JMS/destination=njams
tibco.clientVar.nJAMS/DataProvider/JMS/enabled=true
tibco.clientVar.nJAMS/DataProvider/JMS/user=<your-ems-username>
tibco.clientVar.nJAMS/DataProvider/JMS/password=<your-ems-password>
tibco.clientVar.nJAMS/DataProvider/JMS/server=tibjmsnaming\://<your-ems-machine>\:7222
tibco.clientVar.nJAMS/DataProvider/JMS/contextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory
tibco.clientVar.nJAMS/DataProvider/JMS/connectionFactory=QueueConnectionFactory