Skip navigation.

Administration Console Online Help

PreviousNextvertical dots separating previous/next from contents/index/pdfContents

JMS Connection Factory: Configuration: General

Configuration Options     Related Tasks     Related Topics

Use this page to define the general configuration parameters for this JMS connection factory, which includes various client connection, default delivery, load balancing, and security parameters.

Configuration Options

Name Description
Name

The name of this JMS connection factory.

JNDI Name

The global JNDI name used to look up a connection factory within a clustered JNDI namespace.

In a clustered environment, this name is propagated to the entire cluster. If you want the JNDI name to be bound only on the local server, and not propagated to the rest of the cluster, then use the Local JNDI Name setting.

If not specified, then the connection factory is not bound into a clustered JNDI namespace.

MBean Attribute (Does not apply to application modules):
JMSConnectionFactoryBean.JNDIName

Client ID for Durable Subscribers

An optional client ID for a durable subscriber that uses this JMS connection factory. Configuring this value on the connection factory prevents more than one JMS client from using a connection from the factory.

Generally, JMS durable subscriber applications set their client IDs dynamically using the javax.jms.Connection.setClientID() call.

MBean Attribute (Does not apply to application modules):
ClientParamsBean.ClientId

Default Priority

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

All messages with a DefaultPriority of -1 that are produced on a connection created with this factory will receive this value. Message producers can get the priority explicitly by calling the javax.jms.MessageProducer.getPriority() method.

This attribute is dynamic. It can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultPriority

Minimum value: 0

Maximum value: 9

Default Time-to-Live

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. A value of 0 indicates that the message has an infinite amount time to live.

A value of 0 indicates that the message has an infinite amount time to live. All messages with a DefaultTimeToLive of -1 that are produced on a connection created with this factory will receive this value expressed in milliseconds.

Message producers can get the time-to-live explicitly by calling the javax.jms.MessageProducer.getTimeToLive() method.

This attribute is dynamic. It can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultTimeToLive

Minimum value: 0

Maximum value: 9223372036854775807

Default Time-to-Deliver

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

All messages produced by a producer created with this factory that have a DefaultTimeToDeliver of -1 will use this value. Message producers can get the Time-to-Deliver explicitly by calling the weblogic.jms.extensions.WLMessageProducer.getTimeToDeliver() method.

This attribute is dynamic. It can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultTimeToDeliver

Default Delivery Mode

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

All messages with a DefaultDeliveryMode of null that are produced on a connection created with this factory will receive this value. Message producers can get the delivery mode explicitly by calling the javax.jms.MessageProducer.getDeliveryMode() method.

This attribute is dynamic. It can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultDeliveryMode

Default Redelivery Delay

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

All messages consumed by a consumer created with this factory that have a DefaultRedeliveryDelay of -1 will use this value.

Message consumers can get the redelivery delay explicitly by calling the weblogic.jms.extensions.WLSession.getRedliveryDelay() method.

This attribute is dynamic. It can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultRedeliveryDelay

Minimum value: 0

Maximum value: 9223372036854775807

Default Compression Threshold

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

The compression will occur either:

  • On the JMS message producer's JVM if the JMS message producer's JVM is not collocated with the JMS provider's JVM and the message body size exceeds the threshold limit.

  • On the JMS provider's JVM when the JMS message consumer's JVM is not collocated with the JMS provider's JVM and the message body size exceeds the threshold limit.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultCompressionThreshold

Minimum value: 0

Maximum value: 2147483647

Maximum Messages per Async Session

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

A value of -1 indicates that there is no limit on the number of messages. In this case, however, the limit is set to the amount of remaining virtual memory.

When the number of messages reaches the MessagesMaximum value:

  • For multicast sessions, new messages are discarded according the policy specified by the OverrunPolicy parameter and a DataOverrunException is thrown.

  • For non-multicast sessions, new messages are flow-controlled, or retained on the server until the application can accommodate the messages.

For multicast sessions, when a connection is stopped, messages will continue to be delivered, but only until the MessagesMaximum value is reached. Once this value is reached, messages will be discarded based on the Overrun policy.

MBean Attribute (Does not apply to application modules):
ClientParamsBean.MessagesMaximum

Multicast Overrun Policy

