Broker Properties Reference

Previous Next Contents

The script content on this page is for navigation purposes only and does not alter the content in any way.

17 Broker Properties Reference

This chapter provides reference information about configuration properties for a message broker. It consists of the following sections:

Connection Properties

Table 17-1 lists the broker properties related to connection services.

Table 17-1 Broker Connection Properties

Property Type Default Value Description

imq.brokerid

String

None

Broker identifier

For brokers using a shared JDBC-based data store, this string is appended to the names of all database tables to identify each table with a particular broker.

Must be a unique alphanumeric string of no more than n - 18 characters, where n is the maximum table name length allowed by the database.

This property is unnecessary for an embedded database or a standalone database which stores data for only one broker instance.

Note: For enhanced broker clusters (imq.cluster.ha = true), database table names also use the imq.cluster.clusterid property (see Table 17-14).

`imq.service.activelist`Foot 1 

String

jms,admin

List of connection services to be activated at broker startup, separated by commas

See Table 6-1 under Configuring Connection Services for the names of the available connection services.

imq.hostname

String

All available IP addresses

Default host name or IP address for all connection services

imq.portmapper.hostname

String

None

Host name or IP address of Port Mapper

If specified, overrides imq.hostname. This might be necessary, for instance, if the broker’s host computer has more than one network interface card installed.

`imq.portmapper.port`Foot 2 

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`Foot 3 

String

None

Host name or IP address for connection service

If specified, overrides imq.hostname for the designated connection service. This might be necessary, for instance, if the broker’s host computer has more than one network interface card installed.

imq.`serviceName.protocolType.port`Footref 3

Integer

0

Port number for connection service

A value of 0 specifies that the port number should be allocated dynamically by the Port Mapper. You might need to set a different value, for instance, to specify a static port number for connecting to the broker through a firewall.

imq.portmapper.backlog

Integer

50

Maximum number of pending Port Mapper requests in operating system backlog

imq.`serviceName.threadpool_model`Foot 4 

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.

imq.`serviceName.min_threads`

Integer

jms: 10``ssljms: 10``httpjms: 10 httpsjms: 10 admin: 4``ssladmin: 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.

imq.`serviceName.max_threads`

Integer

jms: 1000``ssljms: 500``httpjms: 500``httpsjms : 500``admin: 10``ssladmin: 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`Foot 5 

Integer

Solaris: 512`Linux: `512`Windows: `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.

imq.ping.interval

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.

Footnote 1 Must have the same value for all brokers in an enhanced cluster.

Footnote 2 Can be used with imqcmd update bkr command

Footnote 3 jms, ssljms, admin, and ssladmin services only; see HTTP/HTTPS Support for information on configuring the httpjms and httpsjms services

Footnote 4 jms and admin services only

Footnote 5 Shared threading model only

Routing and Delivery Properties

This section includes the following tables:

  • Table 17-2 lists the broker properties related to routing and delivery services

  • Table 17-3 lists the broker properties that configure the automatic creation of destinations

  • Table 17-4 lists the broker properties that configure the administrative creation of destinations

Table 17-2 Broker Routing and Delivery Properties

Property Type Default Value Description

`imq.system.max_count`Foot 1 

Integer

-1

Maximum number of messages held by broker

A value of -1 denotes an unlimited message count.

`imq.system.max_size`Footref 1

String

-1

Maximum total size of messages held by broker

The value may be expressed in bytes, kilobytes, or megabytes, using the following suffixes:

  • b: Bytes

  • k: Kilobytes (1024 bytes)

  • m: Megabytes (1024 × 1024 = 1,048,576 bytes)

+

+

+

An unsuffixed value is expressed in bytes; a value of -1 denotes an unlimited message capacity.

+

+

+

Examples:

  • 1600: 1600 bytes

  • 1600b: 1600 bytes

  • 16k: 16 kilobytes (= 16,384 bytes)

  • 16m: 16 megabytes (= 16,777,216 bytes)

  • -1: No limit

`imq.message.max_size`Footref 1

String

70m

Maximum size of a single message body

The syntax is the same as for imq.system.max_size (see above).

imq.message.expiration.interval

Integer

60

Interval, in seconds, at which expired messages are removed.

imq.`resourceState.threshold`

Integer

green: 0``yellow: 80``orange: 90``red: 98

Percent utilization at which memory resource state is triggered (where resourceState is green, yellow, orange, or red)

imq.`resourceState.count`

Integer

green: 5000``yellow: 500``orange: 50``red: 0

Maximum number of incoming messages allowed in a batch before checking whether memory resource state threshold has been reached (where resourceState is green, yellow, orange , or red)

This limit throttles back message producers as system memory becomes increasingly scarce.

`imq.destination.DMQ.truncateBody`Footref 1

Boolean

false

Remove message body before storing in dead message queue?

If true, only the message header and property data will be saved.

imq.transaction.autorollback

Boolean

false

Automatically roll back distributed transactions left in prepared state at broker startup?

If false, transactions must be manually committed or rolled back using the Command utility (imqcmd).

imq.transaction.producer.maxNumMsgs

Integer

1000

The maximum number of messages that a producer can process in a single transaction. It is recommended that the value be less than 5000 to prevent the exhausting of resources.

imq.transaction.consumer.maxNumMsgs

Integer

100

The maximum number of messages that a consumer can process in a single transaction. It is recommended that the value be less than 1000 to prevent the exhausting of resources.

imq.transaction.message.maxConsecutiveRollbacks

Integer

0

Specifies the number of consecutive number of rollbacks that may occur before a broker automatically puts a message to DMQ, If there is more than one message in the transaction, only the last message in the transaction is placed in DMQ. The transaction is then rolled back and returns the error status.

If the value of this property is ⇐ 0, this feature is disabled.

imq.txn.reapInterval

Integer

900

The interval, in seconds, the reaper thread periodically runs to reap/cleanup committed transactions.

imq.txt.reapLimit

Integer

500 or

0 for an embedded broker

The maximum number of last committed transactions to retain when reaping/cleaning up committed transactions.

Footnote 1 Can be used with imqcmd update bkr command

This table lists properties that configure the automatic creation of destinations.

Table 17-3 Broker Properties for Auto-Created Destinations

Property Type Default Value Description

`imq.autocreate.queue`link:#foot-usewithupdatebkr3,Foot 2 

Boolean

true

Allow auto-creation of queue destinations?

`imq.autocreate.topic`Foot 3 

Boolean

true

Allow auto-creation of topic destinations?

imq.autocreate.reaptime

Integer

120 seconds

The delay, in seconds. before which auto-created destinations are removed from the system when they no longer have consumers nor contain messages, . A smaller value means that memory reclamation takes place more often.

imq.autocreate.destination.maxNumMsgs

Integer

100000

Maximum number of unconsumed messages

A value of -1 denotes an unlimited number of messages.

