18#ifndef _ACTIVEMQ_CMSUTIL_SESSIONPOOL_H_
19#define _ACTIVEMQ_CMSUTIL_SESSIONPOOL_H_
31 class ResourceLifecycleManager;
48 std::list<PooledSession*> available;
50 std::list<PooledSession*> sessions;
99 return resourceLifecycleManager;
#define AMQCPP_API
Definition: Config.h:30
A pooled session object that wraps around a delegate session.
Definition: PooledSession.h:37
Manages the lifecycle of a set of CMS resources.
Definition: ResourceLifecycleManager.h:37
A pool of CMS sessions from the same connection and with the same acknowledge mode.
Definition: SessionPool.h:39
virtual ~SessionPool()
Destroys the pooled session objects, but not the underlying session resources.
virtual PooledSession * takeSession()
Takes a session from the pool, creating one if necessary.
virtual void returnSession(PooledSession *session)
Returns a session to the pool.
SessionPool(cms::Connection *connection, cms::Session::AcknowledgeMode ackMode, ResourceLifecycleManager *resourceLifecycleManager)
Constructs a session pool.
ResourceLifecycleManager * getResourceLifecycleManager()
Definition: SessionPool.h:98
The client's connection to its provider.
Definition: Connection.h:70
AcknowledgeMode
Definition: Session.h:108
Mutex object that offers recursive support on all platforms as well as providing the ability to use t...
Definition: Mutex.h:39
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition: CachedConsumer.h:24