The policy to use when the number of outstanding multicast messages reaches the value specified in MessagesMaximum and some messages must be discarded.

  • Keep New

    indicates that the most recent messages are given priority over the oldest messages, and the oldest messages are discarded, as needed.

  • Keep Old

    indicates that the oldest messages are given priority over the most recent messages, and the most recent messages are discarded, as needed.

Message age is defined by the order of receipt, not by the JMSTimestamp value.

MBean Attribute (Does not apply to application modules):
ClientParamsBean.MulticastOverrunPolicy

Allow Close() Within onMessage()

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

  • If selected, a close() method call from within an onMessage() method call will succeed instead of blocking forever. If the acknowledge mode of the session is set to AUTO_ACKNOWLEDGE, the current message will still be acknowledged automatically when the onMessage() call completes.

  • If not selected, it will cause the stop() and close() methods to hang if called from onMessage().

This attribute is dynamic and can be changed at any time. However, changing the value does not affect existing connections. It only affects new connections made with this connection factory.

MBean Attribute (Does not apply to application modules):
ClientParamsBean.AllowCloseInOnMessage

Client Acknowledge Policy

Acknowledge policy for non-transacted sessions that use the CLIENT_ACKNOWLEDGE mode. All indicates that calling acknowledge on a message acknowledges all unacknowledged messages received on the session. Previous specifies that calling acknowledge on a message acknowledges only unacknowledged messages up to, and including, the given message.

This parameter works around a change in the JMS specification and only applies to implementations that use the CLIENT_ACKNOWLEDGE acknowledge mode for a non-transacted session. Specifically, the specification allowed users to acknowledge all messages before and including the message being acknowledged. The specification was changed so that acknowledging any message acknowledges all messages ever received (even those received after the message being acknowledge).

ACKNOWLEDGE_PREVIOUS retains the old behavior (acknowledge all message up to and including the message being acknowledged). Whereas, ACKNOWLEDGE_ALL yields the new behavior, where all messages received by the given session are acknowledged regardless of which message is being used to effect the acknowledge.

MBean Attribute (Does not apply to application modules):
ClientParamsBean.AcknowledgePolicy

Load Balancing Enabled

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

  • If enabled, the associated message producers are load balanced on every send() or publish() .

  • If disabled, the associated message producers are load balanced on the first send() or publish().

MBean Attribute (Does not apply to application modules):
LoadBalancingParamsBean.LoadBalancingEnabled

Server Affinity Enabled

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.

MBean Attribute (Does not apply to application modules):
LoadBalancingParamsBean.ServerAffinityEnabled

Default Unit-of-Order for Producer

The default Unit-of-Order name for producers that connect using this connection factory. A Unit-of-Order allows for messages to be processed in a certain order, even among multiple recipients.

System-generated indicates that WebLogic Server will automatically generate a Unit-of-Order name. User-Generated indicates that the Unit-of-Order name will come from the name specified name in the Unit-of-Order Name field. If None is selected, no message ordering is enforced.

MBean Attribute (Does not apply to application modules):
DefaultDeliveryParamsBean.DefaultUnitOfOrder

Changes take effect after you redeploy the module or restart the server.

User-generated Unit-of-Order Name

Specifies the Unit-of-Order name when the Default Unit-of-Order for Producer value is set to User-generated.

Attach JMSXUserId

Specifies whether WebLogic Server attachs the authenticated user name to sent messages.

If enabled, the system will attach the authenticated username onto sent messages if the destination supports this behavior. The username is placed in the JMSXUserID user property. JMSXUserID is defined in the JMS specification (see section 3.5.9).

When dynamically changed this will affect all connections made using this connection factory after the change was made.

MBean Attribute (Does not apply to application modules):
SecurityParamsBean.AttachJMSXUserId

Local JNDI Name

The local JNDI name used to look up the connection factory within the JNDI namespace of the server where the connection factory is targeted. In a clustered environment, this name is bound only on the local server instance and is not propagated to the rest of the cluster.

If not specified, then the connection factory is not bound into the local JNDI namespace.

MBean Attribute (Does not apply to application modules):
JMSConnectionFactoryBean.LocalJNDIName

Related Tasks

Related Topics

 

Skip navigation bar   Back to Top