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.
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 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.
Here is an example that illustrates the usage of some of the optional property elements of the JMS resources schema.
Syntax
<?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>