A JMS Resource Definition Elements Reference

This appendix 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 Defining JMS Resources Using Java EE Resource Definitions.

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

client-id

String

The client id to be used for the connection.

transactional

transaction-params > xa-connection-factory-enabled

Boolean

Specifies whether the connections participate in transactions. Set this property to false if connections should not participate in transactions.

Default value is true.

resourceAdapter

None

String

The name of the resource adapter.

className

None

String

This value is ignored.

interfaceName

None

String

This value is ignored

maxPoolSize

None

Int

This value is ignored

minPoolSize

None

Int

This value is ignored.

user

None

String

This value is ignored.

password

None

String

This 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 will be considered.

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

Table A-2 @JMSConnectionFactoryDefinition Properties

@JMSConnectionFactoryDefinition Property Equivalent Element in the JMS Application Module Type Description

name

name

String

A name for the connection factory. When not specified, the name will be <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

String

The JMS server to which the resource will be targeted. If the jms-server-name specified by the application does not exist in the scope of the deployment, 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-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 Oracle WebLogic Server Administration Console Online Help.

Table A-3 @JMSConnectionFactoryDefinition Properties for Default Message Delivery

@JMSConnectionFactoryDefinition Property 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 will exist. This value is used for messages when a priority is not explicitly defined.

default-priority

default-priority

Int

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

Int

The number of bytes for a serialized message body so any message that exceeds this limit will trigger 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-timeout

send-timeout

Long

The maximum length of time, in milliseconds, that a sender will wait 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 Oracle WebLogic Server Administration Console Online Help.

Table A-4 @JMSConnectionFactoryDefinition Client Properties

@JMSConnectionFactoryDefinition Property Equivalent client-params element in the JMS Application Module Type Description

client-id-policy

client-id-policy

String

Specifies 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

Specifies 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 discarded.

Valid options are KeepOld and KeepNew.

synchronous-prefetch-mode

synchronous-prefetch-mode

String

Specifies 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

Specifies which types of JMS clients will be explicitly and implicitly refreshed after a lost network connection with a server or upon a server reboot.

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 will 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) will 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 Oracle WebLogic Server Administration Console Online Help.

Table A-5 @JMSConnectionFactoryDefinition Transaction Properties

@JMSConnectionFactoryDefinition Property 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 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 Oracle WebLogic Server Administration Console Online Help.

Table A-6 @JMSConnectionFactoryDefinition Flow Control Properties

@JMSConnectionFactoryDefinition Property Equivalent flow-control-params element in the JMS Application Module Type Description

flow-minimum

flow-minimum

Int

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

flow-maximum

flow-maximum

Int

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 will not further slow down a producer whose message flow limit is at its FlowMinimum.

flow-interval

flow-interval

Int

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

flow-steps

flow-steps

Int

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

Specifies whether a producer created using a connection factory allows flow control.

one-way-send-mode

one-way-send-mode

String

Specifies 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

Int

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 Oracle WebLogic Server Administration Console Online Help.

Table A-7 @JMSConnectionFactoryDefinition Load Balancing Properties

@JMSConnectionFactoryDefinition Property Equivalent load-balancing-params element in the JMS Application Module Type Description

load-balancing-enabled

load-balancing-enabled

Boolean

Specifies 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

Specifies whether a server instance that is load balancing consumers or producers across multiple members destinations of a distributed destination, will first attempt 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 Oracle WebLogic Server Administration Console Online Help.

Table A-8 @JMSConnectionFactoryDefinition Load Balancing Properties

@JMSConnectionFactoryDefinition Property Equivalent security-params element in the JMS Application Module Type Description

attach-jmsx-user-id

attach-jmsx-user-id

Boolean

Specifies 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 weblogic-jms.xsd schema available at http://xmlns.oracle.com/weblogic/weblogic-jms/1.4/weblogic-jms.xsd.

Table 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 will be 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.

destinationName

name

String

The runtime MBean name of the queue or topic. When not specified, the destination name will be <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 @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 will be targeted. If the jms-server-name specified by the application does not exist in the scope of the deployment, 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 Quotas" section in Oracle WebLogic Server Administration Console Online Help.

Table A-11 @JMSDestinationDefinition Threshold Properties

@JMSDestinationDefinition Property Equivalent thresholds element in the JMS Application 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 Distributed Topic: Configuration: Overrides" section in Oracle WebLogic Server Administration Console Online Help.

Table 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

Int

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 @JMSDestinationDefinition Message Delivery Failure Properties

@JMSDestinationDefinition Property Equivalent delivery-failure-params element in the JMS Application Module Type Description

redelivery-limit

redelivery-limit

Int

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

Specifies what 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 Oracle WebLogic Server Administration Console Online Help.

Table 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

Specifies whether the module logs information about the message life cycle.

message-logging-format

message-logging-format

String

Defines which information about the message is logged.

This property is defined as shown in the following example:

@JMSDestinationDefinition(name = "java:global/jms/testDestination",
    interfaceName = "javax.jms.Queue",
    destinationName = "testDestination",
properties={"message-logging-format=%header%,%properties%"})

For more information about the valid values for this property, see the description for 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 Oracle WebLogic Server Administration Console Online Help.

Table A-15 @JMSDestinationDefinition Advanced Configuration Options

@JMSDestinationDefinition Property Equivalent Element in the JMS Application Module Type Description

load-balancing-policy

load-balancing-policy

String

Determines 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

Specifies whether new message production is paused on a destination at startup.

insertion-paused-at-startup

insertion-paused-at-startup

Boolean

Specifies whether new message insertion is paused on a destination at startup.

consumption-paused-at-startup

consumption-paused-at-startup

Boolean

Specifies 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

Specifies 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 lookup that destination without JNDI using javax.jms.Session createQueue or createTopic..

saf-export-policy

saf-export-policy

String

Specifies whether a user can send messages to a destination using Store-and-Forward.

Valid options are All and None.

messaging-performance-preference

messaging-performance-preference

Int

This parameter determines 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

Specifies 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

Int

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

maximum-message-size

maximum-message-size

Int

The maximum size of a message that is accepted from producers on the destination.

For more information, see the description for Maximum Message Size in "Uniform Distributed Topic: Configuration: Thresholds and Quotas" in Oracle WebLogic Server Administration Console Online Help.


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 Oracle WebLogic Server Administration Console Online Help.

Table A-16 @JMSDestinationDefinition Properties for Queue Destinations

@JMSDestinationDefinition Property Equivalent element in the JMS Application Module Type Description

forward-delay

forward-delay

Int

The number of seconds after which a uniform distributed queue member with no consumers will 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

Determines 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 Oracle WebLogic Server Administration Console Online Help.

Table A-17 @JMSDestinationDefinition Properties for Topic Destinations

@JMSDestinationDefinition Property Equivalent element in the JMS Application Module Type Description

forwarding-policy

forwarding-policy

String

The uniform distributed topic message Forwarding Policy specifies whether 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 will be 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

Int

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

Int

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