A JMS Resource Definition Elements Reference

This section describes the Java EE JMS resource definition elements and properties in the following sections

JMS Connection Factory Definition Elements and Properties

This section describes the elements that you specify when you configure the connection factory in an application module by using the JMS resource definitions as described in http://docs.oracle.com/javaee/7/api/javax/jms/JMSConnectionFactoryDefinition.html.

The following example defines a connection factory using the @JMSConnectionFactoryDefinition annotation:

@JMSConnectionFactoryDefinition(
    name="java:global/jms/demoConnectionFactory",
    className= "javax.jms.ConnectionFactory",
    description="Sample description for Connection Factory",
    clientId="client_Id01",
    transactional=true,
    properties= {"UserName=myuser", "delivery-mode=Persistent", "load-balancing-enabled=true"}

For more information about the JMSConnectionFactoryDefinition annotation, see http://docs.oracle.com/javaee/7/api/javax/jms/JMSConnectionFactoryDefinition.html.

Table A-1 describes the elements that you can use with @JMSConnectionFactoryDefinition.

For the element definitions in the JMS application module, see the weblogic-jms.xsd schema available at http://xmlns.oracle.com/weblogic/weblogic-jms/1.4/weblogic-jms.xsd

Table A-1 @JMSConnectionFactoryDefinition Elements

Element in @JMSConnectionFactoryDefinition Equivalent Element in the JMS Application Module Type Description
name jndi-name

String.

The JNDI name of the JMS connection factory that is being defined.

NOTE: This is a mandatory element.
description notes

String

A description of the connection factory.

clientId clientId

String

The client ID to be used for the connection.

transactional transaction-paramsxa-connection-factory-enabled

Boolean

Specifies whether the connections participate in transactions. Set this property to

false

if connections should not participate in transactions.

. The default is True.
resourceAdapter

None

String

The name of the resource adapter.

className

None

String

The value is ignored.

InterfaceName

None

String

The value is ignored.

maxPoolSize

None

integer

The value is ignored.

minPoolSize

None

integer

The value is ignored.

user

None

String

The value is ignored.

password

None

String

The value is ignored.

JMS Connection Factory Properties

Note:

The properties defined in this section apply only when the connection factory definition does not specify an adapter. When an adapter is specified, properties that are unique to the adapter are considered.

Table A-2 describes the properties that you can use with the properties element of @JMSConnectionFactoryDefinition.

Table A-2 @JMSConnectionFactoryDefinition Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent Element in the JMS Application Module

Type

Description

name name

Sting

A name for the connection factory. When not specified, the name is <module_name>_cf, where <module_name>represents the name of the JMS application module where the resource is defined.

jms-server-name sub-deployment-name

Sting

The JMS server to which the resource is targeted. If the jms-server-name specified by the application does not exist in the scope of the deployment, then the deployment fails with an exception indicating the reason for the failure.

default-targeting-enabled default-targeting-enabled

boolean

Set this property to true when jms-server-name is not specified. This value is ignored when jms-server-name is specified.

Table A-3 describes the default message delivery properties that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see “JMS Connection Factory :Configuration :Default Delivery” section in the Oracle WebLogic Server Administration Console Online Help.

Table A-3 A-3 @JMSConnectionFactoryDefinition Properties for Default Message Delivery

@JMSConnectionFactoryDefinitionProperty

Equivalent default-delivery-params Element in the JMS Application Module

Type

Description

default-delivery-mode default-delivery-mode

String

The delivery mode assigned to all messages sent by a producer using the connection factory that is being defined. Accepted values: Persistent or Non-persistent

default-time-to-deliver default-time-to-deliver

String

The delay time, in milliseconds, between when a message is produced and when it is made visible on its destination

default-time-to-live default-time-to-live

Long

The maximum length of time, in milliseconds, that a message exists. This value is used for messages when a priority is not explicitly defined.

default-priority default-priority

integer

The default priority used for messages when a priority is not explicitly defined.

default-redelivery-delay default-redelivery-delay

Long

The delay time, in milliseconds, before rolled back or recovered messages are redelivered.

default-compression-threshold default-compression-threshold

integer

The number of bytes for a serialized message body so any message that exceeds this limit triggers message compression when the message is sent or received by the JMS message producer or consumer

default-unit-of-order default-unit-of-order

String

The default Unit-of-Order producer for this connection factory.

Options are: System-generated and User-Generated.

send-timeoutr send-timeoutr

Long

The maximum length of time, in milliseconds, that a sender waits when there is not enough available space (no quota) on a destination to accommodate the message being sent.

Table A-4 describes the client parameters that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see ”JMS Connection Factory: Configuration:Client” in the Oracle WebLogic Server Administration Console Online Help.

Table A-4 A-4@JMSConnectionFactoryDefinition Client Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent client-params element in the JMS Application Module

Type

Description

client-id-policy client-id-policy

String

Whether more than one JMS connection can use the same client ID. Valid options are Restricted and Unrestricted.

subscription-sharing-policy subscription-sharing-policy

String

The Subscription Sharing Policy on the connection.

Valid options are Exclusive and Sharable.

acknowledge-policy acknowledge-policy

String

The client acknowledge policy for non transacted sessions that use the CLIENT_ACKNOWLEDGE mode.Valid options are All and Previous.

allow-close-in-onMessage allow-close-in-onMessage

Boolean

Whether the connection factory creates message consumers that allow a close() method to be issued within its onMessage() method call.

NOTE: The default value of this property is false for a connection factory that is created by using the JMS Connection Factory Definition. If connection factory is created in a JMS system module or in a application-scoped module, the default value of allow-close-in-onMessage will be true.
messages-maximum messages-maximum

int

The maximum number of messages that can exist for an asynchronous session and that have not yet been passed to the message listener

multicast-overrun-policy multicast-overrun-policy

String

The policy to be used when the number of outstanding multicast messages reaches the value specified in messages-maximum and some messages must be deleted.

Valid options are KeepOld and KeepNew.

synchronous-prefetch-mode synchronous-prefetch-mode

String

Whether a synchronous consumer will prefetch messages (that is, messages sent from the server to the client) in one server access.

Valid options are enabled, disabled or topicSubscriberOnly..

reconnect-policy reconnect-policy

String

Which types of JMS clients are explicitly and implicitly refreshed after a lost network connection with a server or upon a server restart.

Valid options are none, producer or all.

reconnect-blocking-millis reconnect-blocking-millis

Long

The maximum length of time, in milliseconds, that any synchronous JMS calls block the calling thread before giving up on a JMS client reconnect in progress.

total-reconnect-period-millis total-reconnect-period-millis

Long

The maximum length of time, in milliseconds, that JMS clients (particularly asynchronous consumers) continue to try to reconnect to the server after either the initial network disconnect or the last synchronous call attempt, whichever occurred most recently, before giving up retrying.

Table A-5 describes the transaction parameters that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see” JMS Connection Factory Configuration Transaction” in the Oracle WebLogic Server Administration Console Online Help.

Table A-5 A-5@JMSConnectionFactoryDefinition Transaction Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent transaction-params element in the JMS Application Module

Type

Description

transaction-timeout transaction-timeout

Long

The timeout value (in seconds) for all transactions on connections created with the connection factory.

Set this property only when the transactional element is set to true.

Table A-6 describes the flow control parameters that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see JMS Connection Factory Configuration: Flow control in the Oracle WebLogic Server Administration Console Online Help

Table A-6 A-6@JMSConnectionFactoryDefinition Flow Control Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent flow-control-params Element in the JMS Application Module

Type

Description

flow-minimum flow-minimum

integer

The maximum number of messages-per-second allowed for a producer that is experiencing a threshold condition. When a producer is flow controlled it is never be allowed to go faster than the FlowMaximum messages per second.

flow-maximum flow-maximum

integer

The minimum number of messages-per-second allowed for a producer that is experiencing a threshold condition. This is the lower boundary of a producer's flow limit. That is, WebLogic JMS does not further slow down a producer whose message flow limit is at its FlowMinimum.

flow-interval flow-interval

integer

The adjustment period of time, in seconds, when a producer adjusts its flow from the FlowMaximum number of messages to the FlowMinimum amount, or reverse.

flow-steps flow-steps

integer

The number of steps used when a producer is adjusting its flow from the Flow Maximum amount of messages to the Flow Minimum amount, or vice versa.

flow-control-enabled flow-control-enabled

Boolean

Whether a producer created using a connection factory allows flow control.

one-way-send-mode one-way-send-mode

String

Whether message producers created using this connection factory are allowed to do one-way message sends to improve typical non-persistent, non-transactional messaging performance.

Valid options are enabled, disabled, or topicOnly.

one-way-send-window-size one-way-send-window-size

integer

The maximum number of sent messages per window when One-Way Send Mode is set to allow queue senders and/or topic publishers to make one-way sends. The window size determines when a two-way message is required to regulate the producer before it can continue making additional one-way sends.

Table A-7 describes the load-balancing parameters that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see “JMS Connection Factory: Configuration: Load Balancing” in the Oracle WebLogic Server Administration Console Online Help.

Table A-7 A-7 @JMSConnectionFactoryDefinition Load Balancing Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent load-balancing-params Element in the JMS Application Module

Type

Description

load-balancing-enabled load-balancing-enabled

Boolean

Whether non-anonymous producers created through a connection factory are load balanced within a distributed destination on a per-call basis.

server-affinity-enabled server-affinity-enabled

Boolean

Whether a server instance that is load balancing consumers or producers across multiple members destinations of a distributed destination, first attempts to load balance across any other physical destinations that are also running on the same server instance.

Table A-8 describes the security parameters that you can specify in the properties element of @JMSConnectionFactoryDefinition.

For more information about these properties, see ” JMS Connection Factory: Configuration Security” in the Oracle WebLogic Server Administration Console Online Help

Table A-8 A-8@JMSConnectionFactoryDefinition Load Balancing Properties

@JMSConnectionFactoryDefinitionProperty

Equivalent security-params Element in the JMS Application Module

Type

Description

attach-jmsx-user-id attach-jmsx-user-id

Boolean

Whether non-anonymous producers created through a connection factory are load balanced within a distributed destination on a per-call basis.

JMS Destination Definition Elements and Properties

This section describes the elements that you specify when you configure a JMS destination resource in an application module by using the JMS resource definitions as described in Defining JMS Resources Using Java EE Resource Definitions.

The following example defines a destination using the @JMSDestinationDefinition annotation:

@JMSDestinationDefinition(
name="java:global/jms/demoDestination",
interfaceName="javax.jms.Queue",   
className= "javax.jms.Queue",
description="Sample description for Queue",
destinationName="myQueue",
properties= {"default-unit-of-order=true", "time-to-deliver=Persistent", "attach-sender=always"}

For more information about the JMSDestinationDefinition annotation, see http://docs.oracle.com/javaee/7/api/javax/jms/JMSDestinationDefinition.html

Table A-9 describes the elements that you can use with @JMSDestinationDefinition.

For the element definitions in the JMS application module, see the http://xmlns.oracle.com/weblogic/weblogic-jms/1.4/weblogic-jms.xsd

Table A-9 A-9 @JMSDestinationDefinition Elements

Element in @JMSDestinationDefinition

Equivalent Element in the JMS Application Module

Type

Description

name jndi-name

String

The JNDI name of the JMS destination resource that is being defined.

NOTE: This is a mandatory element.
interfaceName uniform-distributed-queue or uniform-distributed-topic.

String

The fully qualified name of the JMS destination interface. Valid options are javax.jms.Queue or javax.jms.Topic.

The JMS destination definition is converted to a JMS module with entity of type uniform-distributed-queue or uniform-distributed-topic based on the value specified for interfaceName.

NOTE: This is a mandatory element.
description notes

String

A description for the JMS destination that is being defined.

destination name name

String

The runtime MBean name of the queue or topic. When not specified, the destination name is <module_name>_<queue/topic>, where <module_name> represents the name of the JMS application module where the resource is defined.

className

None

-

This value is ignored.

resourceAdapter

None

-

This value is ignored.

Table A-10 describes the properties that you can define using the properties element of @JMSDestinationDefinition.

Table A-10 A-10@JMSDestinationDefinition Properties

@JMSDestinationDefinition Property

Equivalent Element in the JMS Application Module

Type

Description

jms-server-name sub-deployment-name

String

The JMS server to which the resource is targeted. If the jms-server-name specified by the application does not exist in the scope of the deployment, then the deployment will fail with an exception indicating the reason for the failure.

default-targeting-enabled default-targeting-enabled

Boolean

Set this property to true when jms-server-name is not specified.

This value is ignored when jms-server-name is specified.

Table A-11 describes the properties that define upper and lower byte and/or message thresholds for a destination. You can define these parameters in the properties element of @JMSDestinationDefinition.

For more information about these properties, see Uniform Distributed Topic: Configuration : Thresholds and Quota section in the Oracle WebLogic Server Administration Console Online Help.

Table A-11 A-11@JMSDestinationDefiition Threshold Properties

@JMSDestinationDefinition Property

Equivalent thresholds Element in the JMS Applicaton Module

Type

Description

bytes-high bytes-high

Long

The upper threshold (total number of bytes in this destination) that triggers logging or flow control events.

bytes-low bytes-low

Long

The lower threshold (total number of bytes in this destination) that triggers logging or flow control events.

messages-high messages-high

Long

The upper threshold (total number of messages in this destination) that triggers logging or flow control events.

messages-low messages-low

Long

The lower threshold (total number of messages in this destination) that triggers logging or flow control events.

Table A-12 describes the properties that define message delivery overrides for a destination. You can define these parameters in the properties element of @JMSDestinationDefinition.

For more information about these properties, see Uniform Distribted Topic:Configuration Overrides section in the Oracle WebLogic Server Administration Console Online Help.

Table A-12 A-12@JMSDestinationDefinition Message Delivery Override Properties

@JMSDestinationDefinition Property

Equivalent delivery-params-overrides Element in the JMS Application Module

Type

Description

delivery-mode delivery-mode

String

The delivery mode assigned to all messages that arrive at the destination regardless of the DeliveryMode specified by the message producer.

Valid options are Persistent or Non-Persistent.
time-to-deliver time-to-deliver

String

The delivery delay, either in milliseconds or as a schedule, between when a message is produced and when it is made visible on its target distributed destination.

time-to-live time-to-live

Long

The time-to-live assigned to all messages that arrive at the destination, regardless of the TimeToLive value specified by the message producer.

priority priority

Integer

The priority assigned to all messages that arrive at the destination, regardless of the Priority specified by the message producer.

redelivery-delay redelivery-delay

Long

The delay, in milliseconds, before rolled back or recovered messages are redelivered, regardless of the RedeliveryDelay specified by the consumer and/or connection factory.

For more information, see "Uniform Distributed Topic: Configuration: Redelivery" section in Oracle WebLogic Server Administration Console Online Help.

Table A-13 describes the message delivery failure parameters for a destination. You can define these parameters in the properties element of @JMSDestinationDefinition.

For more information about these properties, see "Uniform Distributed Topic: Configuration: Redelivery" section in Oracle WebLogic Server Administration Console Online Help.

Table A-13 A-13@JMSDestinationDefinition Message Delivery Failure Properties

@JMSDestinationDefinition Property

Equivalent delivery-failure params Element in the JMS Application Module

Type

Description

redelivery-limit redelivery-limit

Integer

The number of redelivery tries a message can have before it is moved to the error destination.

expiration-policy expiration-policy

String

The message Expiration Policy to be used when an expired message is encountered on a destination.

Valid options are Discard or Log or Redirect.

expiration-logging-policy expiration-logging-policy

String

The information about the message is logged when the Expiration Policy is set to Log.

Table A-14 describes the message life cycle logging options for a distributed destination. You can define these parameters in the properties element of @JMSDestinationDefinition.

For more information about these properties, see Uniform Distributed Topic: Configuration Logging section in the Oracle WebLogic Server Administration Console Online Help.

Table A-14 A-14@JMSDestinationDefinition Message Logging Properties

@JMSDestinationDefinition Property

Equivalent message-logging-params Element in the JMS Application Module

Type

Description

message-logging-enabled message-logging-enabled

Boolean

Whether the module logs information about the message life cycle.

message-logging-format message-logging-format

String

The information about the message is logged.

This property is defined as shown in the following example:

For more information about the valid values for this property, see the description for the MessageLoggingFormat attribute of MessageLoggingParamsBean in MBean Reference for Oracle WebLogic Server.

Table A-15 describes the advanced configuration options for a distributed destination. You can define these parameters in the properties element of @JMSDestinationDefinition.

For more information about these properties, see Advanced Configuration Options in "Uniform Distributed Topic: Configuration: General" section in the Oracle WebLogic Server Administration Console Online Help.

Table A-15 A-15@JMSDestinationDefinition Advanced Configuration Properties

@JMSDestinationDefinition Property

Equivalent Element in the JMS Application Module

Type

Description

load-balancing-policy load-balancing-policy

String

How messages are distributed to the members of this destination

Valid options are Round-Robin and Random
production-paused-at-startup production-paused-at-startup

Boolean

Whether new message production is paused on a destination at startup

insertion-paused-at-startup insertion-paused-at-startup

Boolean

Whether new message insertion is paused on a destination at startup.

consumption-paused-at-startup consumption-paused-at-startup

Boolean

Whether consumption is paused on a destination at startup.

default-unit-of-order default-unit-of-order

Boolean

Specifies whether WebLogic Server creates a system-generated unit-of-order name based on the domain, JMS server, and destination name.

unit-of-order-routing unit-of-order-routing

String

Determines how a distributed destination member is selected as the destination for a message that is part of a unit-of-order.

Valid options are Hash and PathService.

attach-sender attach-sender

String

Whether messages landing on this destination should attach the credential of the sending user. Valid options are supports, always, and never.

jms-create-destination-identifier jms-create-destination-identifier

String

A reference name for a destination or a member of a distributed destination that provides a way to look-up that destination without JNDI using javax.jms.Session createQueue or createTopic.

saf-export-policy saf-export-policy

String

Whether a user can send messages to a destination using Store-and-Forward. Valid options are All and None.

messaging-performance-preferenc messaging-performance-preferenc

Integer

How long destinations are willing to wait to create full batches of available messages (if at all) for delivery to consumers.

unit-of-work-handling-policy unit-of-work-handling-policy

String

Whether the Unit-of-Work (UOW) feature is enabled for this destination.

Valid options are PassThrough and SingleMessageDelivery.

incomplete-work-expiration-time incomplete-work-expiration-time

Integer

The maximum length of time, in milliseconds, before undelivered messages in an incomplete UOW are expired.

Table A-16 describes the properties that are specific to a uniform distributed queue. You can define these parameters in the properties element of @JMSDestinationDefinition.

Note:

These properties are applicable only when the interfaceName element of @JMSDestinationDefinition is set to javax.jms.Queue.

For more information about these properties, see "Uniform Distributed Queue: Configuration: General" section in the Oracle WebLogic Server Administration Console Online Help.

Table A-16 A-16@JMSDestinationDefinition Properties for Queue Destinations

@JMSDestinationDefinition Property

Equivalent Element in the JMS Application Module

Type

Description

forward-delay forward-delay

Integer

The number of seconds after which a uniform distributed queue member with no consumers wait before forwarding its messages to other uniform distributed queue members that do have consumers.

reset-delivery-count-on-forward reset-delivery-count-on-forward

Boolean

Whether or not the delivery count is reset during message forwarding between distributed queue members.

Table A-17 describes the properties that are specific to a uniform distributed topic. You can define these parameters in the properties element of @JMSDestinationDefinition.

Note:

These properties are applicable only when the interfaceName element of @JMSDestinationDefinition is set to javax.jms.Topic.

For more information about these properties, see "Uniform Distributed Topic: Configuration: General" and "Uniform Distributed Topic: Multicast" sections in the Oracle WebLogic Server Administration Console Online Help

Table A-17 A-17@JMSDestinationDefinition Properties for Topic Destinations

@JMSDestinationDefinition Property

Equialent element in the JMS Application Module

Type

Description

forwarding-policy forwarding-policy

String

The uniform distributed topic message Forwarding Policy specifies whether or not a sent message is forwarded to all members.

Valid options are Partitioned and Replicated.

When a destination is created by using JMS destination definition, the default value of this property is Partitioned. The default value is Replicated if the destination is created otherwise.

NOTE : You cannot deploy the JMS module to a Resource Group or a Resource Group Template if the Uniform Distributed Topic has the forwarding policy set to Replicated. Therefore, when you deploy application modules that include JMS destination definitions to a Resource Group or Resource Group Template, use the default forwarding policy (Partitioned
multicast-address multicast-address

String

The address used by the topic to transmit messages to multicast consumers.

multicast-time-to-live multicast-time-to-live

Integer

The Time-To-Live value used for multicasting, which specifies the number of routers that the message can traverse en route to the consumers.

multicast-port multicast-port

Integer

The port used by the topic to transmit messages to multicast consumers.