|
SonicMQ API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectprogress.message.jclient.mp.ConnectionFactory
public class ConnectionFactory
Title: SonicMQ Adaptive Pacing (Managed Client Connection Factory)
Description: Managed Clients are JMS Client connections that provide an additional set of functions for
managing or working with connections, sessions, destinations, producers and consumers of
messages. Managed Pipes (MP connections) also add a number of enhancements to the standard
SonicMQ JMS client which are listed below. MP is implemented as a set of overlay classes
on top of the standard progress.message.jclient.*
package using a delegate
class pattern.
The following additional features are available as part of the extended functionality:
send()
operation, a Message Consumer receive()
operation or Consumer based listeners. All sub classes (ie. Publisher, Subscribers, Senders or
Receivers) are included in the functionality. This allows for a much more efficient message exchange
mechanism between a producer and a broker by adaptively reducing the number of outstanding message
operation acknowledgements performed by the broker.
Build 28
Copyright: Copyright (c) 2006
Company: Progress Software
Constructor Summary | |
---|---|
ConnectionFactory()
|
|
ConnectionFactory(java.lang.String brokerURL)
|
|
ConnectionFactory(java.lang.String brokerHostName,
int brokerPort,
java.lang.String brokerProtocol,
java.lang.String defaultUserName,
java.lang.String defaultPassword)
|
|
ConnectionFactory(java.lang.String brokerHostName,
int brokerPort,
java.lang.String brokerProtocol,
java.lang.String connectID,
java.lang.String defaultUserName,
java.lang.String defaultPassword)
|
|
ConnectionFactory(java.lang.String brokerURL,
java.lang.String connectID)
|
|
ConnectionFactory(java.lang.String brokerURL,
java.lang.String defaultUserName,
java.lang.String defaultPassword)
|
|
ConnectionFactory(java.lang.String brokerURL,
java.lang.String connectID,
java.lang.String defaultUserName,
java.lang.String defaultPassword)
|
Method Summary | |
---|---|
Connection |
createConnection()
Creates a Connection with the default user identity. |
Connection |
createConnection(java.lang.String userid,
java.lang.String password)
Creates a new Connection with the specified user identity. |
boolean |
getAdaptivePacing()
Get status of Adaptive Pacing for this Connection Factory as boolean. |
int |
getAdaptivePacingBatchSize()
Get the Adaptive Pacing message Batch Size as integer. |
java.lang.Integer |
getAdaptivePacingBatchSizeInteger()
Get the Adaptive Pacing message Batch Size as java.lang.Integer . |
java.lang.Boolean |
getAdaptivePacingBoolean()
Get status of Adaptive Pacing for this Connection Factory as java.lang.Boolean . |
int |
getAdaptivePacingTimer()
Get the Adaptive Pacing Timer interval in milliseconds as integer. |
java.lang.Integer |
getAdaptivePacingTimerInteger()
Get the Adaptive Pacing Timer interval in milliseconds as java.lang.Integer . |
java.applet.Applet |
getApplet()
|
java.lang.String |
getBrokerHostName()
|
int |
getBrokerPort()
|
java.lang.String |
getBrokerProtocol()
|
java.lang.String |
getBrokerURL()
|
java.lang.String |
getClientID()
|
java.lang.Long |
getClientTransactionBufferSize()
|
java.lang.String |
getConnectID()
|
java.lang.String |
getConnectionURLs()
|
java.lang.String |
getDefaultPassword()
|
int |
getDefaultTxnBatchSize()
|
java.lang.Integer |
getDefaultTxnBatchSizeInteger()
|
java.lang.String |
getDefaultUser()
|
java.lang.Boolean |
getDurableMessageOrder()
|
java.lang.Boolean |
getFaultTolerant()
|
java.lang.Integer |
getFaultTolerantReconnectTimeout()
|
java.lang.Integer |
getFlowToDisk()
|
java.lang.Integer |
getInitialConnectTimeout()
|
boolean |
getLoadBalancing()
|
java.lang.Boolean |
getLoadBalancingBoolean()
|
java.lang.String |
getLocalStoreDirectory()
|
long |
getLocalStoreSize()
|
java.lang.Long |
getLocalStoreSizeLong()
|
java.lang.Integer |
getLocalStoreWaitTime()
|
java.lang.String |
getLoginSPI()
|
java.lang.Integer |
getMaxDeliveryCount()
|
java.lang.Integer |
getMonitorInterval()
|
java.lang.Object |
getObjectInstance(java.lang.Object obj,
javax.naming.Name objName,
javax.naming.Context nameCtx,
java.util.Hashtable env)
|
boolean |
getPersistentDelivery()
|
java.lang.Boolean |
getPersistentDeliveryBoolean()
|
long |
getPingInterval()
|
java.lang.Long |
getPingIntervalLong()
|
int |
getPrefetchCount()
|
java.lang.Integer |
getPrefetchCountInteger()
|
int |
getPrefetchThreshold()
|
java.lang.Integer |
getPrefetchThresholdInteger()
|
java.lang.Integer |
getQopCacheSize()
|
int |
getReconnectInterval()
|
java.lang.Integer |
getReconnectIntervalInteger()
|
int |
getReconnectTimeout()
|
java.lang.Integer |
getReconnectTimeoutInteger()
|
javax.naming.Reference |
getReference()
|
java.lang.Boolean |
getSelectorAtBroker()
|
boolean |
getSequential()
|
java.lang.Boolean |
getSequentialBoolean()
|
java.lang.Integer |
getSocketConnectTimeout()
|
java.lang.Boolean |
getSplitMultiTopicDelivery()
|
java.lang.String |
getUrlsOrUrl()
|
boolean |
isEnableLocalStore()
|
java.lang.Boolean |
isEnableLocalStoreBoolean()
|
void |
setAdaptivePacing(java.lang.Boolean enableAdaptivePacing)
Enable Adaptive Pacing as default on Connections created by this factory. |
void |
setAdaptivePacingBatchSize(java.lang.Integer adaptivePacingBatchSize)
Set the Adaptive Pacing message Batch Size. |
void |
setAdaptivePacingTimer(java.lang.Integer adaptivePacingTimer)
Set the Adaptive Pacing Timer interval in milliseconds. |
void |
setApplet(java.applet.Applet applet)
|
void |
setBrokerHostName(java.lang.String brokerHostName)
|
void |
setBrokerPort(int brokerPort)
|
void |
setBrokerProtocol(java.lang.String brokerProtocol)
|
void |
setBrokerURL(java.lang.String brokerURL)
|
void |
setClientID(java.lang.String clientID)
|
void |
setClientTransactionBufferSize(java.lang.Long size)
|
void |
setConnectID(java.lang.String connectID)
|
void |
setConnectionURLs(java.lang.String brokerList)
|
void |
setDefaultPassword(java.lang.String password)
|
void |
setDefaultTxnBatchSize(int size)
|
void |
setDefaultTxnBatchSizeInteger(java.lang.Integer size)
|
void |
setDefaultUser(java.lang.String username)
|
void |
setDurableMessageOrder(java.lang.Boolean durableSubscriberMessageOrder)
|
void |
setEnableLocalStore(boolean value)
|
void |
setEnableLocalStoreBoolean(java.lang.Boolean value)
|
void |
setFaultTolerant(java.lang.Boolean faultTolerant)
|
void |
setFaultTolerantReconnectTimeout(java.lang.Integer seconds)
|
void |
setFlowToDisk(java.lang.Integer flag)
|
void |
setInitialConnectTimeout(java.lang.Integer seconds)
|
void |
setLoadBalancing(boolean loadBalancing)
|
void |
setLoadBalancingBoolean(java.lang.Boolean loadBalancing)
|
void |
setLocalStoreDirectory(java.lang.String name)
|
void |
setLocalStoreSize(long size)
|
void |
setLocalStoreSizeLong(java.lang.Long size)
|
void |
setLocalStoreWaitTime(java.lang.Integer secs)
|
void |
setLoginSPI(java.lang.String className)
|
void |
setMaxDeliveryCount(java.lang.Integer value)
|
void |
setMonitorInterval(java.lang.Integer interval)
|
void |
setPersistentDelivery(boolean persistentDelivery)
|
void |
setPersistentDeliveryBoolean(java.lang.Boolean persistentDelivery)
|
void |
setPingInterval(long interval)
|
void |
setPingIntervalLong(java.lang.Long interval)
|
void |
setPrefetchCount(int count)
|
void |
setPrefetchCountInteger(java.lang.Integer count)
|
void |
setPrefetchThreshold(int val)
|
void |
setPrefetchThresholdInteger(java.lang.Integer val)
|
void |
setQopCacheSize(java.lang.Integer value)
|
void |
setReconnectInterval(int secs)
|
void |
setReconnectIntervalInteger(java.lang.Integer secs)
|
void |
setReconnectTimeout(int minutes)
|
void |
setReconnectTimeoutInteger(java.lang.Integer minutes)
|
void |
setSelectorAtBroker(java.lang.Boolean flag)
|
void |
setSequential(boolean sequential)
|
void |
setSequentialBoolean(java.lang.Boolean sequential)
|
void |
setSocketConnectTimeout(java.lang.Integer socketConnectTimeout)
|
void |
setSplitMultiTopicDelivery(java.lang.Boolean splitMultiTopicDelivery)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConnectionFactory() throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerURL) throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerHostName, int brokerPort, java.lang.String brokerProtocol, java.lang.String defaultUserName, java.lang.String defaultPassword) throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerHostName, int brokerPort, java.lang.String brokerProtocol, java.lang.String connectID, java.lang.String defaultUserName, java.lang.String defaultPassword) throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerURL, java.lang.String connectID) throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerURL, java.lang.String defaultUserName, java.lang.String defaultPassword) throws JMSException
JMSException
public ConnectionFactory(java.lang.String brokerURL, java.lang.String connectID, java.lang.String defaultUserName, java.lang.String defaultPassword) throws JMSException
JMSException
Method Detail |
---|
public Connection createConnection() throws JMSException
Connection.start
method is explicitly called.
If Adaptive Pacing is enabled the Connection inherits these properties from the factory. Users should check the Linked Exception for additional reasons of failure.
createConnection
in interface ConnectionFactory
JMSException
- If the JMS provider fails to create the connection due to some internal error.
JMSSecurityException
- If client authentication fails due to an invalid user name or password.public Connection createConnection(java.lang.String userid, java.lang.String password) throws JMSException
Connection.start
method is explicitly called.
If Adaptive Pacing is enabled the Connection inherits these properties from the factory. Users should check the Linked Exception for additional reasons of failure.
createConnection
in interface ConnectionFactory
userid
- The caller's user name.password
- The caller's password.
JMSException
- If the JMS provider fails to create the connection due to some internal error.
JMSSecurityException
- If client authentication fails due to an invalid user name or password.public java.applet.Applet getApplet()
public java.lang.String getBrokerHostName()
public int getBrokerPort()
public java.lang.String getBrokerProtocol()
public java.lang.String getBrokerURL()
public java.lang.String getClientID()
public java.lang.Long getClientTransactionBufferSize()
public java.lang.String getConnectID()
public java.lang.String getConnectionURLs()
public java.lang.String getDefaultPassword()
public int getDefaultTxnBatchSize()
public java.lang.Integer getDefaultTxnBatchSizeInteger()
public java.lang.String getDefaultUser()
public java.lang.Boolean getDurableMessageOrder()
public java.lang.Boolean getFaultTolerant()
public java.lang.Integer getFaultTolerantReconnectTimeout()
public java.lang.Integer getFlowToDisk()
public java.lang.Integer getInitialConnectTimeout()
public boolean getLoadBalancing()
public java.lang.Boolean getLoadBalancingBoolean()
public java.lang.String getLocalStoreDirectory()
public long getLocalStoreSize()
public java.lang.Long getLocalStoreSizeLong()
public java.lang.Integer getLocalStoreWaitTime()
public java.lang.String getLoginSPI()
public java.lang.Integer getMaxDeliveryCount()
public java.lang.Integer getMonitorInterval()
public boolean getPersistentDelivery()
public java.lang.Boolean getPersistentDeliveryBoolean()
public long getPingInterval()
public java.lang.Long getPingIntervalLong()
public int getPrefetchCount()
public java.lang.Integer getPrefetchCountInteger()
public int getPrefetchThreshold()
public java.lang.Integer getPrefetchThresholdInteger()
public java.lang.Integer getQopCacheSize()
public int getReconnectInterval()
public java.lang.Integer getReconnectIntervalInteger()
public int getReconnectTimeout()
public java.lang.Integer getReconnectTimeoutInteger()
public javax.naming.Reference getReference() throws javax.naming.NamingException
getReference
in interface javax.naming.Referenceable
javax.naming.NamingException
public java.lang.Object getObjectInstance(java.lang.Object obj, javax.naming.Name objName, javax.naming.Context nameCtx, java.util.Hashtable env) throws java.lang.Exception
getObjectInstance
in interface javax.naming.spi.ObjectFactory
java.lang.Exception
public java.lang.Boolean getSelectorAtBroker()
public boolean getSequential()
public java.lang.Boolean getSequentialBoolean()
public java.lang.Integer getSocketConnectTimeout()
public java.lang.Boolean getSplitMultiTopicDelivery()
public java.lang.String getUrlsOrUrl()
public boolean isEnableLocalStore()
public java.lang.Boolean isEnableLocalStoreBoolean()
public void setApplet(java.applet.Applet applet)
public void setBrokerHostName(java.lang.String brokerHostName)
public void setBrokerPort(int brokerPort)
public void setBrokerProtocol(java.lang.String brokerProtocol)
public void setBrokerURL(java.lang.String brokerURL)
public void setClientID(java.lang.String clientID) throws JMSException
JMSException
public void setClientTransactionBufferSize(java.lang.Long size)
public void setConnectID(java.lang.String connectID)
public void setConnectionURLs(java.lang.String brokerList)
public void setDefaultPassword(java.lang.String password)
public void setDefaultTxnBatchSize(int size)
public void setDefaultTxnBatchSizeInteger(java.lang.Integer size)
public void setDefaultUser(java.lang.String username)
public void setDurableMessageOrder(java.lang.Boolean durableSubscriberMessageOrder)
public void setEnableLocalStore(boolean value)
public void setEnableLocalStoreBoolean(java.lang.Boolean value)
public void setFaultTolerant(java.lang.Boolean faultTolerant)
public void setFaultTolerantReconnectTimeout(java.lang.Integer seconds)
public void setFlowToDisk(java.lang.Integer flag)
public void setInitialConnectTimeout(java.lang.Integer seconds)
public void setLoadBalancing(boolean loadBalancing)
public void setLoadBalancingBoolean(java.lang.Boolean loadBalancing)
public void setLocalStoreDirectory(java.lang.String name)
public void setLocalStoreSize(long size)
public void setLocalStoreSizeLong(java.lang.Long size)
public void setLocalStoreWaitTime(java.lang.Integer secs)
public void setLoginSPI(java.lang.String className)
public void setMaxDeliveryCount(java.lang.Integer value)
public void setMonitorInterval(java.lang.Integer interval)
public void setPersistentDelivery(boolean persistentDelivery)
public void setPersistentDeliveryBoolean(java.lang.Boolean persistentDelivery)
public void setPingInterval(long interval)
public void setPingIntervalLong(java.lang.Long interval)
public void setPrefetchCount(int count)
public void setPrefetchCountInteger(java.lang.Integer count)
public void setPrefetchThreshold(int val)
public void setPrefetchThresholdInteger(java.lang.Integer val)
public void setQopCacheSize(java.lang.Integer value)
public void setReconnectInterval(int secs)
public void setReconnectIntervalInteger(java.lang.Integer secs)
public void setReconnectTimeout(int minutes)
public void setReconnectTimeoutInteger(java.lang.Integer minutes)
public void setSelectorAtBroker(java.lang.Boolean flag)
public void setSequential(boolean sequential)
public void setSequentialBoolean(java.lang.Boolean sequential)
public void setSocketConnectTimeout(java.lang.Integer socketConnectTimeout)
public void setSplitMultiTopicDelivery(java.lang.Boolean splitMultiTopicDelivery)
public void setAdaptivePacing(java.lang.Boolean enableAdaptivePacing)
The two strategies work in tandem facilitating adaptive client-side flow control for Message Producers. When producer rates are high the send buffer fills quickly and the timer's scheduled sends are bypassed since the buffer typically fills in less time then the scheduled interval. When message rates drop, scheduled sending takes precedence, allowing outstanding messges to be delivered before the buffer fills. Likewise, when message rates are unpredictable the two strategies facilitate adaptive, predictable performance.
Sizing the correct values is important since seting wait intervals or buffers too large may result in unwanted latency, while setting these values too high will result in an increased amount of outstanding acknowledgements on the wire. A usefull excercise may be to set a batch of 10 messages and test varying settings for timer intervals to asses the break-even point at which larger timer intervals no longer improve performance of the Message Producer. The derived value will also represent the avarage latency of your chosen batch size.
The default is false
.
enableAdaptivePacing
- Enable Adaptive Pacing as default on this Connection Factory.public boolean getAdaptivePacing()
public java.lang.Boolean getAdaptivePacingBoolean()
java.lang.Boolean
.
java.lang.Boolean
.public void setAdaptivePacingTimer(java.lang.Integer adaptivePacingTimer)
adaptivePacingTimer
- Adaptive Pacing Timer interval in milliseconds.public int getAdaptivePacingTimer()
public java.lang.Integer getAdaptivePacingTimerInteger()
java.lang.Integer
.
java.lang.Integer
.public void setAdaptivePacingBatchSize(java.lang.Integer adaptivePacingBatchSize)
adaptivePacingBatchSize
- Adaptive Pacing message Batch Size.public int getAdaptivePacingBatchSize()
public java.lang.Integer getAdaptivePacingBatchSizeInteger()
java.lang.Integer
.
java.lang.Integer
|
SonicMQ API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |