Configuring the UMS

Introduction

The UMS serves as a gateway between UMS client applications and a JMS provider (in this case, Message Queue). Consequently, the UMS establishes connections with a Message Queue broker which the UMS uses to send messages to and receive messages from JMS destinations, as requested by UMS client applications. You can configure the UMS to use secure (SSL) Message Queue connections, and you can configure the maximum number of UMS sessions that share a single connection.

UMS client applications can be authenticated with the UMS using web container based authentication. You can configure the web container to accept http or https connections when you deploy the UMS, depending on your application requirements. In addition, you can configure the UMS to authenticate client application users with Message Queue, and client applications will then need to provide the UMS a Message Queue user name and password.

In addition, if a UMS client application makes a login request, the UMS caches the Message Queue authentication data and other state information (for example, transaction state) in a UMS session object and passes a session ID (sid) back to the client application. The sid is used by the client application to identify the session when making subsequent requests. In this way, the UMS maintains session state across a number of client application requests. You can configure the length of time the UMS will maintain the session object in the absence of a close session request.

You can also configure the length of time that a receive request will wait if there is no message to be retrieved from the target destination.

UMS Configuration Parameters

UMS configuration parameters are set in the web.xml file distributed along with the ums.war file.

<!-- Message Queue broker address. Default is localhost:7676. -->
<init-param>
<param-name>imqAddressList</param-name>
<param-value>localhost</param-value>
</init-param>
<!-- Use secure (SSL) connection between UMS and Message Queue (boolean). Default is false. -->
<!-- The Message Queue broker must be configured for a SSL connection service. -->
<init-param>
<param-name>imqConnectionType</param-name>
<param-value>TLS</param-value>
</init-param>

<!-- Max UMS sessions per Message Queue connection. Default is 100. -->
<init-param>
<param-name>ums.cache.connection.max.clients</param-name>
<param-value>100</param-value>
</init-param>

<!-- User name used by UMS to authenticate with Message Queue. -->
<!-- This is NOT for client applications to authenticate with the Message Queue .-->
<!-- It is used internally by UMS to connect to Message Queue.-->
<init-param>
<param-name>ums.user.name</param-name>
<param-value>guest</param-value>
</init-param>
<!-- Password used by UMS to authenticate with Message Queue. -->
<!-- This is NOT for client applications to authenticate with the Message Queue. -->
<!-- It is used internally by UMS to connect to Message Queue.-->
<init-param>
<param-name>ums.password</param-name>
<param-value>guest</param-value>
</init-param>

<!-- Authenticate UMS clients with Message Queue (boolean). Default is false.-->
<!-- If set to true, UMS client applications must provide a user name and password for Message Queue authentication.-->
<init-param>
<param-name>ums.service.authenticate</param-name>
<param-value>false</param-value>
</init-param>
<!-- Encode Message Queue user password with base64 encoding (boolean). Default is false. -->
<init-param>
<param-name>ums.service.authenticate.basic</param-name>
<param-value>false</param-value>
</init-param>

<!-- Cache session object duration (in milliseconds). Default is 7 minutes. -->
<!-- Time UMS will maintain session object if there is no activity on the session.-->
<init-param>
<param-name>ums.cache.duration</param-name>
<param-value>420000</param-value>
</init-param>
<!-- Cache sweep interval (in milliseconds). Default is 2 minutes. -->
<!-- Used for memory reclamation. Recommend not to modify this value.-->
<init-param>
<param-name>ums.cache.sweep.interval</param-name>
<param-value>120000</param-value>
</init-param>
<!-- Receive request timeout (in milliseconds). Default is 7 seconds. -->
<!-- Time to wait if there is no message to be retrieved from a destination.-->
<init-param>
<param-name>ums.receive.timeout</param-name>
<param-value>7000</param-value>
</init-param>