Reference: General properties

The basic configuration of nJAMS Client for ADR3 takes place in config file njams.properties. This configuration file resides in <TIBCO_SAP_ADAPTER_HOME>/plugins/conf. Use an editor of your choice and edit njams.properties according to your needs.

Note

Any change in this configuration file requires a re-start of the TIBCO Adapter for SAP Service instances.

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 ADR3 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 ADR3 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 ADR3 and .commands for messages send from the server to the nJAMS Client for ADR3. Default is njams.

njams.sdk.communication.jms.destination.commands

Name of the JMS destination that is used to send commands from nJAMS Server to nJAMS Client for ADR3. 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.

njams.sdk.communication.jms.delivery.mode

Allows to specify message delivery mode of TIBCO EMS: PERSISTENT|NON_PERSISTENT. Default is PERSISTENT.

Sample configuration of a JMS Data Provider using TIBCO EMS:

## 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.prod

# 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://localhost:7222

Sample configuration of a JMS Data Provider using ActiveMQ:

## SDK configuration
# Communication settings
njams.sdk.communication=JMS

# JMS settings
njams.sdk.communication.jms.connectionFactory=QueueConnectionFactory
njams.sdk.communication.jms.username=njams
njams.sdk.communication.jms.password=njams
njams.sdk.communication.jms.destination=njams.prod

# JNDI settings
njams.sdk.communication.jms.java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
njams.sdk.communication.jms.java.naming.security.principal=admin
njams.sdk.communication.jms.java.naming.security.credentials=admin
njams.sdk.communication.jms.java.naming.provider.url=tcp\://localhost\:61616

In case you are using nJAMS Cloud:

The following properties have to be configured to allow nJAMS Client for ADR3 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

Unique id of your nJAMS Cloud Instance.

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.client.endpoint=ingest.integrationmatters.com
njams.sdk.communication.cloud.client.certificate=/opt/tibco/njams/certificate.pem
njams.sdk.communication.cloud.client.instanceId=4711
njams.sdk.communication.cloud.client.privatekey=/opt/tibco/njams/private.pem.key

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.adr3.domain

Specifies domain name as fallback. In case nJAMS Client for ADR3 could not determine the domain name, the specified value is . Default is Domain.

njams.adr3.deployment

Specifies deployment name as fallback. In case nJAMS Client for ADR3 could not determin the deployment name, the specified value is taken. Default is Deployment.

njams.adr3.engine

Specifies engine name as fallback. In case nJAMS Client for ADR3 could not determin the engine name, the specified value is taken. Default is Engine.

Sample configuration of nJAMS Client for ADR3 taxonomy:

# Taxonomy:
njams.adr3.domain=TestDomain
njams.adr3.deployment=Deployment
njams.adr3.engine=Engine
njams.sdk.configuration.provider

Specifies configuration provider, respectively the location where nJAMS Client for ADR3 stores the application based configuration.

file stores configuration on storage device (default).

memory stores configuration in memory. Should be used, when no storage device is available (Cloud). That means the configuration is lost after restart of TIBCO Adapter for SAP.

njams.client.sdk.discardpolicy

Discards messages from memory, when maxQueueLength is exceeded.

none blocks the adapter service 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 the engine 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.

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:

  1. Call java -jar njams-sdk-4.x.x.jar foo will output encrypted password: ??0190029006d0048004c0055000c0017002d00090005006a004d007100b500bd

  2. Place encrypted password into njams.properties at njams.sdk.communication.jms.password=??0190029006d0048004c0055000c0017002d00090005006a004d007100b500bd

  3. Restart AppNode to make change effective