Oracle Fusion Middleware
Oracle WebLogic Server API Reference
11g Release 1 (10.3.4)

Part Number E13941-04

weblogic.jms.extensions
Interface WLConnection


public interface WLConnection

A WLConnection provides fields and methods that are not supported by javax.jms.Connection.

See Also:
Connection, QueueConnection, TopicConnection

Field Summary
static String CLIENT_ID_POLICY_RESTRICTED
          Only one connection that uses this policy exists in a cluster at any given time for a particular ClientID.
static String CLIENT_ID_POLICY_UNRESTRICTED
          Connections created using this policy can specify any ClientID, even when other restricted or unrestricted connections already use the same ClientID.
static String SUBSCRIPTION_EXCLUSIVE
          All subscribers created using this connection do not share subscriptions with any other subscribers.
static String SUBSCRIPTION_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.
 
Method Summary
 String getClientIDPolicy()
          The ClientIdPolicy on this connection.
 long getReconnectBlockingMillis()
          The maximum length of time that any synchronous JMS calls block the calling thread before giving up on a JMS client reconnect in progress.
 String getReconnectPolicy()
          The JMS client reconnection policy after a lost network connection with a server or upon a server reboot.
 String getSubscriptionSharingPolicy()
          The SubscriptionSharingPolicy on this connection.
 long getTotalReconnectPeriodMillis()
          The maximum length of time that JMS client operations continue to try to reconnect to the server.
 void setClientID(String clientID, String clientIDPolicy)
          Sets the ClientID and ClientIdPolicy on the connection.
 void setReconnectBlockingMillis(long timeout)
          Sets the maximum length of time that any synchronous JMS calls, such as a producer.send(), consumer.receive(), or session.createBrowser(), will block the calling thread before giving up on a JMS client reconnect in progress.
 void setReconnectPolicy(String reconnectPolicy)
          Sets the JMS client reconnection policy after a lost network connection with a server or upon a server reboot.
 void setSubscriptionSharingPolicy(String subscriptionSharingPolicy)
          Sets the SubscriptionSharingPolicy on this connection.
 void setTotalReconnectPeriodMillis(long timeout)
          Sets the maximum length of time that JMS client operations 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.
 

Field Detail

CLIENT_ID_POLICY_RESTRICTED

static final String CLIENT_ID_POLICY_RESTRICTED
Only one connection that uses this policy exists in a cluster at any given time for a particular ClientID.


CLIENT_ID_POLICY_UNRESTRICTED

static final String CLIENT_ID_POLICY_UNRESTRICTED
Connections created using this policy can specify any ClientID, even when other restricted or unrestricted connections already use the same ClientID.


SUBSCRIPTION_EXCLUSIVE

static final String SUBSCRIPTION_EXCLUSIVE
All subscribers created using this connection do not share subscriptions with any other subscribers.


SUBSCRIPTION_SHARABLE

static final String SUBSCRIPTION_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.

Method Detail

setReconnectPolicy

void setReconnectPolicy(String reconnectPolicy)
                        throws IllegalArgumentException

Sets the JMS client reconnection policy after a lost network connection with a server or upon a server reboot.

Throws:
IllegalArgumentException - when the argument is not: weblogic.jms.common.JMSConstants.RECONNECT_POLICY_NONE weblogic.jms.common.JMSConstants.RECONNECT_POLICY_PRODUCER weblogic.jms.common.JMSConstants.RECONNECT_POLICY_ALL
See Also:
JMSConstants.RECONNECT_POLICY_NONE, JMSConstants.RECONNECT_POLICY_PRODUCER, JMSConstants.RECONNECT_POLICY_ALL, WLMessage.getJMSRedeliveryLimit()

getReconnectPolicy

String getReconnectPolicy()
The JMS client reconnection policy after a lost network connection with a server or upon a server reboot.

Returns:
The current reconnectPolicy.
See Also:
WLConnection.setReconnectPolicy(java.lang.String)

setReconnectBlockingMillis

void setReconnectBlockingMillis(long timeout)
                                throws IllegalArgumentException

Sets the maximum length of time that any synchronous JMS calls, such as a producer.send(), consumer.receive(), or session.createBrowser(), will block the calling thread before giving up on a JMS client reconnect in progress.

Parameters:
timeout - The number of milliseconds JMS operations will wait trying to reconnect to a disconnected server before throwing a JMSException.

When the timeout is zero, the reconnect starts but this call does not block waiting for the reconnected objects.

When the timeout is -1, the call blocks as long as reconnects are possible. For example, send() can block until close() is called, and send() will throw a JMSException.

