This chapter provides reference information about configuration properties for a message broker. It consists of the following sections:
Table 14–1 lists the broker properties related to connection services.
Table 14–1 Broker Connection Properties
Property |
Type |
Default |
Description |
---|---|---|---|
String |
jms,admin |
List of connection services to be activated at broker startup, separated by commas |
|
String |
All available IP addresses |
Default host name or IP address for all connection services |
|
String |
None |
Host name or IP address of Port Mapper If specified, overrides imq.hostname. |
|
imq.portmapper.port [Can be used with imqcmd update bkr command] |
Integer |
7676 |
Port number of Port Mapper Note – If multiple broker instances are running on the same host, each must be assigned a unique Port Mapper port. |
imq.serviceName.protocolType.hostname [jms, ssljms, admin, and ssladmin services only; see Appendix C, HTTP/HTTPS Support for information on configuring the httpjms and httpsjms services] |
String |
None |
Host name or IP address for connection service If specified, overrides imq.hostname for the designated connection service. |
Integer |
0 |
Port number for connection service A value of 0 specifies that the port number should be allocated dynamically by the Port Mapper. |
|
Integer |
50 |
Maximum number of pending Port Mapper requests in operating system backlog |
|
imq.serviceName.threadpool_model [jms and admin services only] |
String |
dedicated |
Threading model for thread pool management: dedicated: Two dedicated threads per connection, one for incoming and one for outgoing messages shared: Connections processed by shared thread when sending or receiving messages |
The dedicated model limits the number of connections that can be supported, but provides higher performance; the shared model increases the number of possible connections, but at the cost of lower performance because of the additional overhead needed for thread management. |
|||
Integer |
jms: 10ssljms: 10httpjms: 10 httpsjms: 10 admin: 4ssladmin: 4 |
Minimum number of threads maintained in connection service’s thread pool When the number of available threads exceeds this threshold, threads will be shut down as they become free until the minimum is reached. The default value varies by connection service, as shown. |
|
Integer |
jms: 1000ssljms: 500httpjms: 500httpsjms : 500admin: 10ssladmin: 10 |
Number of threads beyond which no new threads are added to the thread pool for use by the named connection service Must be greater than 0 and greater than the value of imq.serviceName.min_threads. The default value varies by connection service, as shown. |
|
imq.shared.connectionMonitor_limit [Shared threading model only] |
Integer |
Solaris: 512Linux: 512Windows: 64 |
Maximum number of connections monitored by a distributor thread The system allocates enough distributor threads to monitor all connections. The smaller the value of this property, the faster threads can be assigned to active connections. A value of -1 denotes an unlimited number of connections per thread. The default value varies by operating-system platform, as shown. |
Integer |
120 |
Interval, in seconds, at which to test connection between client and broker A value of 0 or -1 disables periodic testing of the connection. |
Table 14–2 lists the broker properties related to routing services. Properties that configure the automatic creation of destinations are listed in Table 14–3.
Table 14–2 Broker Routing PropertiesTable 14–3 Broker Properties for Auto-Created Destinations
Message QueueTM supports both file-based and JDBC-based models for persistent data storage. The broker property imq.persist.store (Table 14–4) specifies which model to use. The following sections describe the broker configuration properties for the two models.
Table 14–4 Global Broker Persistence Property
Property |
Type |
Default |
Description |
---|---|---|---|
String |
file |
Model for persistent data storage: file: File-based persistence jdbc: JDBC-based persistence |
Table 14–5 lists the broker properties related to file-based persistence.
Table 14–5 Broker Properties for File-Based Persistence
Table 14–6 lists the broker properties related to JDBC-based persistence. Examples shown are for the PointBase® family of database products from DataMirror Mobile Solutions, Inc.
Table 14–6 Broker Properties for JDBC-Based Persistence
Table 14–7 lists the broker properties related to security services.
Table 14–7 Broker Security Properties
Property |
Type |
Default |
Description |
---|---|---|---|
Boolean |
true |
If true, the system will check the access control properties file to verify that an authenticated user is authorized to use a connection service or to perform specific operations with respect to specific destinations. |
|
imq.serviceName.accesscontrol.enabled |
Boolean |
None |
Use access control for connection service? If specified, overrides imq.accesscontrol.enabled for the designated connection service. If true, the system will check the access control properties file to verify that an authenticated user is authorized to use the designated connection service or to perform specific operations with respect to specific destinations. |
String |
accesscontrol.properties |
Name of access control properties file The file name specifies a path relative to the access control directory (see Appendix A, Platform-Specific Locations of Message QueueTM Data). |
|
String |
None |
Name of access control properties file for connection service If specified, overrides imq.accesscontrol.file.filename for the designated connection service. The file name specifies a path relative to the access control directory (see Appendix A, Platform-Specific Locations of Message QueueTM Data). |
|
String |
digest |
basic: Base-64 digest: MD5 |
|
String |
None |
Password encoding method for connection service: basic: Base-64 digest: MD5 If specified, overrides imq.authentication.type for the designated connection service. |
|
String |
file |
Type of user repository for base-64 authentication: file: File-based ldap: LDAP |
|
Integer |
180 |
Interval, in seconds, to wait for client response to authentication requests |
|
Boolean |
false |
Obtain passwords from password file? |
|
String |
See Appendix A, Platform-Specific Locations of Message QueueTM Data |
Path to directory containing password file |
|
String |
passfile | ||
String |
None |
Password for administrative user The Command utility (imqcmd) uses this password to authenticate the user before executing a command. |
|
String |
None |
Host name and port number for LDAP server The value is of the form hostName:port where hostName is the fully qualified DNS name of the host running the LDAP server and port is the port number used by the server. |
|
To specify a list of failover servers, use the following syntax: host1:port1 ldap://host2: port2 ldap://host3 :port3 … |
|||
Entries in the list are separated by spaces. Note that each failover server address is prefixed with ldap://. Use this format even if you use SSL and have set the property imq.user_repository.ldap.ssl.enabled to true. You need not specify ldaps in the address. |
|||
String |
None |
Distinguished name for binding to LDAP user repository Not needed if the LDAP server allows anonymous searches. |
|
imq.user_repository.ldap.password [Should be used only in password files] |
String |
None |
Password for binding to LDAP user repository Not needed if the LDAP server allows anonymous searches. |
To come |
To come |
To come |
|
String |
None |
Directory base for LDAP user entries |
|
String |
None |
Provider-specific attribute identifier for LDAP user name |
|
String |
None |
(Optional) JNDI filter for LDAP user searches |
|
Boolean |
false |
Enable LDAP group searches? Note – Message Queue does not support nested groups. |
|
String |
None |
Directory base for LDAP group entries |
|
String |
None |
Provider-specific attribute identifier for LDAP group name |
|
String |
None |
Provider-specific attribute identifier for user names in LDAP group |
|
String |
None |
(Optional) JNDI filter for LDAP group searches |
|
Integer |
280 |
Time limit for LDAP searches, in seconds |
|
Boolean |
false |
Use SSL when communicating with LDAP server? |
|
String |
See Appendix A, Platform-Specific Locations of Message QueueTM Data |
Path to directory containing key store file |
|
String |
keystore |
Name of key store file |
|
String |
None |
Password for key store file |
|
Boolean |
false |
Start audit logging to broker log file? |
Table 14–8 lists the broker properties related to monitoring services.
Table 14–8 Broker Monitoring Properties
Property |
Type |
Default |
Description |
---|---|---|---|
String |
INFO |
Logging level Specifies the categories of logging information that can be written to an output channel. Possible values, from high to low: ERROR WARNING INFO Each level includes those above it (for example, WARNING includes ERROR). |
|
Boolean |
false |
Log information about dead messages? If true, the following events will be logged:
|
|
imq.log.console.stream |
String |
ERR |
Destination for console output: OUT: stdout ERR: stderr |
String |
ERROR|WARNING |
Categories of logging information to write to console: NONE ERROR WARNING INFO ALL The ERROR, WARNING, and INFO categories do not include those above them, so each must be specified explicitly if desired. Any combination of categories can be specified, separated by vertical bars (|). |
|
String |
See Appendix A, Platform-Specific Locations of Message QueueTM Data |
Path to directory containing log file |
|
String |
log.txt |
Name of log file |
|
String |
ALL |
Categories of logging information to write to log file: NONE ERROR WARNING INFO ALL The ERROR, WARNING, and INFO categories do not include those above them, so each must be specified explicitly if desired. Any combination of categories can be specified, separated by vertical bars (|). |
|
Integer |
-1 |
File length, in bytes, at which output rolls over to a new log file A value of -1 denotes an unlimited number of bytes (no rollover based on file length). |
|
Integer |
604800 (one week) |
Age of file, in seconds, at which output rolls over to a new log file A value of -1 denotes an unlimited number of seconds (no rollover based on file age). |
|
String |
ERROR |
Categories of logging information to write to syslogd(1M): NONE ERROR WARNING INFO ALL The ERROR, WARNING, and INFO categories do not include those above them, so each must be specified explicitly if desired. Any combination of categories can be specified, separated by vertical bars (|). |
|
String |
LOG_DAEMON |
syslog facility for logging messages Possible values mirror those listed on the syslog(3C) man page. Appropriate values for use with Message Queue include: LOG_USER LOG_DAEMON LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 |
|
String |
imqbrokerd_${imq.instanceName} |
Identity string to be prefixed to all messages logged to syslog |
|
Boolean |
true |
Log broker process ID with message? |
|
Boolean |
false |
Write messages to system console if they cannot be sent to syslog? |
|
String |
Local time zone |
Time zone for log time stamps Possible values are the same as those used by the method java.util.TimeZone.getTimeZone. Examples: GMT GMT-8:00 America/LosAngeles Europe/Rome Asia/Tokyo |
|
Boolean |
true |
Enable writing of metrics information to Logger? Does not affect the production of metrics messages (controlled by imq.metrics.topic.enabled). |
|
Integer |
-1 |
Time interval, in seconds, at which to write metrics information to Logger Does not affect the time interval for production of metrics messages (controlled by imq.metrics.topic.interval). A value of -1 denotes an indefinite interval (never write metrics information to Logger). |
|
Boolean |
true |
Enable production of metrics messages to metric topic destinations? If false, an attempt to subscribe to a metric topic destination will throw a client-side exception. |
|
Integer |
60 |
Time interval, in seconds, at which to produce metrics messages to metric topic destinations |
|
Boolean |
false |
Are metrics messages sent to metric topic destinations persistent? |
|
Integer |
300 |
Lifetime, in seconds, of metrics messages sent to metric topic destinations |
Table 14–9 lists the configuration properties related to broker clusters.
Table 14–9 Broker Properties for Cluster Configuration
Property |
Type |
Default |
Description |
---|---|---|---|
imq.cluster.brokerlist [Must have the same value for all brokers in a cluster] |
String |
None |
List of broker addresses The list consists of one or more addresses, separated by commas. Each address specifies the host name and Port Mapper port number of a broker in the cluster, in the form hostName:portNumber. Example: host1:3000,host2:8000,ctrlhost |
imq.cluster.hostname [Can be specified independently for each broker in a cluster] |
String |
None |
Host name or IP address for cluster connection service If specified, overrides imq.hostname (see Table 14–1) for the cluster connection service. |
Integer |
0 |
Port number for cluster connection service A value of 0 specifies that the port number should be allocated dynamically by the Port Mapper. |
|
String |
tcp |
Network transport protocol for cluster connection service For secure, encrypted message delivery between brokers, set this property to ssl. |
|
imq.cluster.url, [Can be used with imqcmd update bkr command] |
String |
None |
URL of cluster configuration file, if any Examples: http://webserver/imq/cluster.properties (for a file on a Web server) file:/net/mfsserver/imq/cluster.properties (for a file on a shared drive) |
String |
None |
Host name and port number of cluster’s master broker, if any The value has the form hostName:portNumber, where hostName is the host name of the master broker and portNumber is its Port Mapper port number. Example: ctrlhost:7676 |
Alphabetical List of Broker Properties is an alphabetical list of broker configuration properties, with cross-references to the relevant tables in this chapter.
Table 14–10 Alphabetical List of Broker Properties
Property |
Table |
---|---|
imq.persist.store | |