Connectivity configuration properties
Configure your solution connectivity in the server.xml file of your runtime servers.
Catalog server endpoint configuration
In the server.xml file of your runtime servers, you must specify the ia_connectivity entry to configure an inbound or outbound server to connect to the cluster.
The following ia_connectivity element configures the inbound or outbound connectivity server to connect to the cluster using the catalog servers that have the host names catalogHost01 and catalogHost02, and that are both listening on port 2809.
<ia_connectivity catalogServerEndpoint="catalogHost01:2809,catalogHost02:2809" />
You can specify the following properties in the ia_connectivity entry:
Property | Default value | Description |
---|---|---|
catalogServerEndpoint | By default, a local connection is used. | The catalogServerEndpoint is a list of the bootstrap endpoints of the catalog servers, which are separated by commas. Each endpoint is specified using a host name and a port, for example: host1:2809. |
serverName | If you do not set the serverName property, a default value is generated based on your IP address. If you enter a serverName value, ensure that the value is a unique name. | The serverName property is a unique name for the connectivity server, for example: host1-cisInbound. This property is used to identify the server in the server log messages. |
HTTP outbound endpoint configuration
You must specify an ia_outboundHttpEndpoint entry in each server that handles the endpoint. The entry for an outbound HTTP endpoint must take the following format:
<ia_outboundHttpEndpoint endpoint="solution_name/endpoint_name"/>
You can specify the following properties in the ia_outboundHttpEndpoint entry:
Property | Default value | Description |
---|---|---|
endpoint | Not applicable | The solution name and endpoint name to which this configuration applies. The value you specify must be in the following format: solution_name/endpoint_name You can terminate the value in a * wildcard character, to match multiple endpoints of a solution, or to match all the endpoints of multiple solutions. The endpoint property is mandatory. |
url | If you do not set this property, the outbound event is sent to the URL specified in the outbound HTTP endpoint definition. | The URL where the outbound event is sent, in the form of a message, either over HTTP or HTTPS. |
user | If you do not set this property, user authentication information is not sent. | The user ID that is sent to the external HTTP server, during basic authentication. |
password | Not applicable | The authentication password that is sent to the external HTTP server. The password is sent together with user ID specified in the user property. If required, you can encode the value with the securityUtil tool for extra security. |
If you specify an advanced property in the server configuration, the value overrides the equivalent value in the solution connectivity definition (.cdef) file.
Property | Default value | Description |
---|---|---|
http.connection.timeout | 10000 | The HTTP connection wait timeout period, in milliseconds. This is the elapsed time after which an attempted connection to the external HTTP server is abandoned. A value 0 indicates an infinite period. |
http.socket.timeout | 10000 | The HTTP socket wait timeout period, in milliseconds. A value 0 indicates an infinite period. |
http.ssl.config | If you do not set this property, the default SSL configuration is used. | The name of the SSL configuration used for outbound HTTPS connections. |
JMS outbound endpoint configuration
You must specify an ia_outboundJmsEndpoint entry in each server that handles the endpoint. The entry for an outbound JMS endpoint must take the following format:
<ia_outboundJmsEndpoint endpoint="solution_name/endpoint_name"/>
You can specify the following properties in the ia_outboundJmsEndpoint entry:
Property | Default value | Description |
---|---|---|
endpoint | Not applicable | The solution name and endpoint name to which this configuration applies. The value you specify must be in the following format: solution_name/endpoint_name You can terminate the value in a * wildcard character, to match multiple endpoints of a solution, or to match all the endpoints of multiple solutions. The endpoint property is mandatory. |
If you specify an advanced property in the server configuration, the value overrides the equivalent value in the solution connectivity definition (.cdef) file.
Property | Default | Description |
---|---|---|
jms.bytes.message | false | If you set this property to true, a JMS BytesMessage is used to carry the event message. Otherwise, a TextMessage is used. |
jms.persistent.delivery | true | If you set this property to true, the DeliveryMode set on the JMS message producer is PERSISTENT. Otherwise, the DeliveryMode is NON_PERSISTENT. |
Advanced buffer properties for outbound endpoints
You can specify advanced properties that control the buffer that is used to hold messages to be delivered to an outbound endpoint. If required, the advanced buffer properties must be specified in the outbound HTTP or JMS endpoint connectivity definition (.cdef) file in your solution. The advanced buffer properties cannot be specified in the connectivity server configuration.
Property | Default value | Description |
---|---|---|
buffer.max.pending.event.count | The default value is 1000. | The maximum number of events that can be contained in the buffer in an individual partition of the grid. If an agent emits an event to be delivered to the endpoint and this limit is reached in the local partition, the agent transaction is rolled back. |
buffer.event.time.to.live | The default value is the number of seconds that is specified in the discarding messages clause in the outbound endpoint definition. If the outbound endpoint does not contain a discarding messages clause, then the default value is 0. | The maximum life time of an event that is contained in the buffer, in seconds. If the event delivery does not complete within this life time, the event is discarded. A value 0 indicates an unlimited period. |
Advanced thread pool properties for outbound endpoints
You can specify advanced properties that control the outbound connectivity threads that deliver messages that are contained in an outbound endpoint buffer to their final destination. You can specify advanced properties in the ia_outboundHttpEndpoint or ia_outboundJmsEndpoint entries in the server configuration. If you specify an advanced thread pool property in the connectivity server configuration, the value overrides the equivalent value in the .cdef file.
Property | Default value | Description |
---|---|---|
thread.pool.size | The default value is 5. | The maximum number of threads that the connectivity server can use to deliver messages for this endpoint. |
thread.min.retry.delay | The default value is 1. | The minimum amount of time a thread can wait after a failure before it attempts to deliver another message, in milliseconds. |
thread.max.retry.delay | The default value is computed based on the number of seconds that are specified in the discarding messages clause in the outbound endpoint definition. If the outbound endpoint definition does not contain a discarding messages clause, then the default value is 10000. | The maximum amount of time a thread can wait after a failure before it attempts to deliver another message, in milliseconds. |
thread.retry.count.before.discard | The default value is -1. | The minimum number of times a delivery failure is reattempted. If the messages
are not delivered after the specified number of reattempts, it is discarded.
|