activemq-cpp-3.9.0
|
Concrete connection used for all connectors to the ActiveMQ broker. More...
#include <src/main/activemq/core/ActiveMQConnection.h>
Public Member Functions | |||||||||
ActiveMQConnection (const Pointer< transport::Transport > transport, const Pointer< decaf::util::Properties > properties) | |||||||||
Constructor. More... | |||||||||
virtual | ~ActiveMQConnection () | ||||||||
virtual void | addSession (Pointer< activemq::core::kernels::ActiveMQSessionKernel > session) | ||||||||
Adds the session resources for the given session instance. More... | |||||||||
virtual void | removeSession (Pointer< activemq::core::kernels::ActiveMQSessionKernel > session) | ||||||||
Removes the session resources for the given session instance. More... | |||||||||
virtual void | addProducer (Pointer< kernels::ActiveMQProducerKernel > producer) | ||||||||
Adds an active Producer to the Set of known producers. More... | |||||||||
virtual void | removeProducer (const Pointer< commands::ProducerId > &producerId) | ||||||||
Removes an active Producer to the Set of known producers. More... | |||||||||
virtual void | addDispatcher (const Pointer< commands::ConsumerId > &consumer, Dispatcher *dispatcher) | ||||||||
Adds a dispatcher for a consumer. More... | |||||||||
virtual void | removeDispatcher (const Pointer< commands::ConsumerId > &consumer) | ||||||||
Removes the dispatcher for a consumer. More... | |||||||||
virtual void | sendPullRequest (const commands::ConsumerInfo *consumer, long long timeout) | ||||||||
If supported sends a message pull request to the service provider asking for the delivery of a new message. More... | |||||||||
bool | isClosed () const | ||||||||
Checks if this connection has been closed. More... | |||||||||
bool | isStarted () const | ||||||||
Check if this connection has been started. More... | |||||||||
bool | isTransportFailed () const | ||||||||
Checks if the Connection's Transport has failed. More... | |||||||||
virtual void | destroyDestination (const commands::ActiveMQDestination *destination) | ||||||||
Requests that the Broker removes the given Destination. More... | |||||||||
virtual void | destroyDestination (const cms::Destination *destination) | ||||||||
Requests that the Broker removes the given Destination. More... | |||||||||
bool | isDuplicate (Dispatcher *dispatcher, Pointer< commands::Message > message) | ||||||||
Allows Consumers to check if an incoming Message is a Duplicate. More... | |||||||||
void | rollbackDuplicate (Dispatcher *dispatcher, Pointer< commands::Message > message) | ||||||||
Mark message as received. More... | |||||||||
void | removeAuditedDispatcher (Dispatcher *dispatcher) | ||||||||
Removes the Audit information stored for a given MessageConsumer. More... | |||||||||
virtual const cms::ConnectionMetaData * | getMetaData () const | ||||||||
Gets the metadata for this connection.
| |||||||||
virtual cms::Session * | createSession () | ||||||||
Creates an AUTO_ACKNOWLEDGE Session.
| |||||||||
virtual std::string | getClientID () const | ||||||||
Get the Client Id for this session, the client Id is provider specific and is either assigned by the connection factory or set using the setClientID method.
| |||||||||
virtual void | setClientID (const std::string &clientID) | ||||||||
Sets the client identifier for this connection.The preferred way to assign a CMS client's client identifier is for it to be configured in a client-specific ConnectionFactory object and transparently assigned to the Connection object it creates.If a client sets the client identifier 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 client identifier is a programming error that should throw an IllegalStateException.
| |||||||||
virtual cms::Session * | createSession (cms::Session::AcknowledgeMode ackMode) | ||||||||
Creates a new Session to work for this Connection using the specified acknowledgment mode.
| |||||||||
virtual void | close () | ||||||||
Closes this connection as well as any Sessions created from it (and those Sessions' consumers and producers).
| |||||||||
virtual void | start () | ||||||||
Starts the service.
| |||||||||
virtual void | stop () | ||||||||
Stops this service.
| |||||||||
virtual cms::ExceptionListener * | getExceptionListener () const | ||||||||
Gets the registered Exception Listener for this connection.
| |||||||||
virtual void | setExceptionListener (cms::ExceptionListener *listener) | ||||||||
Sets the registered Exception Listener for this connection.
| |||||||||
virtual void | setMessageTransformer (cms::MessageTransformer *transformer) | ||||||||
Set an MessageTransformer instance that is passed on to all Session objects created from this Connection.The CMS code never takes ownership of the MessageTransformer pointer which implies that the client code must ensure that the object remains valid for the lifetime of the CMS object to which the MessageTransformer has been assigned.
| |||||||||
virtual cms::MessageTransformer * | getMessageTransformer () const | ||||||||
Gets the currently configured MessageTransformer for this Connection.
| |||||||||
virtual cms::DestinationSource * | getDestinationSource () | ||||||||
Returns the DestinationSource} object which can be used to listen to destinations being created or destroyed or to enquire about the current destinations available on the message Provider.
| |||||||||
void | setUsername (const std::string &username) | ||||||||
Sets the username that should be used when creating a new connection. More... | |||||||||
const std::string & | getUsername () const | ||||||||
Gets the username that this factory will use when creating a new connection instance. More... | |||||||||
void | setPassword (const std::string &password) | ||||||||
Sets the password that should be used when creating a new connection. More... | |||||||||
const std::string & | getPassword () const | ||||||||
Gets the password that this factory will use when creating a new connection instance. More... | |||||||||
void | setDefaultClientId (const std::string &clientId) | ||||||||
Sets the Client Id. More... | |||||||||
void | setBrokerURL (const std::string &brokerURL) | ||||||||
Sets the Broker URL that should be used when creating a new connection instance. More... | |||||||||
const std::string & | getBrokerURL () const | ||||||||
Gets the Broker URL that this factory will use when creating a new connection instance. More... | |||||||||
void | setPrefetchPolicy (PrefetchPolicy *policy) | ||||||||
Sets the PrefetchPolicy instance that this factory should use when it creates new Connection instances. More... | |||||||||
PrefetchPolicy * | getPrefetchPolicy () const | ||||||||
Gets the pointer to the current PrefetchPolicy that is in use by this ConnectionFactory. More... | |||||||||
void | setRedeliveryPolicy (RedeliveryPolicy *policy) | ||||||||
Sets the RedeliveryPolicy instance that this factory should use when it creates new Connection instances. More... | |||||||||
RedeliveryPolicy * | getRedeliveryPolicy () const | ||||||||
Gets the pointer to the current RedeliveryPolicy that is in use by this ConnectionFactory. More... | |||||||||
bool | isDispatchAsync () const | ||||||||
void | setDispatchAsync (bool value) | ||||||||
Should messages be dispatched synchronously or asynchronously from the producer thread for non-durable topics in the broker? For fast consumers set this to false. More... | |||||||||
bool | isAlwaysSyncSend () const | ||||||||
Gets if the Connection should always send things Synchronously. More... | |||||||||
void | setAlwaysSyncSend (bool value) | ||||||||
Sets if the Connection should always send things Synchronously. More... | |||||||||
bool | isUseAsyncSend () const | ||||||||
Gets if the useAsyncSend option is set. More... | |||||||||
void | setUseAsyncSend (bool value) | ||||||||
Sets the useAsyncSend option. More... | |||||||||
bool | isUseCompression () const | ||||||||
Gets if the Connection is configured for Message body compression. More... | |||||||||
void | setUseCompression (bool value) | ||||||||
Sets whether Message body compression is enabled. More... | |||||||||
void | setCompressionLevel (int value) | ||||||||
Sets the Compression level used when Message body compression is enabled, a value of -1 causes the Compression Library to use the default setting which is a balance of speed and compression. More... | |||||||||
int | getCompressionLevel () const | ||||||||
Gets the currently configured Compression level for Message bodies. More... | |||||||||
unsigned int | getSendTimeout () const | ||||||||
Gets the assigned send timeout for this Connector. More... | |||||||||
void | setSendTimeout (unsigned int timeout) | ||||||||
Sets the send timeout to use when sending Message objects, this will cause all messages to be sent using a Synchronous request is non-zero. More... | |||||||||
unsigned int | getCloseTimeout () const | ||||||||
Gets the assigned close timeout for this Connector. More... | |||||||||
void | setCloseTimeout (unsigned int timeout) | ||||||||
Sets the close timeout to use when sending the disconnect request. More... | |||||||||
unsigned int | getProducerWindowSize () const | ||||||||
Gets the configured producer window size for Producers that are created from this connector. More... | |||||||||
void | setProducerWindowSize (unsigned int windowSize) | ||||||||
Sets the size in Bytes of messages that a producer can send before it is blocked to await a ProducerAck from the broker that frees enough memory to allow another message to be sent. More... | |||||||||
bool | isMessagePrioritySupported () const | ||||||||
void | setMessagePrioritySupported (bool value) | ||||||||
Set whether or not this factory should create Connection objects with the Message priority support function enabled. More... | |||||||||
long long | getNextTempDestinationId () | ||||||||
Get the Next Temporary Destination Id. More... | |||||||||
long long | getNextLocalTransactionId () | ||||||||
Get the Next Temporary Destination Id. More... | |||||||||
bool | isWatchTopicAdvisories () const | ||||||||
Is the Connection configured to watch for advisory messages to maintain state of temporary destination create and destroy. More... | |||||||||
void | setWatchTopicAdvisories (bool value) | ||||||||
Sets whether this Connection is listening for advisory messages regarding temporary destination creation and deletion. More... | |||||||||
int | getAuditDepth () const | ||||||||
Get the audit depth for Messages for consumers when using a fault tolerant transport. More... | |||||||||
void | setAuditDepth (int auditDepth) | ||||||||
Set the audit depth for Messages for consumers when using a fault tolerant transport. More... | |||||||||
int | getAuditMaximumProducerNumber () const | ||||||||
The number of Producers that will be audited. More... | |||||||||
void | setAuditMaximumProducerNumber (int auditMaximumProducerNumber) | ||||||||
The number of Producers that will be audited. More... | |||||||||
bool | isCheckForDuplicates () const | ||||||||
Gets the value of the configured Duplicate Message detection feature. More... | |||||||||
void | setCheckForDuplicates (bool checkForDuplicates) | ||||||||
Gets the value of the configured Duplicate Message detection feature. More... | |||||||||
bool | isTransactedIndividualAck () const | ||||||||
when true, submit individual transacted acks immediately rather than with transaction completion. More... | |||||||||
void | setTransactedIndividualAck (bool transactedIndividualAck) | ||||||||
when true, submit individual transacted acks immediately rather than with transaction completion. More... | |||||||||
bool | isNonBlockingRedelivery () const | ||||||||
Returns true if non-blocking redelivery of Messages is configured for Consumers that are rolled back or recovered. More... | |||||||||
void | setNonBlockingRedelivery (bool nonBlockingRedelivery) | ||||||||
When true a MessageConsumer will not stop Message delivery before re-delivering Messages from a rolled back transaction. More... | |||||||||
long long | getConsumerFailoverRedeliveryWaitPeriod () const | ||||||||
Gets the delay period for a consumer redelivery. More... | |||||||||
void | setConsumerFailoverRedeliveryWaitPeriod (long long value) | ||||||||
Sets the delay period for a consumer redelivery. More... | |||||||||
bool | isOptimizeAcknowledge () const | ||||||||
void | setOptimizeAcknowledge (bool optimizeAcknowledge) | ||||||||
Sets if Consumers are configured to use Optimized Acknowledge by default. More... | |||||||||
long long | getOptimizeAcknowledgeTimeOut () const | ||||||||
Gets the time between optimized ack batches in milliseconds. More... | |||||||||
void | setOptimizeAcknowledgeTimeOut (long long optimizeAcknowledgeTimeOut) | ||||||||
The max time in milliseconds between optimized ack batches. More... | |||||||||
long long | getOptimizedAckScheduledAckInterval () const | ||||||||
Gets the configured time interval that is used to force all MessageConsumers that have optimizedAcknowledge enabled to send an ack for any outstanding Message Acks. More... | |||||||||
void | setOptimizedAckScheduledAckInterval (long long optimizedAckScheduledAckInterval) | ||||||||
Sets the amount of time between scheduled sends of any outstanding Message Acks for consumers that have been configured with optimizeAcknowledge enabled. More... | |||||||||
bool | isUseRetroactiveConsumer () const | ||||||||
Should all created consumers be retroactive. More... | |||||||||
void | setUseRetroactiveConsumer (bool useRetroactiveConsumer) | ||||||||
Sets whether or not retroactive consumers are enabled. More... | |||||||||
bool | isExclusiveConsumer () const | ||||||||
Should all created consumers be exclusive. More... | |||||||||
void | setExclusiveConsumer (bool exclusiveConsumer) | ||||||||
Enables or disables whether or not queue consumers should be exclusive or not for example to preserve ordering when not using Message Groups. More... | |||||||||
bool | isSendAcksAsync () const | ||||||||
Returns whether Message acknowledgments are sent asynchronously meaning no response is required from the broker before the ack completes. More... | |||||||||
void | setSendAcksAsync (bool sendAcksAsync) | ||||||||
Sets whether Message acknowledgments are sent asynchronously meaning no response is required from the broker before the ack completes. More... | |||||||||
bool | isAlwaysSessionAsync () const | ||||||||
void | setAlwaysSessionAsync (bool alwaysSessionAsync) | ||||||||
If this flag is not set then a separate thread is not used for dispatching messages for each Session in the Connection. More... | |||||||||
bool | isConsumerExpiryCheckEnabled () | ||||||||
void | setConsumerExpiryCheckEnabled (bool consumerExpiryCheckEnabled) | ||||||||
Configures whether this consumer will perform message expiration processing on all incoming messages. More... | |||||||||
int | getProtocolVersion () const | ||||||||
void | addTransportListener (transport::TransportListener *transportListener) | ||||||||
Adds a transport listener so that a client can be notified of events in the underlying transport, client's are always notified after the event has been processed by the Connection class. More... | |||||||||
void | removeTransportListener (transport::TransportListener *transportListener) | ||||||||
Removes a registered TransportListener from the Connection's set of Transport listeners, this listener will no longer receive any Transport related events. More... | |||||||||
virtual void | onCommand (const Pointer< commands::Command > command) | ||||||||
Event handler for the receipt of a non-response command from the transport. More... | |||||||||
virtual void | onException (const decaf::lang::Exception &ex) | ||||||||
Event handler for an exception from a command transport. More... | |||||||||
virtual void | transportInterrupted () | ||||||||
The transport has suffered an interruption from which it hopes to recover. More... | |||||||||
virtual void | transportResumed () | ||||||||
The transport has resumed after an interruption. More... | |||||||||
const commands::ConnectionInfo & | getConnectionInfo () const | ||||||||
Gets the ConnectionInfo for this Object, if the Connection is not open than this method throws an exception. More... | |||||||||
const commands::ConnectionId & | getConnectionId () const | ||||||||
Gets the ConnectionId for this Object, if the Connection is not open than this method throws an exception. More... | |||||||||
transport::Transport & | getTransport () const | ||||||||
Gets a reference to this object's Transport instance. More... | |||||||||
Pointer< threads::Scheduler > | getScheduler () const | ||||||||
Gets a reference to the Connection objects built in Scheduler instance. More... | |||||||||
std::string | getResourceManagerId () const | ||||||||
Returns the Id of the Resource Manager that this client will use should it be entered into an XA Transaction. More... | |||||||||
void | cleanup () | ||||||||
Clean up this connection object, reseting it back to a state that mirrors what a newly created ActiveMQConnection object has. More... | |||||||||
void | oneway (Pointer< commands::Command > command) | ||||||||
Sends a message without request that the broker send a response to indicate that it was received. More... | |||||||||
Pointer< commands::Response > | syncRequest (Pointer< commands::Command > command, unsigned int timeout=0) | ||||||||
Sends a synchronous request and returns the response from the broker. More... | |||||||||
void | asyncRequest (Pointer< commands::Command > command, cms::AsyncCallback *onComplete) | ||||||||
Sends a synchronous request and returns the response from the broker. More... | |||||||||
virtual void | fire (const exceptions::ActiveMQException &ex) | ||||||||
Notify the exception listener. More... | |||||||||
void | setTransportInterruptionProcessingComplete () | ||||||||
Indicates that a Connection resource that is processing the transportInterrupted event has completed. More... | |||||||||
void | setFirstFailureError (decaf::lang::Exception *error) | ||||||||
Sets the pointer to the first exception that caused the Connection to become failed. More... | |||||||||
decaf::lang::Exception * | getFirstFailureError () const | ||||||||
Gets the pointer to the first exception that caused the Connection to become failed. More... | |||||||||
void | onAsyncException (const decaf::lang::Exception &ex) | ||||||||
Event handler for dealing with async exceptions. More... | |||||||||
void | onClientInternalException (const decaf::lang::Exception &ex) | ||||||||
Handles async client internal exceptions which don't usually affect the connection itself. More... | |||||||||
void | checkClosed () const | ||||||||
Check for Closed State and Throw an exception if true. More... | |||||||||
void | checkClosedOrFailed () const | ||||||||
Check for Closed State and Failed State and Throw an exception if either is true. More... | |||||||||
void | ensureConnectionInfoSent () | ||||||||
If its not been sent, then send the ConnectionInfo to the Broker. More... | |||||||||
decaf::util::concurrent::ExecutorService * | getExecutor () const | ||||||||
void | addTempDestination (Pointer< commands::ActiveMQTempDestination > destination) | ||||||||
Adds the given Temporary Destination to this Connections collection of known Temporary Destinations. More... | |||||||||
void | removeTempDestination (Pointer< commands::ActiveMQTempDestination > destination) | ||||||||
Removes the given Temporary Destination to this Connections collection of known Temporary Destinations. More... | |||||||||
void | deleteTempDestination (Pointer< commands::ActiveMQTempDestination > destination) | ||||||||
Removes the given Temporary Destination to this Connections collection of known Temporary Destinations. More... | |||||||||
void | cleanUpTempDestinations () | ||||||||
Removes any TempDestinations that this connection has cached, ignoring any exceptions generated because the destination is in use as they should not be removed. More... | |||||||||
bool | isDeleted (Pointer< commands::ActiveMQTempDestination > destination) const | ||||||||
Determines whether the supplied Temporary Destination has already been deleted from the Broker. More... | |||||||||
decaf::util::ArrayList < Pointer < activemq::core::kernels::ActiveMQSessionKernel > > | getSessions () const | ||||||||
Returns an ArrayList that contains a copy of all Sessions that are currently active in the Connection. More... | |||||||||
Public Member Functions inherited from cms::EnhancedConnection | |||||||||
virtual | ~EnhancedConnection () | ||||||||
Public Member Functions inherited from cms::Connection | |||||||||
virtual | ~Connection () | ||||||||
Public Member Functions inherited from cms::Startable | |||||||||
virtual | ~Startable () | ||||||||
Public Member Functions inherited from cms::Stoppable | |||||||||
virtual | ~Stoppable () | ||||||||
Public Member Functions inherited from cms::Closeable | |||||||||
virtual | ~Closeable () | ||||||||
Public Member Functions inherited from activemq::transport::TransportListener | |||||||||
virtual | ~TransportListener () | ||||||||
Protected Member Functions | |
virtual Pointer < commands::SessionId > | getNextSessionId () |
void | disconnect (long long lastDeliveredSequenceId) |
void | waitForTransportInterruptionProcessingToComplete () |
void | signalInterruptionProcessingComplete () |
const decaf::util::Properties & | getProperties () const |
void | onWireFormatInfo (Pointer< commands::Command > command) |
void | onControlCommand (Pointer< commands::Command > command) |
void | onConnectionControl (Pointer< commands::Command > command) |
void | onConsumerControl (Pointer< commands::Command > command) |
Concrete connection used for all connectors to the ActiveMQ broker.
activemq::core::ActiveMQConnection::ActiveMQConnection | ( | const Pointer< transport::Transport > | transport, |
const Pointer< decaf::util::Properties > | properties | ||
) |
Constructor.
transport | The Transport requested for this connection to the Broker. |
properties | The Properties that were defined for this connection |
|
virtual |
|
virtual |
Adds a dispatcher for a consumer.
consumer | - The consumer for which to register a dispatcher. |
dispatcher | - The dispatcher to handle incoming messages for the consumer. |
CMSException | if an error occurs while removing performing the operation. |
|
virtual |
Adds an active Producer to the Set of known producers.
producer | The Producer to add from the the known set. |
CMSException | if an error occurs while removing performing the operation. |
|
virtual |
Adds the session resources for the given session instance.
session | The session to be added to this connection. |
CMSException | if an error occurs while removing performing the operation. |
void activemq::core::ActiveMQConnection::addTempDestination | ( | Pointer< commands::ActiveMQTempDestination > | destination | ) |
Adds the given Temporary Destination to this Connections collection of known Temporary Destinations.
destination | The temporary destination that this connection should track. |
void activemq::core::ActiveMQConnection::addTransportListener | ( | transport::TransportListener * | transportListener | ) |
Adds a transport listener so that a client can be notified of events in the underlying transport, client's are always notified after the event has been processed by the Connection class.
Client's should ensure that the registered listener does not block or take a long amount of time to execute in order to not degrade performance of this Connection.
transportListener | The TransportListener instance to add to this Connection's set of listeners to notify of Transport events. |
void activemq::core::ActiveMQConnection::asyncRequest | ( | Pointer< commands::Command > | command, |
cms::AsyncCallback * | onComplete | ||
) |
Sends a synchronous request and returns the response from the broker.
This method converts any error responses it receives into an exception.
command | The Command object that is to be sent to the broker. |
onComplete | Completion callback that will be notified on send success or failure. |
BrokerException | if the response from the broker is of type ExceptionResponse. |
ActiveMQException | if any other error occurs while sending the Command. |
void activemq::core::ActiveMQConnection::checkClosed | ( | ) | const |
Check for Closed State and Throw an exception if true.
CMSException | if the Connection is closed. |
void activemq::core::ActiveMQConnection::checkClosedOrFailed | ( | ) | const |
Check for Closed State and Failed State and Throw an exception if either is true.
CMSException | if the Connection is closed or failed. |
void activemq::core::ActiveMQConnection::cleanup | ( | ) |
Clean up this connection object, reseting it back to a state that mirrors what a newly created ActiveMQConnection object has.
void activemq::core::ActiveMQConnection::cleanUpTempDestinations | ( | ) |
Removes any TempDestinations that this connection has cached, ignoring any exceptions generated because the destination is in use as they should not be removed.
This method is useful for Connection pools that retain connection objects for long durations and want to periodically purge old temporary destination instances this connection is tracking.
|
virtual |
Closes this connection as well as any Sessions created from it (and those Sessions' consumers and producers).
CMSException |
Implements cms::Connection.
|
virtual |
|
virtual |
Creates a new Session to work for this Connection using the specified acknowledgment mode.
ackMode | the Acknowledgment Mode to use. |
CMSException |
Implements cms::Connection.
Reimplemented in activemq::core::ActiveMQXAConnection.
void activemq::core::ActiveMQConnection::deleteTempDestination | ( | Pointer< commands::ActiveMQTempDestination > | destination | ) |
Removes the given Temporary Destination to this Connections collection of known Temporary Destinations.
destination | The temporary destination that this connection should remove from the Broker. |
CMSException | if the temporary destination is in use by an active Session. |
|
virtual |
Requests that the Broker removes the given Destination.
Calling this method implies that the client is finished with the Destination and that no other messages will be sent or received for the given Destination. The Broker frees all resources it has associated with this Destination.
destination | The Destination the Broker will be requested to remove. |
NullPointerException | If the passed Destination is Null |
IllegalStateException | If the connection is closed. |
UnsupportedOperationException | If the wire format in use does not support this operation. |
ActiveMQException | If any other error occurs during the attempt to destroy the destination. |
|
virtual |
Requests that the Broker removes the given Destination.
Calling this method implies that the client is finished with the Destination and that no other messages will be sent or received for the given Destination. The Broker frees all resources it has associated with this Destination.
destination | The CMS Destination the Broker will be requested to remove. |
NullPointerException | If the passed Destination is Null |
IllegalStateException | If the connection is closed. |
UnsupportedOperationException | If the wire format in use does not support this operation. |
ActiveMQException | If any other error occurs during the attempt to destroy the destination. |
|
protected |
void activemq::core::ActiveMQConnection::ensureConnectionInfoSent | ( | ) |
If its not been sent, then send the ConnectionInfo to the Broker.
|
virtual |
Notify the exception listener.
ex | the exception to fire |
int activemq::core::ActiveMQConnection::getAuditDepth | ( | ) | const |
Get the audit depth for Messages for consumers when using a fault tolerant transport.
The higher the value the more messages are checked for duplication, and the larger the performance impact of duplicate detection will be.
int activemq::core::ActiveMQConnection::getAuditMaximumProducerNumber | ( | ) | const |
The number of Producers that will be audited.
const std::string& activemq::core::ActiveMQConnection::getBrokerURL | ( | ) | const |
Gets the Broker URL that this factory will use when creating a new connection instance.
|
virtual |
Get the Client Id for this session, the client Id is provider specific and is either assigned by the connection factory or set using the setClientID method.
CMSException | if the provider fails to return the client id or an internal error occurs. |
Implements cms::Connection.
unsigned int activemq::core::ActiveMQConnection::getCloseTimeout | ( | ) | const |
Gets the assigned close timeout for this Connector.
int activemq::core::ActiveMQConnection::getCompressionLevel | ( | ) | const |
Gets the currently configured Compression level for Message bodies.
const commands::ConnectionId& activemq::core::ActiveMQConnection::getConnectionId | ( | ) | const |
Gets the ConnectionId for this Object, if the Connection is not open than this method throws an exception.
ActiveMQException | if an error occurs while performing this operation. |
const commands::ConnectionInfo& activemq::core::ActiveMQConnection::getConnectionInfo | ( | ) | const |
Gets the ConnectionInfo for this Object, if the Connection is not open than this method throws an exception.
ActiveMQException | if an error occurs while performing this operation. |
long long activemq::core::ActiveMQConnection::getConsumerFailoverRedeliveryWaitPeriod | ( | ) | const |
Gets the delay period for a consumer redelivery.
|
virtual |
Returns the DestinationSource} object which can be used to listen to destinations being created or destroyed or to enquire about the current destinations available on the message Provider.
CMSException | if an error occurs while creating the destination source. |
Implements cms::EnhancedConnection.
|
virtual |
Gets the registered Exception Listener for this connection.
Implements cms::Connection.
decaf::util::concurrent::ExecutorService* activemq::core::ActiveMQConnection::getExecutor | ( | ) | const |
decaf::lang::Exception* activemq::core::ActiveMQConnection::getFirstFailureError | ( | ) | const |
Gets the pointer to the first exception that caused the Connection to become failed.
|
virtual |
Gets the currently configured MessageTransformer for this Connection.
Implements cms::Connection.
|
inlinevirtual |
Gets the metadata for this connection.
CMSException | if the provider fails to get the connection metadata for this connection. |
Implements cms::Connection.
long long activemq::core::ActiveMQConnection::getNextLocalTransactionId | ( | ) |
Get the Next Temporary Destination Id.
|
protectedvirtual |
long long activemq::core::ActiveMQConnection::getNextTempDestinationId | ( | ) |
Get the Next Temporary Destination Id.
long long activemq::core::ActiveMQConnection::getOptimizeAcknowledgeTimeOut | ( | ) | const |
Gets the time between optimized ack batches in milliseconds.
long long activemq::core::ActiveMQConnection::getOptimizedAckScheduledAckInterval | ( | ) | const |
Gets the configured time interval that is used to force all MessageConsumers that have optimizedAcknowledge enabled to send an ack for any outstanding Message Acks.
By default this value is set to zero meaning that the consumers will not do any background Message acknowledgment.
const std::string& activemq::core::ActiveMQConnection::getPassword | ( | ) | const |
Gets the password that this factory will use when creating a new connection instance.
PrefetchPolicy* activemq::core::ActiveMQConnection::getPrefetchPolicy | ( | ) | const |
Gets the pointer to the current PrefetchPolicy that is in use by this ConnectionFactory.
unsigned int activemq::core::ActiveMQConnection::getProducerWindowSize | ( | ) | const |
Gets the configured producer window size for Producers that are created from this connector.
This only applies if there is no send timeout and the producer is able to send asynchronously.
|
protected |
int activemq::core::ActiveMQConnection::getProtocolVersion | ( | ) | const |
RedeliveryPolicy* activemq::core::ActiveMQConnection::getRedeliveryPolicy | ( | ) | const |
Gets the pointer to the current RedeliveryPolicy that is in use by this ConnectionFactory.
std::string activemq::core::ActiveMQConnection::getResourceManagerId | ( | ) | const |
Returns the Id of the Resource Manager that this client will use should it be entered into an XA Transaction.
Pointer<threads::Scheduler> activemq::core::ActiveMQConnection::getScheduler | ( | ) | const |
Gets a reference to the Connection objects built in Scheduler instance.
unsigned int activemq::core::ActiveMQConnection::getSendTimeout | ( | ) | const |
Gets the assigned send timeout for this Connector.
decaf::util::ArrayList< Pointer<activemq::core::kernels::ActiveMQSessionKernel> > activemq::core::ActiveMQConnection::getSessions | ( | ) | const |
Returns an ArrayList that contains a copy of all Sessions that are currently active in the Connection.
transport::Transport& activemq::core::ActiveMQConnection::getTransport | ( | ) | const |
Gets a reference to this object's Transport instance.
const std::string& activemq::core::ActiveMQConnection::getUsername | ( | ) | const |
Gets the username that this factory will use when creating a new connection instance.
bool activemq::core::ActiveMQConnection::isAlwaysSessionAsync | ( | ) | const |
bool activemq::core::ActiveMQConnection::isAlwaysSyncSend | ( | ) | const |
Gets if the Connection should always send things Synchronously.
bool activemq::core::ActiveMQConnection::isCheckForDuplicates | ( | ) | const |
Gets the value of the configured Duplicate Message detection feature.
When enabled and a fault tolerant transport is used (think failover) then this feature will help to detect and filter duplicate messages that might otherwise be delivered to a consumer after a connection failure.
Disabling this can increase performance since no Message auditing will occur.
|
inline |
Checks if this connection has been closed.
bool activemq::core::ActiveMQConnection::isConsumerExpiryCheckEnabled | ( | ) |
bool activemq::core::ActiveMQConnection::isDeleted | ( | Pointer< commands::ActiveMQTempDestination > | destination | ) | const |
Determines whether the supplied Temporary Destination has already been deleted from the Broker.
If watchTopicAdvisories is disabled this method will always return false.
bool activemq::core::ActiveMQConnection::isDispatchAsync | ( | ) | const |
bool activemq::core::ActiveMQConnection::isDuplicate | ( | Dispatcher * | dispatcher, |
Pointer< commands::Message > | message | ||
) |
Allows Consumers to check if an incoming Message is a Duplicate.
dispatcher | The Dispatcher that is checking the Message for Duplication. |
message | The Message that should be checked. |
bool activemq::core::ActiveMQConnection::isExclusiveConsumer | ( | ) | const |
Should all created consumers be exclusive.
bool activemq::core::ActiveMQConnection::isMessagePrioritySupported | ( | ) | const |
bool activemq::core::ActiveMQConnection::isNonBlockingRedelivery | ( | ) | const |
Returns true if non-blocking redelivery of Messages is configured for Consumers that are rolled back or recovered.
bool activemq::core::ActiveMQConnection::isOptimizeAcknowledge | ( | ) | const |
bool activemq::core::ActiveMQConnection::isSendAcksAsync | ( | ) | const |
Returns whether Message acknowledgments are sent asynchronously meaning no response is required from the broker before the ack completes.
|
inline |
Check if this connection has been started.
bool activemq::core::ActiveMQConnection::isTransactedIndividualAck | ( | ) | const |
when true, submit individual transacted acks immediately rather than with transaction completion.
This allows the acks to represent delivery status which can be persisted on rollback Used in conjunction with KahaDB set to Rewrite On Redelivery.
|
inline |
Checks if the Connection's Transport has failed.
bool activemq::core::ActiveMQConnection::isUseAsyncSend | ( | ) | const |
Gets if the useAsyncSend option is set.
bool activemq::core::ActiveMQConnection::isUseCompression | ( | ) | const |
Gets if the Connection is configured for Message body compression.
bool activemq::core::ActiveMQConnection::isUseRetroactiveConsumer | ( | ) | const |
Should all created consumers be retroactive.
bool activemq::core::ActiveMQConnection::isWatchTopicAdvisories | ( | ) | const |
Is the Connection configured to watch for advisory messages to maintain state of temporary destination create and destroy.
void activemq::core::ActiveMQConnection::onAsyncException | ( | const decaf::lang::Exception & | ex | ) |
Event handler for dealing with async exceptions.
ex | The exception that caused the error condition. |
void activemq::core::ActiveMQConnection::onClientInternalException | ( | const decaf::lang::Exception & | ex | ) |
Handles async client internal exceptions which don't usually affect the connection itself.
These are reported but do not shutdown the Connection.
error | the exception that the problem |
|
virtual |
Event handler for the receipt of a non-response command from the transport.
command | the received command object. |
Implements activemq::transport::TransportListener.
|
protected |
|
protected |
|
protected |
void activemq::core::ActiveMQConnection::oneway | ( | Pointer< commands::Command > | command | ) |
Sends a message without request that the broker send a response to indicate that it was received.
command | The Command object to send to the Broker. |
ActiveMQException | if not currently connected, or if the operation fails for any reason. |
|
virtual |
Event handler for an exception from a command transport.
ex | The exception. |
Implements activemq::transport::TransportListener.
|
protected |
void activemq::core::ActiveMQConnection::removeAuditedDispatcher | ( | Dispatcher * | dispatcher | ) |
Removes the Audit information stored for a given MessageConsumer.
dispatcher | The Dispatcher instance that has received the Message. |
|
virtual |
Removes the dispatcher for a consumer.
consumer | - The consumer for which to remove the dispatcher. |
CMSException | if an error occurs while removing performing the operation. |
|
virtual |
Removes an active Producer to the Set of known producers.
producerId | - The ProducerId to remove from the the known set. |
CMSException | if an error occurs while removing performing the operation. |
|
virtual |
Removes the session resources for the given session instance.
session | The session to be unregistered from this connection. |
CMSException | if an error occurs while removing performing the operation. |
void activemq::core::ActiveMQConnection::removeTempDestination | ( | Pointer< commands::ActiveMQTempDestination > | destination | ) |
Removes the given Temporary Destination to this Connections collection of known Temporary Destinations.
destination | The temporary destination that this connection should stop tracking. |
void activemq::core::ActiveMQConnection::removeTransportListener | ( | transport::TransportListener * | transportListener | ) |
Removes a registered TransportListener from the Connection's set of Transport listeners, this listener will no longer receive any Transport related events.
The caller is responsible for freeing the listener in all cases.
transportListener | The pointer to the TransportListener to remove from the set of listeners. |
void activemq::core::ActiveMQConnection::rollbackDuplicate | ( | Dispatcher * | dispatcher, |
Pointer< commands::Message > | message | ||
) |
Mark message as received.
dispatcher | The Dispatcher instance that has received the Message. |
message | The Message that has been received. |
|
virtual |
If supported sends a message pull request to the service provider asking for the delivery of a new message.
This is used in the case where the service provider has been configured with a zero prefetch or is only capable of delivering messages on a pull basis.
consumer | - the ConsumerInfo for the requesting Consumer. |
timeout | - the time that the client is willing to wait. |
ActiveMQException | if an error occurs while removing performing the operation. |
void activemq::core::ActiveMQConnection::setAlwaysSessionAsync | ( | bool | alwaysSessionAsync | ) |
If this flag is not set then a separate thread is not used for dispatching messages for each Session in the Connection.
However, a separate thread is always used if there is more than one session, or the session isn't in auto acknowledge or duplicates ok mode. By default this value is set to true and session dispatch happens asynchronously.
void activemq::core::ActiveMQConnection::setAlwaysSyncSend | ( | bool | value | ) |
Sets if the Connection should always send things Synchronously.
value | true if sends should always be Synchronous. |
void activemq::core::ActiveMQConnection::setAuditDepth | ( | int | auditDepth | ) |
Set the audit depth for Messages for consumers when using a fault tolerant transport.
The higher the value the more messages are checked for duplication, and the larger the performance impact of duplicate detection will be.
auditDepth | The configured audit depth. |
void activemq::core::ActiveMQConnection::setAuditMaximumProducerNumber | ( | int | auditMaximumProducerNumber | ) |
The number of Producers that will be audited.
auditMaximumProducerNumber | The configured number of producers to include in the audit. |
void activemq::core::ActiveMQConnection::setBrokerURL | ( | const std::string & | brokerURL | ) |
Sets the Broker URL that should be used when creating a new connection instance.
brokerURL | string |
void activemq::core::ActiveMQConnection::setCheckForDuplicates | ( | bool | checkForDuplicates | ) |
Gets the value of the configured Duplicate Message detection feature.
When enabled and a fault tolerant transport is used (think failover) then this feature will help to detect and filter duplicate messages that might otherwise be delivered to a consumer after a connection failure.
Disabling this can increase performance since no Message auditing will occur.
checkForDuplicates | The checkForDuplicates value to be configured. |
|
virtual |
Sets the client identifier for this connection.The preferred way to assign a CMS client's client identifier is for it to be configured in a client-specific ConnectionFactory object and transparently assigned to the Connection object it creates.If a client sets the client identifier 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 client identifier is a programming error that should throw an IllegalStateException.
clientID | The unique client identifier to assign to the Connection. |
CMSException | if the provider fails to set the client id due to some internal error. |
InvalidClientIDException | if the id given is somehow invalid or is a duplicate. |
IllegalStateException | if the client tries to set the id after a Connection method has been called. |
Implements cms::Connection.
void activemq::core::ActiveMQConnection::setCloseTimeout | ( | unsigned int | timeout | ) |
Sets the close timeout to use when sending the disconnect request.
timeout | - The time to wait for a close message. |
void activemq::core::ActiveMQConnection::setCompressionLevel | ( | int | value | ) |
Sets the Compression level used when Message body compression is enabled, a value of -1 causes the Compression Library to use the default setting which is a balance of speed and compression.
The range of compression levels is [0..9] where 0 indicates best speed and 9 indicates best compression.
value | A signed int value that controls the compression level. |
void activemq::core::ActiveMQConnection::setConsumerExpiryCheckEnabled | ( | bool | consumerExpiryCheckEnabled | ) |
Configures whether this consumer will perform message expiration processing on all incoming messages.
This feature is enabled by default.
consumerExpiryCheckEnabled | False if the default message expiration checks should be disabled. |
void activemq::core::ActiveMQConnection::setConsumerFailoverRedeliveryWaitPeriod | ( | long long | value | ) |
Sets the delay period for a consumer redelivery.
value | The configured time delay in milliseconds. |
void activemq::core::ActiveMQConnection::setDefaultClientId | ( | const std::string & | clientId | ) |
Sets the Client Id.
clientId | - The new clientId value. |
void activemq::core::ActiveMQConnection::setDispatchAsync | ( | bool | value | ) |
Should messages be dispatched synchronously or asynchronously from the producer thread for non-durable topics in the broker? For fast consumers set this to false.
For slow consumers set it to true so that dispatching will not block fast consumers. .
value | The value of the dispatch asynchronously option sent to the broker. |
|
virtual |
Sets the registered Exception Listener for this connection.
listener | pointer to and ExceptionListener |
Implements cms::Connection.
void activemq::core::ActiveMQConnection::setExclusiveConsumer | ( | bool | exclusiveConsumer | ) |
Enables or disables whether or not queue consumers should be exclusive or not for example to preserve ordering when not using Message Groups.
exclusiveConsumer | The value of this configuration option. |
void activemq::core::ActiveMQConnection::setFirstFailureError | ( | decaf::lang::Exception * | error | ) |
Sets the pointer to the first exception that caused the Connection to become failed.
error | pointer to the exception instance that is to be the first failure error if the first error is already set this value is deleted. |
void activemq::core::ActiveMQConnection::setMessagePrioritySupported | ( | bool | value | ) |
Set whether or not this factory should create Connection objects with the Message priority support function enabled.
value | Boolean indicating if Message priority should be enabled. |
|
virtual |
Set an MessageTransformer instance that is passed on to all Session objects created from this Connection.The CMS code never takes ownership of the MessageTransformer pointer which implies that the client code must ensure that the object remains valid for the lifetime of the CMS object to which the MessageTransformer has been assigned.
transformer | Pointer to the cms::MessageTransformer to set on all newly created Session objects. |
Implements cms::Connection.
void activemq::core::ActiveMQConnection::setNonBlockingRedelivery | ( | bool | nonBlockingRedelivery | ) |
When true a MessageConsumer will not stop Message delivery before re-delivering Messages from a rolled back transaction.
This implies that message order will not be preserved and also will result in the TransactedIndividualAck option to be enabled.
nonBlockingRedelivery | The value to configure for non-blocking redelivery. |
void activemq::core::ActiveMQConnection::setOptimizeAcknowledge | ( | bool | optimizeAcknowledge | ) |
Sets if Consumers are configured to use Optimized Acknowledge by default.
optimizeAcknowledge | The optimizeAcknowledge mode to set. |
void activemq::core::ActiveMQConnection::setOptimizeAcknowledgeTimeOut | ( | long long | optimizeAcknowledgeTimeOut | ) |
The max time in milliseconds between optimized ack batches.
optimizeAcknowledgeTimeOut | The time in milliseconds for optimized ack batches. |
void activemq::core::ActiveMQConnection::setOptimizedAckScheduledAckInterval | ( | long long | optimizedAckScheduledAckInterval | ) |
Sets the amount of time between scheduled sends of any outstanding Message Acks for consumers that have been configured with optimizeAcknowledge enabled.
Time is given in Milliseconds.
optimizedAckScheduledAckInterval | The scheduledOptimizedAckInterval to use for new Consumers. |
void activemq::core::ActiveMQConnection::setPassword | ( | const std::string & | password | ) |
Sets the password that should be used when creating a new connection.
password | string |
void activemq::core::ActiveMQConnection::setPrefetchPolicy | ( | PrefetchPolicy * | policy | ) |
Sets the PrefetchPolicy instance that this factory should use when it creates new Connection instances.
The PrefetchPolicy passed becomes the property of the factory and will be deleted when the factory is destroyed.
policy | The new PrefetchPolicy that the ConnectionFactory should clone for Connections. |
void activemq::core::ActiveMQConnection::setProducerWindowSize | ( | unsigned int | windowSize | ) |
Sets the size in Bytes of messages that a producer can send before it is blocked to await a ProducerAck from the broker that frees enough memory to allow another message to be sent.
windowSize | - The size in bytes of the Producers memory window. |
void activemq::core::ActiveMQConnection::setRedeliveryPolicy | ( | RedeliveryPolicy * | policy | ) |
Sets the RedeliveryPolicy instance that this factory should use when it creates new Connection instances.
The RedeliveryPolicy passed becomes the property of the factory and will be deleted when the factory is destroyed.
policy | The new RedeliveryPolicy that the ConnectionFactory should clone for Connections. |
void activemq::core::ActiveMQConnection::setSendAcksAsync | ( | bool | sendAcksAsync | ) |
Sets whether Message acknowledgments are sent asynchronously meaning no response is required from the broker before the ack completes.
sendAcksAsync | The sendAcksAsync configuration value to set. |
void activemq::core::ActiveMQConnection::setSendTimeout | ( | unsigned int | timeout | ) |
Sets the send timeout to use when sending Message objects, this will cause all messages to be sent using a Synchronous request is non-zero.
timeout | - The time to wait for a response. |
void activemq::core::ActiveMQConnection::setTransactedIndividualAck | ( | bool | transactedIndividualAck | ) |
when true, submit individual transacted acks immediately rather than with transaction completion.
This allows the acks to represent delivery status which can be persisted on rollback Used in conjunction with KahaDB set to Rewrite On Redelivery.
transactedIndividualAck | The value to set. |
void activemq::core::ActiveMQConnection::setTransportInterruptionProcessingComplete | ( | ) |
Indicates that a Connection resource that is processing the transportInterrupted event has completed.
void activemq::core::ActiveMQConnection::setUseAsyncSend | ( | bool | value | ) |
Sets the useAsyncSend option.
value | - true to activate, false to disable. |
void activemq::core::ActiveMQConnection::setUseCompression | ( | bool | value | ) |
Sets whether Message body compression is enabled.
value | Boolean indicating if Message body compression is enabled. |
void activemq::core::ActiveMQConnection::setUseRetroactiveConsumer | ( | bool | useRetroactiveConsumer | ) |
Sets whether or not retroactive consumers are enabled.
Retroactive consumers allow non-durable topic subscribers to receive old messages that were published before the non-durable subscriber started.
useRetroactiveConsumer | The value of this configuration option. |
void activemq::core::ActiveMQConnection::setUsername | ( | const std::string & | username | ) |
Sets the username that should be used when creating a new connection.
username | string |
void activemq::core::ActiveMQConnection::setWatchTopicAdvisories | ( | bool | value | ) |
Sets whether this Connection is listening for advisory messages regarding temporary destination creation and deletion.
value | Boolean indicating if advisory message monitoring should be enabled. |
|
protected |
|
virtual |
Starts the service.
CMSException | if an internal error occurs while starting. |
Implements cms::Startable.
|
virtual |
Stops this service.
CMSException | - if an internal error occurs while stopping the Service. |
Implements cms::Stoppable.
Pointer<commands::Response> activemq::core::ActiveMQConnection::syncRequest | ( | Pointer< commands::Command > | command, |
unsigned int | timeout = 0 |
||
) |
Sends a synchronous request and returns the response from the broker.
This method converts any error responses it receives into an exception.
command | The Command object that is to be sent to the broker. |
timeout | The time in milliseconds to wait for a response, default is zero or infinite. |
BrokerException | if the response from the broker is of type ExceptionResponse. |
ActiveMQException | if any other error occurs while sending the Command. |
|
virtual |
The transport has suffered an interruption from which it hopes to recover.
Implements activemq::transport::TransportListener.
|
virtual |
The transport has resumed after an interruption.
Implements activemq::transport::TransportListener.
|
protected |