Show TOC

Property Reference Locate this document in the navigation structure

 

In the schema jms-resources.xsd there are optional property elements under <sap-local-factory-type> and <sap-local-destination-type>. These are the only properties that can be modified via deployment.

Optional Properties of the JMS Resources in the Deployment Descriptor

Property Name

Value Type

Default Value

Relevant for

Description

clientID

String

""

Connection Factory

The clientID of the connection factory.

runningMode

String

XA_MODE

Connection Factory

The transaction mode the connection factory supports. The possible values are LOCAL, OPTIMIZED, XA_MODE.

More information: Configuring Transaction-Related JMS Connection Factory Properties

agentKeepAliveTimeSeconds

int

300

Destination

The time (in seconds) to keep the agent alive after the last consumer or producer is closed.

jmsxDeliveryCountEnabled

boolean

true

Destination

Switches the optional message property JMSXDeliveryCount on or off.

deliveryAttemptsLimited

boolean

true

Destination

A flag indication if the number of delivery attempts is limited, that is, if the undeliverable messages have to be moved to a dead message queue.

maxDeliveryAttempts

int

5

Queue

Defines the maximum number of message delivery attempts.

deliveryDelayInterval

long

2000

Destination

Defines the delay in milliseconds between two consecutive message delivery attempts.

errorDestination

String

sapDefaultErrorQueue

Destination

Defines the name of a JMS destination where dead messages will be moved.

loadBalanceBehavior

byte

3

Queue

Defines the load balance behavior of the queue in case the destination has more than one consumer. The possible values are 1 (Exclusive - the registering of a second consumer will fail) and 3 (Round-robin - messages will be distributed among all registered consumers in a round-robin fashion).

clientMemorySize

int

104857600

Virtual Provider

This is the total amount of memory (in bytes) a JMS client can occupy, that is the limit for the memory that can be allocated for client-side message caching for all message consumers on this Virtual Machine. The minimum recommended value is clientConsumerBuffer multiplied by the maximum number of parallel message consumers you want to support. The implication of increasing the value of this property is that the JMS client will occupy more memory, and thus might affect the performance of other components and applications.

clientConsumerBuffer

int

102400

Virtual Provider

This is the maximum amount of memory (in bytes) a single JMS consumer can use for its message buffer (to prefetch messages from the server), that is, this is the size of the client-side in-memory message cache per consumer. The minimum recommended value is the size of the largest expected message. Values lower than that may negatively influence performance due to system packets exchange between the client and server for frequent buffer resize.

cleanUpServiceSleepInterval

long

600000

Virtual Provider

The time interval in milliseconds between two consecutive invocations of the cleanup service. The cleanup service is an asynchronous task running regularly to clean up old messages and other obsolete data from the JMS Provider persistent store.

cacheSizeLimit

int

52428800

Virtual Provider

The maximum size (in bytes) of the server-side message cache per JMS Virtual Provider. The cache is shared among all destinations belonging to this Virtual Provider.

runningMode

String

GLOBAL

Virtual Provider

This property determines the clustering behavior of this JMS Virtual Provider. There are two available options — GLOBAL and LOCAL.

More information: JMS Clustering and Failover

dataSourceName

String

""

Virtual Provider

The name of the Data Source this Virtual Provider is using for accessing its persistent store. An empty value indicates that the default (system) Data Source will be used. If your application uses database persistency and has its own Data Source, you may consider configuring the same (application) Data Source to be used by the Virtual Provider of the application.

More information: Configuring Transaction-Related JMS Virtual Provider Properties

Note Note

Note that every property is relevant for a particular JMS resource type. If a property is relevant for Destination, it means it is applicable to both Queue and Topic. Any properties that are not recognized will be ignored during deployment.

End of the note.

Example

Here is an example that illustrates the usage of some of the optional property elements of the JMS resources schema.

Syntax Syntax

  1. <?xml version="1.0" encoding="UTF-8"?>
    <jms-resources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:noNamespaceSchemaLocation="D:\Develop\JMS\Test\AdminTest\jms-resources.xsd">
    	<application-name>MyApplication</application-name>
    	<connection-factory>
    		<name>MyQueueFactory</name>
    		<sap-local-factory-type>
    			<type>javax.jms.QueueConnectionFactory</type>
    			<virtual-provider>default</virtual-provider>
    			<property>
    				<description>Client ID</description>
    				<config-property-name>clientID</config-property-name>
    				<config-property-value>
    					myClientApp
    				</config-property-value>
    			</property>
    		</sap-local-factory-type>
    	</connection-factory>
    	<destination>
    		<name>MyQueue</name>
    		<type>javax.jms.Queue</type>
    		<sap-local-destination-type>
    			<virtual-provider>default</virtual-provider>
    			<property>
    				<description>Maximum Delivery Attempts</description>
    				<config-property-name>
    					maxDeliveryAttempts
    				</config-property-name>
    				<config-property-value>30</config-property-value>
    			</property>
    			<property>
    				<description>Load Balance Behavior</description>
    				<config-property-name>
    					loadBalanceBehavior
    				</config-property-name>
    				<config-property-value>1</config-property-value>
    			</property>
    		</sap-local-destination-type>
    	</destination>
    	<virtual-provider-properties>
    		<name>testRunningMode</name>
    		<property>
    			<description>runningMode</description>
    			<config-property-name>runningMode</config-property-name>
    			<config-property-value>LOCAL</config-property-value>
    		</property>
    		<property>
    			<description>cachSizeLimit</description>
    			<config-property-name>cachSizeLimit</config-property-name>
    			<config-property-value>60000000</config-property-value>
    		</property>
    		<property>
    			<description>cleanUpServiceSleepInterval</description>
    			<config-property-name>
    				cleanUpServiceSleepInterval
    			</config-property-name>
    			<config-property-value>500000</config-property-value>
    		</property>
    		<property>
    			<description>clientConsumerBuffer</description>
    			<config-property-name>
    				clientConsumerBuffe
    			</config-property-name>
    			<config-property-value>102500</config-property-value>
    		</property>
    		<property>
    			<description>clientMemorySize</description>
    			<config-property-name>
    				clientMemorySize
    			</config-property-name>
    			<config-property-value>104857500</config-property-value>
    		</property>
    		<property>
    			<description>dataSourceName</description>
    			<config-property-name>dataSourceName</config-property-name>
    			<config-property-value>
    				jdbc/myDataSource
    			</config-property-value>
    		</property>
    	</virtual-provider-properties>
    </jms-resources>
    
End of the code.