System Properties used from the SwiftMQ Universal Router and JMS Clients

Property Default Description
swiftmq.smqp.version latest version Sets the SMQP protocol version to connect via JMS and JNDI. Useful to connect with a newer client, e.g. CLI, to an older SwiftMQ Universal Router. Since 7.3.2 [CLIENT PROPERTY]. See Versioning
swiftmq.mgmt.protocol.version latest version Sets the management protocol version internally used from SwiftMQ Explorer / CLI / CLI Admin API. Since 7.5.0 [CLIENT PROPERTY].
swiftmq.jms.objectmessage.buffersize 8192 Sets the buffer size in bytes for ObjectMessage.setObject(object) serialization. It should be increased for large objects. Property has to be set on the JMS *sender* client side. Since 7.3.0.
swiftmq.jms.persistent.asyncsend false Sends nontransacted persistent messages asynchronously. JMS Spec requires to send those messages synchronously. Setting this property to true decreases reliability a bit but may double persistent message throughput. Property has to be set on the JMS *sender* client side. Since 8.0.0.
swiftmq.jms.keepalive.missing.threshold 5 Keepalive missing threshold on a JMS connection. The connection is closed after missing these number of keepalive messages. Since 9.2.6. Respected at the SwiftMQ Universal Router since 9.4.0
swiftmq.reconnect.debug false Enables debug output during connect/reconnect [CLIENT PROPERTY].
swiftmq.client.debugtofile.enabled false Redirects System.out debug output to a log file [CLIENT PROPERTY]. Since 9.2.0. working directory Log file directory [CLIENT PROPERTY]. Since 9.2.0.
swiftmq.client.debugtofile.rolloversizekb 1024 Maximum size of a log file [CLIENT PROPERTY]. Since 9.2.0.
swiftmq.client.debugtofile.generations 10 Number of log file generations to keep [CLIENT PROPERTY]. Since 9.2.0.
swiftmq.reconnect.max.internal.retry.count 10 Sets the maximum internal retry count. Internal retry is done during the protocol handshake and recreate phase [CLIENT PROPERTY].
swiftmq.socket.max.receivebuffersize 0 Maximum value used for socket.setReceiveBufferSize. 0 means no limit (default). [CLIENT PROPERTY].
swiftmq.socket.reader.isdaemon false Specifies if the socket reader thread is a daemon thread [CLIENT PROPERTY].
swiftmq.socket.set.options true Sets socket's send/receive buffer size to the network input/output buffer size [CLIENT PROPERTY].
swiftmq.socket.set.reuseaddress false Sets socket.setReuseAddress(value) [CLIENT PROPERTY].
swiftmq.socket.sotimeout 0 Sets socket.setSoTimeout(value) if the value is greater 0. Value is in milliseconds where 0 means no timeout (default). Since 8.0.0 [CLIENT PROPERTY].
swiftmq.socket.connect.timeout 5000 Uses a timeout for socket.connect(). Used in PlainSocketFactory and affects client connections, routing and HA connectors. Since 9.3.0.
swiftmq.request.timeout 60000 Specifies the timeout in milliseconds for SMQP requests [CLIENT PROPERTY]. true Specifies whether the TCP_NO_DELAY option should be used [CLIENT PROPERTY].
swiftmq.paths.absolute false [DEPRECATED since SwiftMQ 6.0, see below] Specifies whether the SwiftMQ Universal Router expects absolute or relative paths in the routerconfig.xml. When using relative paths (default), the working directory (value of System property "user.dir") is added as a prefix.
swiftmq.shutdown.hook true Specifies whether the SwiftMQ Universal Router registers a shutdown hook. This has to be false if the SwiftMQ Universal Router is embedded in some app servers. See the resp. How To's. false See Store Swiftlet
swiftmq.jsse.anoncipher.enabled true See JSSE SSL_DH_anon_WITH_RC4_128_MD5 See JSSE false If enabled, it checks and sets for the security provider specified with property "". This property can actually be false because JSSE is now part of the J2SE and the proper security provider is always properly defined. Since 7.3.0. Specifies the class name of the security provider. Since 7.3.0.
swiftmq.httptunnel.file none See Http Tunneling
swiftmq.httptunnel.debug false See Http Tunneling
swiftmq.laf.forcedefault false SwiftMQ Explorer (change it in "explorer" script): Forces the use of the System Look and Feel, otherwise it defaults to Motif. Set it to "true" for Mac OS/X.
swiftmq.config.watchdog.interval 0 (disabled) Specifies the interval in ms in which the routerconfig.xml is checked for changes. * (all) Specifies a comma separated list of package names that are trusted to be loaded from getObject. '*' means all packages are trusted. Since 10.0.0.
swiftmq.auth.encrypted.passwords false See Authentication Swiftlet.

Absolute and relative Path Declarations

Since SwiftMQ 6.0 it is possible to mix absolute and relative path declarations. Relative paths are default. To declare a path as absolute, add prefix "absolute:" to the path.


      <swiftlet name="sys$log"
                logfile-error="absolute:/var/log/swiftmq/error.log" />