Configuring the Cometd transport

The Cometd transport allows the probe to connect to a target system using a Bayeux client.

CometD is a scalable HTTP-based event routing bus that uses an AJAX push technology pattern known as Comet. It implements the Bayeux protocol.

Cometd transport properties

The following table describes the properties used to configure the cometdTransport.properties file.
Table 1. Cometd transport properties

Property name

Description

bayeuxClientTransport

Use this property to which transport the probe uses to connect to the Bayeux server.

This property can take the following values:

long-polling: The probe only uses the long-polling transport.

websocket: The probe uses the Websocket transport first and falls back to long-polling.

The default is long-polling.

serverUri

Use this property to specify the Cometd server path to include in the URL used to connect to the comet server.

The default is /cometd/cometd

subscriptionChannel

Use this property to specify the channel on the Cometd server to which the probe subscribes to receive events.

The default is /channel

loginRequests

Use this property to send REST requests to login or authenticate with the target system.

The loginRequest property takes in a JSON with the following format and constructs an HTTP request to send to the server right after the probe connects to the server:

{"requests":[{"uri":"/some/uri","method":"POST","header":{"Content-Type":"application/json","Authorization":"Basic ++Username++:++Password++"},"data":"{\"username\":\"++Username++\",\"password\":\"++Password++\""},{"uri":"/some/other/uri","method":"POST","data":"{}","header": {"Content-Type":"application/json","Connection":"Keep-Alive"}}]}

resyncRequests

Use this property to request a resynchronization with the target system.

The resyncRequests property takes the same JSON format as the loginRequests property. Responses from resyncRequests will be added to the probe's message queue for parsing.

logoutRequests

Use this property to un-subscribe or initiate a logout from a system.

The logoutRequests property takes the same JSON format as the loginRequests property. Logout requests will be sent to the server before the probe disconnects.

securityProtocol

Use this property to specify the security protocol to use when retrieving events from the target system.

connectTimeout

Use this property to specify how long (in seconds) the probe waits for a Web Socket connection to be opened before timing out.

The default is 320.

responseTimeout

Use this property to specify how long (in seconds) the probe waits for an exchange or reply from the server before timing out.

The default is 20.

Note: You should set this parameter to a value greater than the estimated network delay.

idleTimeout

Use this property to specify how long (in seconds) the probe allows the HTTP Client component of the CometD transport to be idle before timing out.

The default is 20.

maxMessageSize

Use this property to specify the maximum number of bytes allowed for each WebSocket message.

The default is 8192.

stickyReconnect

Use this property to specify whether to keep using the Web Socket transport when the probe detects a Web Socket transport failure after the Web Socket transport successfully connected to the server.

The default is true.

httpHeaders

Use this property to set or override any HTTP header options such as Authorization header for basic authentication. This property is in JSON format.

Example value for this property:

{"Accept":"application/json","User-Agent":"IBM Netcool/OMNIbus Message Bus Probe"}

The following is an example of an Cometd properties file:
# Example format of CometD properties file

# bayeuxClientTransport=long-polling
# serverUri=/cometd/cometd
# subscriptionChannel=/channel
# loginRequests=
# resyncRequests=
# logoutRequests=
# securityProtocol = "TLSv1.2"
# connectTimeout=75
# responseTimeout=320
# idleTimeout=20
# maxMessageSize=8192 
# stickyReconnect=true
# httpHeaders=