Note: When flow control is in effect (imq.autocreate.destination.limitBehavior = FLOW_CONTROL), it is possible for the specified message limit to be exceeded because the broker cannot react quickly enough to stop the flow of incoming messages. In such cases, the value specified for imq.autocreate.destination.maxNumMsgs serves as merely a hint for the broker rather than a strictly enforced limit. However, if the number of unconsumed messages would exceed imq.system.max_count, the broker generates a ResourceAllocationException indicating that the destination is full and rejecting new messages.

imq.autocreate.destination.maxBytesPerMsg

String

10k

Maximum size, in bytes, of any single message

The value may be expressed in bytes, kilobytes, or megabytes, using the following suffixes:

  • b: Bytes

  • k: Kilobytes (1024 bytes)

  • m: Megabytes (1024 × 1024 = 1,048,576 bytes)

+

+

+

An unsuffixed value is expressed in bytes; a value of -1 denotes an unlimited message size.

+

+

+

Examples:

  • 1600: 1600 bytes

  • 1600b: 1600 bytes

  • 16k: 16 kilobytes (= 16,384 bytes)

  • 16m: 16 megabytes (= 16,777,216 bytes)

  • -1: No limit

imq.autocreate.destination.maxTotalMsgBytes

String

10m

Maximum total memory, in bytes, for unconsumed messages

The syntax is the same as for imq.autocreate.destination.maxBytesPerMsg (see above).

imq.autocreate.destination.limitBehavior

String

REJECT_NEWEST

Broker behavior when memory-limit threshold reached:

  • FLOW_CONTROL: Slow down producers

  • REMOVE_OLDEST: Throw out oldest messages

  • REMOVE_LOW_PRIORITY: Throw out lowest-priority messages according to age; no notification to producing client

  • REJECT_NEWEST: Reject newest messages; notify producing client with an exception only if message is persistent

When FLOW_CONTROL is specified, it is still possible for the number of messages to exceed imq.system.max_count. In this situation, the broker generates a ResourceAllocationException indicating that the destination is full and rejecting new messages.

+

+

+

If the value is REMOVE_OLDEST or REMOVE_LOW_PRIORITY and the imq.autocreate.destination.useDMQ property is true, excess messages are moved to the dead message queue.

imq.autocreate.destination.maxNumProducers

Integer

100

Maximum number of message producers for destination

When this limit is reached, no new producers can be created. A value of -1 denotes an unlimited number of producers.

`imq.autocreate.queue.maxNumActiveConsumers`Footref 2

Integer

-1

Maximum number of active message consumers in load-balanced delivery from queue destination

A value of -1 denotes an unlimited number of consumers.

`imq.autocreate.queue.maxNumBackupConsumers`Footref 2

Integer

0

Maximum number of backup message consumers in load-balanced delivery from queue destination

A value of -1 denotes an unlimited number of consumers.

`imq.autocreate.queue.consumerFlowLimit`Footref 2

Integer

1000

Maximum number of messages delivered to queue consumer in a single batch

In load-balanced queue delivery, this is the initial number of queued messages routed to active consumers before load balancing begins. A destination consumer can override this limit by specifying a lower value on a connection.

A value of 0 or -1 denotes an unlimited number of messages.

`imq.autocreate.topic.consumerFlowLimit`Footref 3

Integer

1000

Maximum number of messages delivered to topic consumer in a single batch

A value of 0 or -1 denotes an unlimited number of messages.

Not used when the JMS resource adapter, jmsra, is used to consume messages in a GlassFish Server cluster.

`imq.autocreate.topic.sharedConsumerFlowLimit`Footref 3

Integer

5

Maximum number of messages prefeteched to a topic shared subscriber or a topic consumer in a GlassFish server cluster.

A value of 0 or -1 denotes an unlimited number of messages.

imq.autocreate.destination.isLocalOnly

Boolean

false

Local delivery only?

This property applies only to destinations in broker clusters, and cannot be changed once the destination has been created. If true, the destination is not replicated on other brokers and is limited to delivering messages only to local consumers (those connected to the broker on which the destination is created).

`imq.autocreate.queue.localDeliveryPreferred`Footref 2

Boolean

false

Local delivery preferred?

This property applies only to load-balanced queue delivery in broker clusters. If true, messages will be delivered to remote consumers only if there are no consumers on the local broker; the destination must not be restricted to local-only delivery (imq.autocreate.destination.isLocalOnly must be false).

imq.autocreate.destination.useDMQ

Boolean

true

Send dead messages to dead message queue?

If false, dead messages will simply be discarded.

validateXMLSchemaEnabled

Boolean

false

XML schema validation is enabled?

If set to false or not set, then XML schema validation is not enabled for the destination.

XMLSchemaURIList

String

null

Space separated list of XML schema document (XSD) URI strings

The URIs point to the location of one or more XSDs to use for XML schema validation, if enabled.

Use double quotes around this value if multiple URIs are specified.

Example:

"http://foo/flap.xsd http://test.com/test.xsd"

If this property is not set or null and XML validation is enabled, XML validation is performed using a DTD specified in the XML document.

reloadXMLSchemaOnFailure

Boolean

false

Reload XML schema on failure enabled?

If set to false or not set, then the schema is not reloaded if validation fails.

Footnote 1 Can be used with imqcmd update bkr command

Footnote 2 Queue destinations only

Footnote 3 Topic destinations only

This table lists properties that apply to all administratively created destinations. They cannot be configured on individual administratively created destinations.

Table 17-4 Broker Properties for Admin-Created Destinations

Property Type Default Value Description

imq.admincreate.topic.sharedConsumerFlowLimit

Integer

5

Maximum number of messages prefetched to a topic shared subscriber or to a topic consumer in a GlassFish Server cluster.

A value of 0 or -1 denotes an unlimited number of messages.

Persistence Properties

Message Queue supports both file-based and JDBC-based persistence modules. The broker property imq.persist.store (Table 17-5) specifies which module to use. The following sections describe the broker configuration properties for the two modules.

Table 17-5 Global Broker Persistence Property

Property Type Default Value Description

imq.persist.store

String

file

Module used for persistent data storage:

  • file: File-based persistence

  • jdbc: JDBC-based persistence

Must be set to jdbc for enhanced broker clusters (imq.cluster.ha = true).

File-Based Persistence Properties

Table 17-6 lists the broker properties related to file-based persistence.

Table 17-6 Broker Properties for File-Based Persistence

Property Type Default Value Description

imq.persist.file.message.max_record_size

String

1m

Maximum-size message to add to message storage file

Any message exceeding this size will be stored in a separate file of its own.

+

+

+

The value may be expressed in bytes, kilobytes, or megabytes, using the following suffixes:

  • b: Bytes

  • k: Kilobytes (1024 bytes)

  • m: Megabytes (1024 × 1024 = 1,048,576 bytes)

An unsuffixed value is expressed in bytes.

+

+

+

Examples:

  • 1600: 1600 bytes

  • 1600b: 1600 bytes

  • 16k: 16 kilobytes (= 16,384 bytes)

  • 16m: 16 megabytes (= 16,777,216 bytes)

imq.persist.file.destination.message.filepool.limit

Integer

100

Maximum number of free files available for reuse in destination file pool

Free files in excess of this limit will be deleted. The broker will create and delete additional files in excess of the limit as needed.

The higher the limit, the faster the broker can process persistent data.

imq.persist.file.message.filepool.cleanratio

Integer

0

Percentage of files in free file pools to be maintained in a clean (empty) state

The higher this value, the less disk space is required for the file pool, but the more overhead is needed to clean files during operation.

imq.persist.file.message.cleanup

Boolean

false

Clean up files in free file pools on shutdown?

Setting this property to true saves disk space for the file store, but slows broker shutdown.

imq.persist.file.sync.enabled

Boolean

false

Synchronize in-memory state with physical storage device?

Setting this property to true eliminates data loss due to system crashes, but at a cost in performance.

Note: If running Oracle Solaris Cluster and its Data Service for Message Queue, set this property to true for brokers on all cluster nodes.

imq.persist.file.transaction.memorymappedfile.enabled

Boolean

true

Use memory-mapped file to store transaction data?

Setting this property to true improves performance at the cost of increased memory usage. Set to false for file systems that do not support memory-mapped files.

File-Based Persistence Properties for Transaction Logging

Table 17-7 lists the file-based persistence properties for the transaction logging mechanism.

Table 17-7 Broker Properties for File-Based Persistence Using the Transaction Logging Mechanism

Property Type Default Value Description

imq.persist.file.newTxnLog.enabled

Boolean

false

Enables the transaction logging mechanism. For information about this mechanism, see Optimizing File-Based Transaction Persistence.

imq.persist.file.txnLog.groupCommit

Boolean

false

This property is applicable only if imq.persist.file.newTxnLog.enabled is true.

Can improve performance if imq.persist.file.sync.enabled is true and the number of concurrent transactions being processed is high:

  • If true, write operations to the transaction log are not handled by individual connection threads; instead, writes from connection threads are added to a transaction queue. The connection threads then wait until they are notified that the transactions have been logged. A separate thread periodically drains the transaction queue and writes it to the transaction log. When possible, this thread groups together multiple active transactions and writes them to the transaction log in a single operation. After the write completes, waiting client threads are notified.

  • If false, write operations to the transaction log are handled by individual connection threads. Only one thread at a time is able to write to the log.

imq.persist.file.txnLog.logNonTransactedMsgSend

Boolean

false

This property is applicable only if imq.persist.file.newTxnLog.enabled is true.

Overrides the behavior for persisting non-transacted messages (as defined by the imq.persist.file.sync.enabled property):

  • If true, non-transacted messages are written to the transaction log before they are written to the persistent store.

  • If false, non-transacted messages are written directly to the persistent store.

imq.persist.file.txnLog.logNonTransactedMsgAck

Boolean

false

This property is applicable only if imq.persist.file.newTxnLog.enabled is true.

Overrides the behavior for persisting non-transacted message acknowledgements (as defined by the imq.persist.file.sync.enabled property):

  • If true, acknowledgements of non-transacted messages are written to the transaction log before they are written to the persistent store.

  • If false, acknowledgements of non-transacted messages are written directly to the persistent store.

JDBC-Based Persistence Properties

Table 17-8 lists the broker properties related to JDBC-based persistence. The first of these properties, imq.persist.jdbc.dbVendor, identifies the database vendor being used for the broker’s persistent data store; all of the remaining properties are qualified by this vendor name.

Table 17-8 Broker Properties for JDBC-Based Persistence

Property Type Default Value Description

imq.persist.jdbc.dbVendor

String

None

Name of database vendor for persistent data store:

  • derby: Java DB (Oracle Corporation)

  • oracle: Oracle (Oracle Corporation)

  • mysql: MySQL (Oracle Corporation)

  • postgresql: postgreSQL

imq.persist.jdbc.connection.retry.delay

Integer

5000

The amount of time, in milliseconds, the broker waits before it attempts to retry connecting to a database server for a failed connection.

imq.persist.jdbc.connection.retry.max

Integer

60

The maximum number of times the broker will retry connecting to a database server after a failed connection.

imq.persist.jdbc.connection.reaptime

Integer

300

The interval in seconds between attempts to close unnecessary database connections.

imq.persist.jdbc.max_connections

Integer

5

The maximum number of connections that should be opened to the database. The Message Queue database connection pool manager uses this value as a guide when creating new connections to the database.

imq.persist.jdbc.min_connections

Integer

5

The number of connections that are opened to the database when the Message Queue database connection pool is initialized, and the minimum number of connections that are to be kept open when unnecessary connections are closed.

imq.persist.jdbc.connection.timeoutIdle

Boolean

true

Should the Message Queue database connection pool manager considers the age of a connection in the pool?

When true, the pool manager operates as follows:

  • When closing unnecessary database connections at each imq.persist.jdbc.connection.reaptime interval, the pool manager destroys any connections in the pool that have been idle for a period longer than imq.persist.jdbc.connection.reaptime seconds, and attempts to replace them with new connections.

  • When getting a connection from the pool, the pool manager destroys the connection if it has been idle for a period longer than imq.persist.jdbc.connection.reaptime seconds and replaces it with a new connection.

imq.persist.jdbc.connection.validateOnGet

Boolean

true for brokers in enhanced clusters; otherwise, false

Should the Message Queue database connection pool manager perform extra validation when it gets a connection from the pool?

Normally, the pool manager validates a connection it gets from the pool by checking whether the connection is closed and, if possible, by checking whether a connection error has occurred on the connection.

When this property is set to true, the pool manager performs these additional validation checks:

  • For JDBC 4 connections, check whether the connection is valid.

  • Make the validation query specified by imq.persist.jdbc.connection.validationQuery on the connection.

Regardless of the value of this property, Message Queue relies on the underlying JDBC driver to return a good connection when it needs to create a new connection through the driver. Therefore, you should set imq.persist.jdbc.`vendorName.driver` to a vendor JDBC driver that performs connection retries when creating a new connection to the database server; for example, a ConnectionPoolDataSource.

imq.persist.jdbc.connection.validationQuery

String

per vendor

The validation query for the Message Queue database connection pool manager to use when imq.persist.jdbc.connection.validateOnGet is set to true.

imq.persist.jdbc.connection.limit

Integer

5

The maximum number of connections that can be opened to the database.

This property is deprecated and may become unsupported in a future release of Message Queue.

imq.persist.jdbc.``vendorName`.connection.retry.regex.``n`

String

(?s).*

There can be 0 or many of these properties specified, where n represents the nth such property. Each of these properties specifies a regular expression that can be used to match a SQLException message in order to identify retriable database communication failures. These regular expressions are parsed in consecutive order starting with 1 and stops when a match is found.

imq.persist.jdbc.``vendorName`.driver`

String

per vendor

Java class name of JDBC driver, if needed, for connecting to database from vendor vendorName

imq.persist.jdbc.``vendorName`.opendburl`

