![]() ![]() ![]() ![]() |
Create a Connection Factory: Properties
Use this page to define properties for this connection factory.
Configuration Options
Name Description Resource Type The type of JMS system resource.
Name The name of this connection factory.
JNDI Name The global JNDI name used to look up the destination within the 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
parameter.If not specified, the destination name will not be advertised through the global JNDI namespace.
MBean Attribute (Does not apply to application modules) :
DestinationBean.JNDIName
Notes Optional information that you can include to describe the configuration of this connection factory.
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 toweblogic.jms.extensions.WLJMSContext
or ajavax.jms.Connection
instance toweblogic.jms.extension.WLConnection
and callingsetClientID(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 ofjavax.jms.JMSContext.unsubscribe(String name)
or using theweblogic.jms.extensions.WLSession.unsubscribe(Topic topic, String name)
, instead ofjavax.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 toweblogic.jms.extensions.WLJMSContext
or ajavax.jms.Connection
instance toweblogic.jms.extensions.WLConnection
and callingsetSubscriptionSharingPolicy(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 ofjavax.jms.JMSContext.unsubscribe(String name)
or usingweblogic.jms.extensions.WLSession.unsubscribe(Topic topic, String name)
, instead ofjavax.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()
orpublish()
.If disabled, the associated message producers are load balanced on the first
send()
orpublish()
.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
Enable XA Connection Factory Indicates whether a XA queue or XA topic connection factory is returned, instead of a queue or topic connection factory. An XA connection factory can be used to create an
XAConnection
, which in turn may be used to create anXASession
, which in turn may be used to obtain anXAResource
for use inside a transaction manager.In addition, this attribute indicates whether or not a connection factory creates sessions that are JTA aware. If true, the associated message producers and message consumers look into the running thread for a transaction context. Otherwise, the current JTA transaction will be ignored.
Note: Transacted sessions ignore the current threads transaction context in favor of their own internal transaction, regardless of the setting. This setting only affects non-transacted sessions.
MBean Attribute (Does not apply to application modules) :
TransactionParamsBean.XAConnectionFactoryEnabled
Transaction Timeout The timeout value (in seconds) for all transactions on connections created with this connection factory.
If a transacted session is still active after the timeout has elapsed, the transaction is rolled back. A value of 0 indicates that the default value will be used. If you have long-running transactions, you might want to adjust the value of this attribute to allow transactions to complete.
MBean Attribute (Does not apply to application modules) :
TransactionParamsBean.TransactionTimeout
Maximum value:
2147483647
![]() |