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.

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 Elements 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 @JMSConnectionFactoryDefinition Properties

@JMSConnectionFactoryDefinition Property 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 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 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.

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-4 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

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.

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

Table A-5 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 the transactional element is set to true.

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

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

@JMSConnectionFactoryDefinition Property 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.

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

Table A-7 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

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.

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

Table A-8 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

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

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

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

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

For more information about these properties, see Uniform Distributed Topic: Configuration : Thresholds and Quotas 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.

For more information about these properties, see Uniform Distributed Topic: Configuration: Overrides section in the 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.

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

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

@JMSDestinationDefinition Property Equivalent message-logging-paramsElement 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.

For more information about these properties, see Uniform Distributed Destination: Configuration: Logging 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.

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.

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.

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 Equivalent 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.