String

None

URL for connecting to existing database from vendor vendorName

Applicable when driver is used to connect to database.

imq.persist.jdbc.``vendorName`.createdburl`Foot 1 

String

None

URL for creating new database from vendor vendorName

Applies for embedded database, such as Java DB.

imq.persist.jdbc.``vendorName`.closedburl`Footref 1

String

None

URL for closing connection to database from vendor vendorName

Applies for some embedded databases, such as Java DB.

imq.persist.jdbc.``vendorName`.user`Footref 1

String

None

User name, if required, for connecting to database from vendor vendorName

For security reasons, the value can instead be specified using command line options imqbrokerd dbuser and imqdbmgr u.

imq.persist.jdbc.``vendorName`.needpassword`Footref 1

Boolean

false

Does database from vendor vendorName require a password for broker access?

If true, the imqbrokerd and imqdbmgr commands will prompt for a password, unless you use the -passfile option to specify a password file containing it.

imq.persist.jdbc.``vendorName`.password`link:#sthref146,Foot 2 

String

None

Password, if required, for connecting to database from vendor vendorName

imq.persist.jdbc.``vendorName`.property.`propNameFootref 1

String

None

Vendor-specific property propName for database from vendor vendorName

imq.persist.jdbc.``vendorName`.tableoption`Footref 1

String

None

Vendor-specific options passed to the database when creating the table schema.

Footnote 1 Optional

Footnote 2 Should be used only in password files

Security Properties

Table 17-9 lists broker properties related to security services: authentication, authorization, and encryption. Table 17-10 lists broker properties related specifically to file-based authentication, Table 17-11 lists broker properties related specifically to LDAP-based authentication, and Table 17-12 lists broker properties related specifically to JAAS-based authentication.

Table 17-9 Broker Security Properties

Property Type Default Value Description

imq.authentication.basic.user_repository

String

file

Type of user authentication:

  • file: File-based

  • ldap: Lightweight Directory Access Protocol

  • jaas: Java Authentication and Authorization Service

imq.authentication.type

String

digest

Password encoding method:

  • digest: MD5 (for file-based authentication)

  • basic: Base-64 (for LDAP or JAAS authentication)

imq.`serviceName.authentication.type`

String

None

Password encoding method for connection service serviceName:

  • digest: MD5 (for file-based authentication)

  • basic: Base-64 (for LDAP or JAAS authentication)

If specified, overrides imq.authentication.type for the designated connection service.

imq.authentication.client.response.timeout

Integer

180

Interval, in seconds, to wait for client response to authentication requests

imq.accesscontrol.enabled

Boolean

true

Use access control?

If true, the system will check the access control 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.accesscontrol.type

String

file

Specifies the access control type

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

imq.accesscontrol.file.dirpath

String

IMQ_VARHOME/instances/
instanceName`/etc`

Path to the access control directory

imq.accesscontrol.file.filename

String

accesscontrol.properties

Name of access control file

The file name specifies a path relative to imq.accesscontrol.file.dirpath.

imq.`serviceName.accesscontrol.file.filename`

String

None

Name of access control file for connection service

If specified, overrides imq.accesscontrol.file.filename for the designated connection service.

The file name specifies a path relative to imq.accesscontrol.file.dirpath.

imq.accesscontrol.file.url

String

Not set

The location, as a URL, of the access control file.

If the URL uses LDAP protocol (ldap://), the access control file must be returned as a single string that uses dollar sign ($) as the separator between the lines of the access control file.

imq.`serviceName.accesscontrol.file.url`

String

None

The location, as a URL, of the access control file for the connection service.

If specified, overrides imq.accesscontrol.file.url for the designated connection service.

If the URL uses LDAP protocol (ldap://), the access control file must be returned as a single string that uses dollar sign ($) as the separator between the lines of the access control file.

imq.keystore.file.dirpath

String

IMW_HOME/etc

Path to directory containing key store file

imq.keystore.file.name

String

keystore

Name of key store file

`imq.keystore.password`Foot 1 

String

None

Password for key store file

imq.passfile.enabled

Boolean

false

Obtain passwords from password file?

imq.passfile.dirpath

String

IMQ_HOME/etc

Path to directory containing password file

imq.passfile.name

String

passfile

Name of password file

`imq.imqcmd.password`Footref 1

String

None

Password for administrative user

The Command utility (imqcmd) uses this password to authenticate the user before executing a command.

imq.audit.enabled

Boolean

false

Is audit logging to broker log file enabled?

imq.audit.bsm.disabled

Boolean

true

Is audit logging to the Solaris BSM audit log disabled?

Footnote 1 To be used only in password files

Table 17-10 lists broker properties related to user authentication when using a flat-file user repository.

Table 17-10 Broker Security Properties for Flat-File Authentication

Property Type Default Value Description

imq.user_repository.file.dirpath

String

IMQ_VARHOME/instances/
instanceName`/etc/`

Path to the directory containing the flat-file user repository

imq.user_repository.file.filename

String

passwd

Name of the flat-file user repository file in the directory specified by imq.user_repository.file.dirpath

Table 17-11 lists broker properties related to LDAP-based user authentication.

Table 17-11 Broker Security Properties for LDAP Authentication

Property Type Default Value Description

imq.user_repository.ldap.server

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.

imq.user_repository.ldap.principal

String

None

Distinguished name for binding to LDAP user repository

Not needed if the LDAP server allows anonymous searches.

`imq.user_repository.ldap.password`Foot 1 

String

None

Password for binding to LDAP user repository

Not needed if the LDAP server allows anonymous searches.

`imq.user_repository.ldap.`propertyName

+

+

+

imq.user_repository.ldap.base

String

None

Directory base for LDAP user entries

imq.user_repository.ldap.uidattr

String

None

Provider-specific attribute identifier for LDAP user name

imq.user_repository.ldap.usrformat

String

None

When set to a value of dn, specifies that DN username format is used for authentication (for example: uid=mquser, ou=People, dc=red, dc=sun, dc=com).

Also, the broker extracts the value of the imq.user.repository.lpdap.uidatr attribute from the DN username, and uses this value as the user name in access control operations.

If not set, then normal username format is used.

`imq.user_repository.ldap.usrfilter`Foot 2 

String

None

JNDI filter for LDAP user searches

imq.user_repository.ldap.grpsearch

Boolean

false

Enable LDAP group searches?

Note: Message Queue does not support nested groups.

imq.user_repository.ldap.grpbase

String

None

Directory base for LDAP group entries

imq.user_repository.ldap.gidattr

String

None

Provider-specific attribute identifier for LDAP group name

imq.user_repository.ldap.memattr

String

None

Provider-specific attribute identifier for user names in LDAP group

`imq.user_repository.ldap.grpfilter`Footref 2

String

None

JNDI filter for LDAP group searches

imq.user_repository.ldap.timeout

Integer

280

Time limit for LDAP searches, in seconds

imq.user_repository.ldap.ssl.enabled

Boolean

false

Use SSL when communicating with LDAP server?

imq.user_repository.ldap.ssl.socketfactory

String

com.sun.messaging.jmq.
jmsserver.auth.ldap.
TrustSSLSocketFactory

The fully qualified class name of the socket factory to use to make SSL connections to the LDAP server.

When this property is not set and imq.user_repository.ldap.ssl.enabled is set to true, the default socket factory designated by the LDAP naming service is used.

Footnote 1 Should be used only in password files

Footnote 2 Optional

Table 17-12 lists broker properties related to JAAS-based user authentication.

Table 17-12 Broker Security Properties for JAAS Authentication

Property Type Default Value Description

imq.user_repository.jaas.name

String

None

Set to the name of the desired entry (in the JAAS configuration file) that references the login modules you want to use as the authentication service.

imq.user_repository.jaas.userPrincipalClass

String

None

This property, used by Message Queue access control, specifies the java.security.Principal implementation class in the login module(s) that the broker uses to extract the Principal name to represent the user entity in the Message Queue access control file. If, it is not specified, the user name passed from the Message Queue client when a connection was requested is used instead.

imq.user_repository.jaas.groupPrincipalClass

String

None

This property, used by Message Queue access control, specifies the java.security.Principal implementation class in the login module(s) that the broker uses to extract the Principal name to represent the group entity in the Message Queue access control file. If, it is not specified, the user name passed from the Message Queue client when a connection was requested is used instead.

Monitoring Properties

Table 17-13 lists the broker properties related to monitoring services.

Table 17-13 Broker Monitoring Properties

Property Type Default Value Description

`imq.log.level`Foot 1 

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).

`imq.destination.logDeadMsgs`Footref 1

Boolean

false

Log information about dead messages?

If true, the following events will be logged:

  • A destination is full, having reached its maximum size or message count.

  • The broker discards a message for a reason other than an administrative command or delivery acknowledgment.

  • The broker moves a message to the dead message queue.

imq.log.console.stream

String

ERR

Destination for console output:

  • OUT: stdout

  • ERR: stderr

imq.log.console.output

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 (`

`).

imq.log.file.dirpath

String

IMQ_VARHOME/instances/
instanceName`/log`

Path to directory containing log file

imq.log.file.filename

String

log.txt

Name of log file

imq.log.file.output

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 (`

`).

`imq.log.file.rolloverbytes`Footref 1

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).

