Fusion Middleware Control Help for WebLogic Server

Previous Next Open TOC in new window
Content starts here

Connection Factory: Configuration: General

Configuration Options     

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

Configuration Options

Name Description
Name

The name of this JMS connection factory.

MBean Attribute:
WebLogicMBean.Name

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

Scope

This scope in which this connection factory was created.

JNDI Name
Client ID Policy

The Client ID Policy indicates whether more than one JMS connection can use the same Client ID.

The valid values are:

  • CLIENT_ID_POLICY_RESTRICTED

    - The default. Only one connection that uses this policy can exist in a cluster at any given time for a particular Client ID (if a connection already exists with a given Client ID, attempts to create new connections using this policy with the same Client ID fail with an exception).

  • CLIENT_ID_POLICY_UNRESTRICTED

    - Connections created using this policy can specify any Client ID, even when other restricted or unrestricted connections already use the same Client ID. The Unrestricted Client ID capability was added in WebLogic 10.3.4 (11gR1PS3).

Notes:

  • WebLogic JMS applications can override the Client ID Policy specified on the connection factory configuration by casting a javax.jms.JMSContext instance to weblogic.jms.extensions.WLJMSContext or a javax.jms.Connection instance to weblogic.jms.extension.WLConnection and calling setClientID(String clientID, String clientIDPolicy).

  • Two connections with the same Client ID are treated as two different independent connections if they have a different Client ID Policy. This means a cluster can host a single Restricted Client ID Policy connection, and also concurrently host multiple Unrestricted Client ID Policy connections that have the same Client ID as the Restricted connection.

  • Two durable subscriptions with the same Client ID and Subscription Name are treated as two different independent subscriptions if they have a different Client ID Policy. Similarly, two Sharable non-durable subscriptions with the same Client Id are treated as two different independent subscriptions if they have a different Client ID Policy.

  • Durable subscriptions created using an Unrestricted Client Id must be unsubscribed using the weblogic.jms.extensions.WLJMSContext.unsubscribe(Topic topic, String name) instead of javax.jms.JMSContext.unsubscribe(String name) or using the weblogic.jms.extensions.WLSession.unsubscribe(Topic topic, String name), instead of javax.jms.Session.unsubscribe(String name).

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

Subscription Sharing Policy

Specifies the subscription sharing policy on this connection. Although this attribute is dynamic, the new values only take effect on future connections and have no impact to existing connections created before the value was changed.

The valid values are:

  • Exclusive

    - The default. All subscribers created using this connection factory cannot share subscriptions with any other subscribers.

  • Sharable

    - Subscribers created using this connection factory can share their subscriptions with other subscribers, regardless of whether those subscribers are created using the same connection factory or a different connection factory. Consumers can share a non-durable subscriptions only if they have the same Client ID and Client ID Policy; consumers can share a durable subscription only if they have the same Client ID, Client ID Policy, and Subscription Name. The Sharable Subscription Sharing capability was added in WebLogic 10.3.4 (11gR1PS3).

Notes:

  • WebLogic JMS applications can override the Subscription Sharing Policy specified on the connection factory configuration by casting a javax.jms.JMSContext instance to weblogic.jms.extensions.WLJMSContext or a javax.jms.Connection instance to weblogic.jms.extensions.WLConnection and calling setSubscriptionSharingPolicy(String subscriptionSharingPolicy).

  • Most applications with a Sharable Subscription Sharing Policy will also use an Unrestricted Client ID Policy in order to ensure that multiple connections with the same client ID can exist.

  • Two durable subscriptions with the same Client ID and Subscription Name are treated as two different independent subscriptions if they have a different Client ID Policy. Similarly, two Sharable non-durable subscriptions with the same Client ID are treated as two different independent subscriptions if they have a different Client ID Policy.

  • Durable subscriptions created using an Unrestricted Client Id must be unsubscribed using weblogic.jms.extensions.WLJMSContext.unsubscribe(Topic topic, String name), instead of javax.jms.JMSContext.unsubscribe(String name) or using weblogic.jms.extensions.WLSession.unsubscribe(Topic topic, String name), instead of javax.jms.Session.unsubscribe(String name), regardless of the Subscription Sharing Policy (Exclusive or Sharable).

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

Prefetch Mode for Synchronous Consumer

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

  • Disabled

    - Indicates that message prefetching is disabled.

  • Enabled

    - Indicates that a synchronous consumer (queue receiver or topic subscriber) will prefetch messages. The amount of prefetched messages cannot exceed the maximum number of messages defined by the Messages Maximum parameter.

  • Topic Subscriber Only

    - Indicates that only a synchronous topic subscriber will prefetch messages. The amount of prefetched messages cannot exceed the maximum number of messages defined by the Messages Maximum parameter.

Synchronous message prefetching does not support the following conditions, and will throw a JMS Exception when encountered:

  • User (XA) transactions for synchronous message receives

  • Multiple synchronous consumers per session (regardless of queue or topic)

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

Maximum Messages per Session

The maximum number of messages that can exist for an asynchronous session and that have not yet been passed to the message listener. When the Synchronous Prefetch Mode is enabled, this value also affects synchronous sessions with a message consumer that will prefetch messages in one server access.

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.

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

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

Targeting Policy

Specifies whether this JMS resource defaults to the parent module's targeting or uses the subdeployment targeting mechanism.

When set to true, this resource implicitly inherits the targeting of its parent module. When set to false, this resource gets targeted based its subdeployment's targets, if one is specified.

MBean Attribute (Does not apply to application modules) :
TargetableBean.DefaultTargetingEnabled

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

Subdeployment

Gets the name of the sub-deployment to use when targeting this entity

Entities are targeted using a sub-deployment with this name. The targets of the sub-deployment will be the targets of this entity.

MBean Attribute (Does not apply to application modules) :
TargetableBean.SubDeploymentName

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


Back to Top