Throws:
IllegalArgumentExcaption - is thrown when timeout is less than -1.
IllegalArgumentException
See Also:
WLConnection.getReconnectBlockingMillis()

getReconnectBlockingMillis

long getReconnectBlockingMillis()

The maximum length of time that any synchronous JMS calls block the calling thread before giving up on a JMS client reconnect in progress.

Returns:
The number of milliseconds JMS operations waits trying to reconnect to a disconnected server before throwing a JMSException.
See Also:
WLConnection.setReconnectBlockingMillis(long)

setTotalReconnectPeriodMillis

void setTotalReconnectPeriodMillis(long timeout)
                                   throws IllegalArgumentException

Sets the maximum length of time that JMS client operations 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.

Parameters:
timeout - The number of milliseconds that JMS reconnect timers are permitted to reconnect a disconnected server.

When the timeout is -1, there is no limit. Reconnection timers are always scheduled until close() is called.

Throws:
IllegalArgumentExcaption - is thrown when timeout is less than -1.
IllegalArgumentException
See Also:
WLConnection.getTotalReconnectPeriodMillis()

getTotalReconnectPeriodMillis

long getTotalReconnectPeriodMillis()

The maximum length of time that JMS client operations continue to try to reconnect to the server.

Returns:
The number of milliseconds that JMS reconnect timers are permitted to reconnect a disconnected server.
See Also:
WLConnection.setTotalReconnectPeriodMillis(long)

setClientID

void setClientID(String clientID,
                 String clientIDPolicy)
                 throws JMSException,
                        IllegalArgumentException
Sets the ClientID and ClientIdPolicy on the connection.

The ClientID and ClientIdPolicy can be set administratively through the connection factory. If a client sets the ClientID explicitly, it must do so immediately after it creates the connection and before any other action on the connection is taken. After this point, setting the ClientID throws an IllegalStateException. If the ClientID is specified on the connection factory, an attempt to use this setter to change it throws IllegalStateException. If the ClientIdPolicy is specified on the connection factory without a ClientID, calling this setter with a ClientID and a different ClientIdPolicy overrides the policy as well as sets the ClientID.

Note: A durable subscription that is created using a Unrestricted client ID can only be unsubscribed using WLSession.unsubscribe(String name, Topic topic) method. An attempt of unsubscribing such a subscription using standard javax.jms.Session.unsubscribe(String name) will get an InvalidDestinationException.

Parameters:
clientID - the ClientID to be set
clientIDPolicy - the ClientIdPolicy to be set
Throws:
JMSException - if the JMS provider fails to set the client ID for this connection due to some internal error.
javax.jms.IllegalStateException - if the JMS client attempts to set a connection's client ID at the wrong time or when it has been administratively configured.
javax.jms.InvalidClientIDException - if the JMS client specifies an invalid or duplicate client ID using the RESTRICTED policy.
IllegalArgumentException - if the policy is not valid.
See Also:
WLConnection.CLIENT_ID_POLICY_RESTRICTED, WLConnection.CLIENT_ID_POLICY_UNRESTRICTED

getClientIDPolicy

String getClientIDPolicy()
The ClientIdPolicy on this connection.

Returns:
the ClientIdPolicy on this connection.
See Also:
WLConnection.CLIENT_ID_POLICY_RESTRICTED, WLConnection.CLIENT_ID_POLICY_UNRESTRICTED

getSubscriptionSharingPolicy

String getSubscriptionSharingPolicy()
The SubscriptionSharingPolicy on this connection.

Returns:
the SubscriptionSharingPolicy
See Also:
WLConnection.SUBSCRIPTION_EXCLUSIVE, WLConnection.SUBSCRIPTION_SHARABLE

setSubscriptionSharingPolicy

void setSubscriptionSharingPolicy(String subscriptionSharingPolicy)
                                  throws JMSException,
                                         IllegalArgumentException
Sets the SubscriptionSharingPolicy on this connection. The SubscriptionSharingPolicy can be set administratively through the 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.

Parameters:
subscriptionSharingPolicy - new subscription sharing policy to be set.
Throws:
JMSException - if the JMS provider fails to set the Subsrciption Sharing Policy for this connection due to some internal error.
IllegalArgumentException - if the policy is not valid
See Also:
WLConnection.SUBSCRIPTION_EXCLUSIVE, WLConnection.SUBSCRIPTION_SHARABLE

Copyright 1996, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
Oracle WebLogic Server API Reference
11g Release 1 (10.3.4)

Part Number E13941-04