`imq.log.file.rolloversecs`Footref 1

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).

`imq.log.syslog.output`Foot 2 

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 (`

`).

`imq.log.syslog.facility`Footref 2

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

`imq.log.syslog.identity`Footref 2

String

imqbrokerd_${imq.`instanceName}`

Identity string to be prefixed to all messages logged to syslog

`imq.log.syslog.logpid`Footref 2

Boolean

true

Log broker process ID with message?

`imq.log.syslog.logconsole`Footref 2

Boolean

false

Write messages to system console if they cannot be sent to syslog?

imq.log.timezone

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

imq.metrics.enabled

Boolean

true

Enable writing of metrics information to Logger?

Does not affect the production of metrics messages (controlled by imq.metrics.topic.enabled).

imq.metrics.interval

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).

imq.metrics.topic.enabled

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.

imq.metrics.topic.interval

Integer

60

Time interval, in seconds, at which to produce metrics messages to metric topic destinations

imq.metrics.topic.persist

Boolean

false

Are metrics messages sent to metric topic destinations persistent?

imq.metrics.topic.timetolive

Integer

300

Lifetime, in seconds, of metrics messages sent to metric topic destinations

`imq.primaryowner.name`Foot 3 

String

System property user.name (user who started the broker)

Name of primary system owner

`imq.primaryowner.contact`Footref 3

String

System property user.name (user who started the broker)

Contact information for primary system owner

`imq.broker.adminDefinedRoles.count`Footref 3

Integer

None

Number of defined roles

`imq.broker.adminDefinedRoles.name`NFootref 3

String

Broker instance name

Name of defined role N (where N ranges from 0 to .count-1)

Example:

...name0=Stocks JMS Server
...name1=JMS provider for appserver

Footnote 1 Can be used with imqcmd update bkr command

Footnote 2 Solaris platform only

Footnote 3 Used by JES Monitoring Framework

Cluster Configuration Properties

Table 17-14 lists the configuration properties related to broker clusters.

Table 17-14 Broker Properties for Cluster Configuration

Property Type Default Value Description

`imq.cluster.url`link:#foot-clustersame,Foot 2 

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)

`imq.cluster.hostname`Foot 3 

String

None

Host name or IP address for cluster connection service

If specified, overrides imq.hostname (see Table 17-1) for the cluster connection service. This might be necessary, for instance, if the broker’s host computer has more than one interface card installed.

`imq.cluster.port`Footref 3

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. You might need to set a different value, for instance, to specify a static port number for connecting to the broker through a firewall.

`imq.cluster.transport`Footref 1

String

tcp

Network transport protocol for cluster connection service

For secure, encrypted message delivery between brokers, set this property to ssl.

imq.cluster.ha

Boolean

false

Is broker part of an enhanced (high-availability) cluster?

Additional Properties for Conventional Clusters

`imq.cluster.brokerlist`Footref 1 ,Foot 4 

String

None

List of broker addresses belonging to cluster

The list consists of one or more addresses, separated by commas. Each address specifies the Port Mapper host name and Port Mapper port number of a broker in the cluster, in the form hostName`:`portNumber.

Example:

  • host1:3000,host2:8000,ctrlhost

Literal IP addresses as host names: You can use a literal IPv4 or IPv6 address as a host name. If you use a literal IPv6 address, its format must conform to RFC2732, Format for Literal IPv6 Addresses in URL’s.

Note: If set, this property is ignored (and a warning logged) for high-availability clusters; all brokers configured to use the cluster’s shared persistent store are automatically recognized as members of the cluster.

`imq.cluster.nomasterbroker`link:#sthref170,Footref 4

Boolean

false

Specifies whether a conventional cluster uses a shared JDBC database store for the cluster configuration change record instead of using a master broker.

Set to true for a conventional cluster of peer brokers, which uses a shared JDBC store for the cluster’s configuration change record.

When set to true, the imq.cluster.clusterid must be set, and the imq.cluster.sharecc.persist.jdbc.* properties must be configured for accessing the shared JDBC store.

`imq.cluster.masterbroker`link:#sthref172,Footref 4

String

None

Port Mapper host name and Port Mapper port number of host on which cluster’s master broker (if any) is running.

The value has the form hostName`:`portNumber, where hostName is the Port Mapper host name of the master broker’s host and portNumber is its Port Mapper port number.

Example:

  • ctrlhost:7676

Literal IP addresses as host names: You can use a literal IPv4 or IPv6 address as a host name. If you use a literal IPv6 address, its format must conform to RFC2732, Format for Literal IPv6 Addresses in URL’s.

Note: enhanced clusters cannot have a master broker. If this property is set for a broker belonging to an enhanced cluster, the broker will log a warning message and ignore the property.

