JMSSwiftlet

 
 

Online Documentation    Property Configuration    JMSSwiftlet

 
 

[Swiftlet Name]     [Maximum Connections]     [Default Socketfactory Class]     [Listener]     [Keep-Alive Interval]     [Listener Port]     [Line Compression]     [Listener Socketfactory Class]     [Host Access List]     [Thread Names for Threadpool dispatch]    
[Document Index]

 
     
 
  Swiftlet Name

The Swiftlet name of the JMSSwiftlet is sys$jms.

Maximum Connections

Optional property that specifies the maximum concurrent JMS connections. This also includes JNDI connections as they are realized via JMS.

The default value for this property is -1, which means unlimited connections.

Property definition:


 swiftlet.sys$jms.maxconnections=<integer>

Example:


 swiftlet.sys$jms.maxconnections=250

Default Socketfactory Class

Optional property that specifies the default socket factory that should be used if no other property is defined.

SwiftMQ includes a socket factory for plain sockets named com.swiftmq.net.PlainSocketFactory, and one for SSLv3 sockets named com.swiftmq.net.JSSESocketFactory.

The default value for this property is com.swiftmq.net.PlainSocketFactory.

Property definition:


 swiftlet.sys$jms.socketfactory.class=<class name>

Example:


 swiftlet.sys$jms.socketfactory.class=com.swiftmq.net.JSSESocketFactory

Listener

A JMSSwiftlet can serve multiple listeners on different ports, each configured with different socket factories and/or line compressions.

JMS listeners are defined as a list of names. For every defined listener, sub-properties can be defined as described in the following sections.

Every defined listener is registered as an administrative object at the JNDISwiftlet. The registered object can serve both as QueueConnectionFactory and TopicConnectionFactory. The lookup name is:


 <listenername>@<routername>

Example:


 sslsocket@gate.swiftmq.com

Lookup this listener via JNDI as a TopicConnectionFactory:


 TopicConnectionFactory tcf = (TopicConnectionFactory)ctx.lookup("sslsocket@gate.swiftmq.com");

Property definition:


 swiftlet.sys$jms.listeners.names=<name 1>,<name 2>,..,<name n>

Example:


 swiftlet.sys$jms.listeners.names=plainsocket,sslsocket

Keep-Alive Interval

Specifies the interval in which keepalive messages are sent by this listener. These messages make sure that SwiftMQ detects half-open socket connections and closes them accordingly. Keepalive messages are necessary in addition to connections, tunneled by HTTP, as, in general, HTTP proxies close socket connections by which no data is transported (idle connections).

The keepalive interval is transferred transparent to JMS clients via the connection factory. So, both JMS clients and the SwiftMQ router, send keepalive messages.

If keepalive should be deactivated, e. g. to avoid permanent re-dial on dial-up connections, the value 0 is to be defined.

The default value to this property is 60000 (1 minute).

Property definition:


 swiftlet.sys$jms.listeners.<name>.keepalive.interval=<long>

Example:


 swiftlet.sys$jms.listeners.plainsocket.keepalive.interval=30000

Listener Port

Specifies the listener's port number.

Property definition:


 swiftlet.sys$jms.listeners.<name>.port=<integer>

Example:


 swiftlet.sys$jms.listeners.plainsocket.port=4000

Line Compression

Optional property that specifies if messages (including headers) should be compressed before sending them to the line and decompressed after receiving them from the line. This is an ingenious mode for low-speed connections (i.e. via modem) transferring mostly uncompressed message bodies. Due to default messagebody compression, this case is rare.

The default value for this property is false.

Property definition:


 swiftlet.sys$jms.listeners.<name>.compression.enabled=<boolean>

Example:


 swiftlet.sys$jms.listeners.plainsocket.compression.enabled=true

Listener Socketfactory Class

Optional property that specifies the socket factory this inbound listener should use. See Section Default Socket Factory for further details.

The default value for this property is the default socket factory.

Property definition:


 swiftlet.sys$jms.listeners.<name>.socketfactory.class=<classname>

Example:


 swiftlet.sys$jms.listeners.sslsocket.socketfactory.class=com.swiftmq.net.JSSESocketFactory

Host Access List

Optional property that specifies a list of host DNS hostnames to which the access to this inbound listener is restricted. Connections from hosts not included in this access list will be rejected.

The hostnames are SQL-Like predicates. Wildcards as %.swiftmq.com or secure.%.com can be specified.

The default value for this property is empty, so every host can be connected.

Property definition:


 swiftlet.sys$jms.listeners.<name>.hostaccesslist.names=<host 1>,<host 2>,..,<host n>

Example:


 swiftlet.sys$jms.listeners.sslsocket.hostaccesslist.names=secure.swiftmq.com,%.iit.de

Thread Names for Threadpool dispatch

The JMSSwiftlet starts the following Threads. The thread names can be used to dispatch them to specific thread pools. See ThreadpoolSwiftlet configuration for details.

Thread NameStarted WhenDoes What
sys$jms:connmgrOn Swiftlet startupConnection manager; asynchronously cleans up connections
sys$jms:connsrvOn Swiftlet startup for every inbound listenerConnection server; accepts inbound connections
sys$jms:connsvcOn incoming and accepted connectionConnection service; performs connections requests
sys$jms:conninboundOn incoming and accepted connectionConnection inbound reader
sys$jms:connoutboundOn incoming and accepted connectionConnection outbound writer
sys$jms:sessionsvcOn session creationSession service; performs session requests
sys$jms:sessionconsOn every asynchronous consumer creationSession consumer; delivers asynchronous messages to a message listener

 
 
     
 

[Swiftlet Name]     [Maximum Connections]     [Default Socketfactory Class]     [Listener]     [Keep-Alive Interval]     [Listener Port]     [Line Compression]     [Listener Socketfactory Class]     [Host Access List]     [Thread Names for Threadpool dispatch]    
[Document Index]

 
 

Online Documentation    Property Configuration    JMSSwiftlet

 
 

 Copyright © 2000, IIT GmbH, Bremen/Germany. All rights reserved.
SwiftMQ and Swiftlet are registered trademarks of IIT GmbH.
All other product names mentioned herein are trademarks of their respective owners.