`imq.cluster.dynamicChangeMasterBrokerEnabled`link:#sthref174,Footref 4

Boolean

false

Can the master broker for the cluster be changed dynamically; that is, without stopping all the brokers in the cluster?

If set to true, you can use the imqcmd changemaster command to change the master broker without stopping the brokers in the cluster.

If set to true, the imq.cluster.masterbroker property cannot be specified on the imqbrokerd command line.

imq.cluster.sharecc.persist.jdbc.connection.retry.max

Integer

60

The maximum number of times a broker will retry a connection.

imq.cluster.sharecc.persist.jdbc.connection.retry.delay

Integer

5000

The amount of time, in milliseconds, the broker waits before retrying a failed connection.

`imq.cluster.sharecc.persist.jdbc.dbVendor`link:#sthref176,Footref 4

String

None

Name of database vendor for shared JDBC data store housing the cluster configuration change record:

  • db2: DB2

  • derby: Java DB (Oracle Corporation)

  • oracle: Oracle (Oracle Corporation)

  • mysql: MySQL (Oracle Corporation)

  • postgresql: postgreSQL

imq.cluster.sharecc.persist.jdbc.
vendorName`.driver`Footref 1 ,Footref 4

String

per Vendor

Java class name of the JDBC driver, if needed, for connecting to database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

imq.cluster.sharecc.persist.jdbc.
vendorName`.opendburl`link:#sthref180,Footref 4

String

None

URL for connecting to existing database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

Applicable when a java.sql.Driver is used to connect to database.

imq.cluster.sharecc.persist.jdbc.
vendorName`.createdburl`link:#sthref182,Footref 4

String

None

URL for creating new database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

Applicable for embedded databases, such as Java DB.

imq.cluster.sharecc.persist.jdbc.
vendorName`.closedburl`link:#sthref184,Footref 4

String

None

URL for closing connection to database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

Applicable for some embedded databases, such as Java DB.

imq.cluster.sharecc.persist.jdbc.
vendorName`.tableoption`link:#sthref186,Footref 4

String

None, except for MySQL

Vendor-specific options passed to database from vendor vendorName for shared JDBC data store housing the cluster configuration change record when creating the table schema

For information about this property’s use, see the default broker properties file, default.properties.

imq.cluster.sharecc.persist.jdbc.`vendorName.connection.retry.regex.`n

String

None

This property specifies a regular expression, n, to be used to match a SQLException message in order to identify a retriable database communication failure.

There can be 0 or many of these properties (1, 2, 3, …​ in consecutive order) specified. The SQLException message is matched to these regular expressions in the order of n and stops matching when a match is found.

imq.cluster.sharecc.persist.jdbc.
vendorName`.user`Footref 1 ,Footref 4

String

None

User name, if required, for connecting to database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

imq.cluster.sharecc.persist.jdbc.
vendorName`.needpassword`link:#sthref190,Footref 4

Boolean

false

Does database from vendor vendorName for shared JDBC data store housing the cluster configuration change record require a password for broker access?

If true, the imqbrokerd and imqdbmgr commands will prompt for a password unless the following property, password is set.

imq.cluster.sharecc.persist.jdbc.
vendorName`.password`link:#sthref192,Footref 4

String

None

Password, if required, for connecting to database from vendor vendorName for shared JDBC data store housing the cluster configuration change record

This property should only be specified in a password file, as described in Password Files.

imq.cluster.sharecc.persist.jdbc.
vendorName`.property.`propNamelink:#sthref194,Footref 4

String

None

Optional vendor-specific property propName for the JDBC driver from vendor vendorName for shared JDBC data store housing the cluster configuration change record

Additional Properties for Enhanced (High-Availability) Clusters

`imq.cluster.clusterid`Footref 1 ,Foot 5 

String

None

Cluster identifier

Must be a unique alphanumeric string of no more than n-18 characters, where n is the maximum table name length allowed by the database. No two running clusters may have the same cluster identifier.

Note: For brokers belonging to a high-availability cluster, this property is used in database table names in place of imq.brokerid (see Table 17-1). For conventional cluster of peer brokers, this property is used in the shared database table name for the cluster’s configuration change records.

`imq.cluster.ha.takeoverWaitTimeout`Footref 5

Integer

300

Time in seconds a failed broker attempting to restart waits for an existing takeover activity (from the broker’s initial failure) to complete before exiting its restart attempt

`imq.cluster.heartbeat.hostname`Footref 5

String

None

Host name for heartbeat service

If specified, overrides imq.hostname (see Table 17-1) for the heartbeat service.

`imq.cluster.heartbeat.port`Footref 5

Integer

7676

Port number for heartbeat service

A value of 0 specifies that the port number should be allocated dynamically by the Port Mapper.

`imq.cluster.heartbeat.interval`Footref 5

Integer

2

Interval between heartbeats, in seconds

`imq.cluster.heartbeat.threshold`Footref 5

Integer

3

Number of missed heartbeat intervals after which to invoke monitor service

`imq.cluster.monitor.interval`Footref 5

Integer

30

Interval, in seconds, at which to update monitor time stamp

Note: Larger values for this property will reduce the frequency of database access and thus improve overall system performance, but at the cost of slower detection and takeover in the event of broker failure.

`imq.cluster.monitor.threshold`Footref 5

Integer

2

Number of missed monitor intervals after which to initiate broker takeover

Footnote 1 Must have the same value for all brokers in a cluster.

Footnote 2 Can be used with the imqcmd update bkr command.

Footnote 3 Can be specified independently for each broker in a cluster.

Footnote 4 Conventional clusters only

Footnote 5 Enhanced (high-availability) clusters only

Bridge Properties

Table 17-15 lists broker properties related to the bridge service manager. Table 17-16 lists broker properties related specifically to the JMS bridge service, and Table 17-17 lists broker properties related specifically to the STOMP bridge service.

Table 17-15 Broker Properties for the Bridge Service Manager

Property Type Default Value Description

imq.bridge.enabled

Boolean

false

Is the bridge service enabled on this broker?

imq.bridge.activelist

String

None

List of bridges that will be loaded on broker startup.

The list consists of one or more bridge names, separated by commas. All bridge names for a broker must be unique.

imq.bridge.admin.user

String

None

The Message Queue broker administrative user to be used by the bridge service manager and individual bridges to create ADMIN connections to the broker. For JMS bridges, this user is also used to access the JMS bridge’s built-in DMQ destination.

imq.bridge.admin.password

String

None

The password for the imq.bridge.admin.user user.

Table 17-16 Broker Properties for a JMS Bridge Service

Property Type Default Value Description

imq.bridge.`name.type`

String

None

The bridge type of the bridge named name. For JMS bridges, specify a value of JMS or jms.

imq.bridge.`name.xmlurl`

String

None

The URL where the XML configuration file for the JMS bridge name is stored.

Examples:

  • http://webserver/imq/jmsbridge1.config.xml

  • (for a file on a Web server)

  • file:/net/fileserver/imq/jmsbridge1.config.xml

  • (for a file on a shared drive)

imq.bridge.`name.autostart`

Boolean

true

Should the JMS bridge name be automatically started when the broker is started?

imq.bridge.`name.logfile.limit`

Integer

0

The approximate maximum number of bytes the JMS bridge name writes to any one log file.

A value of 0 (zero) indicates that there is no maximum limit.

imq.bridge.`name.logfile.count`

Integer

1

The number of log files the JMS bridge name cycles through.

imq.bridge.tm.props

imq.bridge.`name.tm.props`

String

None

Each of these properties specifies a list of key-value pairs for the built-in transaction coordinator for the JMS bridge name.

The list consists of one or more key`=`value pairs separated by commas.

When the imq.persist.store is file, the built-in transaction coordinator supports these keys: txlogSize, txlogSync, and txlogMmap.

If the same key appears in both properties, the value specified in imq.bridge.`name.tm.props` takes precedence.

Table 17-17 Broker Properties for the STOMP Bridge Service

Property Type Default Value Description

imq.bridge.stomp.hostname

String

None

Host name or IP address for the STOMP bridge service

If specified, overrides imq.hostname (see Table 17-1) for the STOMP bridge service.

imq.bridge.stomp.tcp.enabled

Boolean

true

Does the STOMP bridge accept TCP connections?

imq.bridge.stomp.tcp.port

Integer

7672

The port on which the STOMP bridge listens for TCP connections, provided that imq.bridge.stomp.tcp.enabled is true.

imq.bridge.stomp.tls.enabled

Boolean

false

Does the STOMP bridge accept SSL/TLS connections?

If true, a keystore must be created using the imqkeytool utility before starting the broker.

imq.bridge.stomp.tls.port

Integer

7673

The port on which the STOMP bridge listens for SSL/TLS connections, provided that imq.bridge.stomp.tls.enabled is true.

imq.bridge.stomp.tls.requireClientAuth

Boolean

false

Do SSL/TLS connections require client authentication?

imq.bridge.stomp.consumerFlowLimit

Integer

1000

The maximum number of unacknowledged messages that the STOMP bridge will deliver on a transacted STOMP subscription. The STOMP client must then acknowledge the messages and commit the transaction.

imq.bridge.stomp.messageTransformer

String

None

The fully qualified class name of a class that extends the Message Queue bridge MessageTransformer abstract class by implementing the transform() method. Place this class under the IMQ_HOME/lib/ext. directory

imq.bridge.stomp.logfile.limit

Integer

0

The approximate maximum number of bytes the STOMP bridge writes to any one log file.

A value of 0 (zero) indicates that there is no maximum limit.

imq.bridge.stomp.logfile.count

Integer

1

The number of log files the STOMP bridge cycles through.

JMX Properties

The broker properties listed in Table 17-18 support the use of the Java Management Extensions (JMX) application programming interface by Java applications. The JMX API is used to configure and monitor broker resources.

These JMX-related properties can be set in the broker’s instance configuration file (config.properties) or at broker startup with the -D option of the Broker utility (imqbrokerd). None of these properties can be set dynamically with the Command utility (imqcmd).

In addition, some of these properties (imq.jmx.rmiregistry.start, imq.jmx.rmiregistry.use, imq.jmx.rmiregistry.port) can be set with corresponding Broker utility`imqbrokerd` options described in Table 16-1.

See JMX Support for further information on administrative support of JMX clients.

Table 17-18 Broker Properties for JMX Support

Property Type Default Value Description

imq.jmx.connector.activelist

String

jmxrmi

Names of JMX connectors to be activated at broker startup, separated by commas

imq.jmx.connector.`RMIconnectorName.urlpath`

String

Shown in next column

urlpath component of JMX service URL for connector connectorName

Useful in cases where an RMI registry is being used and the JMX service URL path must be set explicitly (such as when a shared external RMI registry is used). See The JMX Service URL.

Default:

/jndi/rmi://brokerHost:rmiPort
/brokerHost/brokerPort/connectorName

imq.jmx.connector.`RMIconnectorName.port`

Integer

None: the port is dynamically allocated

Port number of JMX connector

Used to specify a static/known JMX connector port, typically in cases where a JMX client is accessing the broker’s MBean server through a firewall. See JMX Connections Through a Firewall.

imq.jmx.connector.`RMIconnectorName.useSSL`

Boolean

false

Use Secure Socket Layer (SSL) for connector connectorName?

This property is set to true for the ssljmxrmi connector.

imq.jmx.connector.`RMIconnectorName.brokerHostTrusted`

Boolean

false

Trust any certificate presented by broker for connector connectorName?

Applies only when imq.jmx.connector.`connectorName.useSSL` is true.

If false, the JMX client runtime will validate all certificates presented to it. Validation will fail if the signer of the certificate is not in the client’s trust store.

If true, validation of certificates is skipped. This can be useful, for instance, during software testing when a self-signed certificate is used.

imq.jmx.rmiregistry.start

Boolean

false

Start RMI registry at broker startup?

If true, the broker will start an RMI registry at the port specified by imq.jmx.rmiregistry.port and use the regsitry to store the JMX connector stub. (The value of imq.jmx.rmiregistry.use is ignored in this case.)

For convenience, this property can also be set at broker startup with the -startRmiRegistry option of`imqbrokerd`.

imq.jmx.rmiregistry.use

Boolean

false

Use an existing RMI registry?

Applies only if imq.jmx.rmiregistry.start is false.

If true, the broker will use an existing RMI registry on the local host at the port specified by imq.jmx.rmiregistry.port to store the JMX connector stub. The existing RMI registry must already be running at broker startup.

For convenience, this property can also be set at broker startup with the -useRmiRegistry option of`imqbrokerd`.

imq.jmx.rmiregistry.port

Integer

1099

Port number of RMI registry

Applies only if imq.jmx.rmiregistry.start is true or imq.jmx.rmiregistry.use is true.

This port number will be included in the URL path of the JMX service URL.

For convenience, this property can also be set at broker startup with the -rmiRegistryPort option of imqbrokerd.

Alphabetical List of Broker Properties

Alphabetical List of Broker Properties is an alphabetical list of broker configuration properties, with cross-references to the relevant tables in this chapter.

Table 17-19 Alphabetical List of Broker Properties

Property Table

imq.accesscontrol.enabled

imq.accesscontrol.type

imq.accesscontrol.file.filename

imq.admincreate.topic.sharedConsumerFlowLimit

imq.audit.bsm.disabled

imq.audit.enabled

imq.authentication.basic.user_repository

imq.authentication.client.response.timeout

imq.authentication.type

imq.autocreate.destination.isLocalOnly

imq.autocreate.destination.limitBehavior

imq.autocreate.destination.maxBytesPerMsg

imq.autocreate.destination.maxNumMsgs

imq.autocreate.destination.maxNumProducers

imq.autocreate.destination.maxTotalMsgBytes

imq.autocreate.destination.useDMQ

imq.autocreate.queue

imq.autocreate.queue.consumerFlowLimit

imq.autocreate.queue.localDeliveryPreferred

imq.autocreate.queue.maxNumActiveConsumers

imq.autocreate.queue.maxNumBackupConsumers

imq.autocreate.reaptime

imq.autocreate.topic

imq.autocreate.topic.consumerFlowLimit

imq.autocreate.topic.sharedConsumerFlowLimit

imq.broker.adminDefinedRoles.count

`imq.broker.adminDefinedRoles.name`n

imq.brokerid

imq.bridge.activelist

imq.bridge.admin.password

imq.bridge.admin.user

imq.bridge.enabled

imq.bridge.`name.autostart`

imq.bridge.`name.logfile.count`

imq.bridge.`name.logfile.limit`

imq.bridge.`name.tm.props`

imq.bridge.`name.type`

imq.bridge.`name.xmlurl`

imq.bridge.stomp.consumerFlowLimit

imq.bridge.stomp.logfile.count

imq.bridge.stomp.logfile.limit

imq.bridge.stomp.messageTransformer

imq.bridge.stomp.tcp.enabled

imq.bridge.stomp.tcp.port

imq.bridge.stomp.tls.enabled

imq.bridge.stomp.tls.port

imq.bridge.stomp.tls.requireClientAuth

imq.bridge.tm.props

imq.cluster.brokerlist

imq.cluster.clusterid

imq.cluster.dynamicChangeMasterBrokerEnabled

imq.cluster.ha

imq.cluster.heartbeat.hostname

imq.cluster.heartbeat.interval

imq.cluster.heartbeat.port

imq.cluster.heartbeat.threshold

imq.cluster.hostname

imq.cluster.nomasterbroker

imq.cluster.masterbroker

imq.cluster.monitor.interval

imq.cluster.monitor.threshold

imq.cluster.port

imq.cluster.sharecc.persist.jdbc.connection.retry.delay

imq.cluster.sharecc.persist.jdbc.connection.retry.max

imq.cluster.sharecc.persist.jdbc.dbVendor

`imq.cluster.sharecc.persist.jdbc.`vendorName.`connection.retry.regex.`n

imq.cluster.sharecc.persist.jdbc.`vendorName.driver`

imq.cluster.sharecc.persist.jdbc.`vendorName.closedburl`

imq.cluster.sharecc.persist.jdbc.`vendorName.createdburl`

imq.cluster.sharecc.persist.jdbc.`vendorName.needpassword`

imq.cluster.sharecc.persist.jdbc.`vendorName.opendburl`

imq.cluster.sharecc.persist.jdbc.`vendorName.password`

imq.cluster.sharecc.persist.jdbc.`vendorName.property.`propName

imq.cluster.sharecc.persist.jdbc.`vendorName.tableoption`

imq.cluster.sharecc.persist.jdbc.`vendorName.user`

imq.cluster.transport

imq.cluster.url

imq.destination.DMQ.truncateBody

imq.destination.logDeadMsgs

imq.hostname

imq.imqcmd.password

imq.jmx.connector.activelist

imq.jmx.connector.`RMIconnectorName.brokerHostTrusted`

imq.jmx.connector.`RMIconnectorName.port`

imq.jmx.connector.`RMIconnectorName.urlpath`

imq.jmx.connector.`RMIconnectorName.useSSL`

imq.jmx.rmiregistry.port

imq.jmx.rmiregistry.start

imq.jmx.rmiregistry.use

imq.keystore.file.dirpath

imq.keystore.file.name

imq.keystore.password

`imq.keystore.`propertyName

imq.log.console.output

imq.log.console.stream

imq.log.file.dirpath

imq.log.file.filename

imq.log.file.output

imq.log.file.rolloverbytes

imq.log.file.rolloversecs

imq.log.level

imq.log.syslog.facility

imq.log.syslog.identity

imq.log.syslog.logconsole

imq.log.syslog.logpid

imq.log.syslog.output

imq.log.timezone

imq.message.expiration.interval

imq.message.max_size

imq.metrics.enabled

imq.metrics.interval

imq.metrics.topic.enabled

imq.metrics.topic.interval

imq.metrics.topic.persist

imq.metrics.topic.timetolive

imq.passfile.dirpath

imq.passfile.enabled

imq.passfile.name

imq.persist.file.destination.message.filepool.limit

imq.persist.file.message.cleanup

imq.persist.file.message.filepool.cleanratio

imq.persist.file.message.max_record_size

imq.persist.file.sync.enabled

imq.persist.file.transaction.memorymappedfile.enabled

imq.persist.jdbc.dbVendor

imq.persist.jdbc.connection.retry.delay

imq.persist.jdbc.connection.retry.max

imq.persist.jdbc.`vendorName.connection.retry.regex.`n

imq.persist.jdbc.`vendorName.closedburl`

imq.persist.jdbc.`vendorName.createdburl`

imq.persist.jdbc.`vendorName.driver`

imq.persist.jdbc.`vendorName.needpassword`

imq.persist.jdbc.`vendorName.opendburl`

imq.persist.jdbc.`vendorName.password`

imq.persist.jdbc.`vendorName.property.`propName

imq.persist.jdbc.`vendorName.user`

imq.persist.store

imq.ping.interval

imq.portmapper.backlog

imq.portmapper.hostname

imq.portmapper.port

imq.primaryowner.contact

imq.primaryowner.name

imq.`resourceState.count`

imq.`resourceState.threshold`

imq.service.activelist

imq.`serviceName.accesscontrol.enabled`

imq.`serviceName.accesscontrol.file.filename`

imq.`serviceName.authentication.type`

imq.`serviceName.max_threads`

imq.`serviceName.min_threads`

imq.`serviceName.protocolType.hostname`

imq.`serviceName.protocolType.port`

imq.`serviceName.threadpool_model`

imq.shared.connectionMonitor_limit

imq.system.max_count

imq.system.max_size

imq.transaction.autorollback

imq.user_repository.file.dirpath

imq.user_repository.file.filename

imq.user_repository.ldap.base

imq.user_repository.ldap.gidattr

imq.user_repository.ldap.grpbase

imq.user_repository.ldap.grpfilter

imq.user_repository.ldap.grpsearch

imq.user_repository.ldap.memattr

imq.user_repository.ldap.password

imq.user_repository.ldap.principal

`imq.user_repository.ldap.`propertyName

imq.user_repository.ldap.server

imq.user_repository.ldap.ssl.enabled

imq.user_repository.ldap.ssl.socketfactory

imq.user_repository.ldap.timeout

imq.user_repository.ldap.uidattr

imq.user_repository.ldap.usrfilter

imq.user_repository.jaas.name

imq.user_repository.jaas.userPrincipalClass

imq.user_repository.jaas.groupPrincipalClass


Previous Next Contents
Eclipse Foundation Logo  Copyright © 2019, Oracle and/or its affiliates. All rights reserved.