org::xmlBlaster::util::queue::QueueFactory Class Reference

Abstraction for the queue implementations. More...

Collaboration diagram for org::xmlBlaster::util::queue::QueueFactory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ~QueueFactory ()
I_QueuegetPlugin (org::xmlBlaster::util::Global &global, org::xmlBlaster::util::qos::storage::QueuePropertyBase &property, std::string &type="", std::string &version="")
 Creates a queue implementation.
void releasePlugin (I_Queue *queueP)
 After calling this the queue argument in not usable anymore.

Static Public Member Functions

static QueueFactorygetFactory ()
 Static access to the factory.

Friends

class org::xmlBlaster::util::Global

Detailed Description

Abstraction for the queue implementations.

You may use this as the interface to implement your own persistent, RAM or cache based queues.

It is a singleton class and has for that reason private constructors, destructor and assignment operator. To get a reference to the singleton instance you must invoke getFactory(...).

Definition at line 27 of file QueueFactory.h.


Constructor & Destructor Documentation

org::xmlBlaster::util::queue::QueueFactory::~QueueFactory (  ) 

Definition at line 59 of file QueueFactory.cpp.


Member Function Documentation

QueueFactory & org::xmlBlaster::util::queue::QueueFactory::getFactory (  )  [static]

Static access to the factory.

Exceptions:
XmlBlasterException 

Definition at line 34 of file QueueFactory.cpp.

References org::xmlBlaster::util::Object_Lifetime_Manager::instance(), and org::xmlBlaster::util::Object_Lifetime_Manager::manage_object().

Referenced by org::xmlBlaster::util::queue::CacheQueuePlugin::CacheQueuePlugin(), org::xmlBlaster::test::TestQueue::destroyQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::flushQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::getQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queueConnect(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queuePublish(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queueSubscribe(), org::xmlBlaster::test::TestQueue::tearDown(), org::xmlBlaster::test::TestQueue::testMaxNumOfBytes(), org::xmlBlaster::test::TestQueue::testMaxNumOfEntries(), org::xmlBlaster::test::TestQueue::testOrder(), org::xmlBlaster::test::TestQueue::testWithOneConnectEntry(), org::xmlBlaster::test::TestQueue::testWithOnePublishEntry(), and org::xmlBlaster::util::queue::CacheQueuePlugin::~CacheQueuePlugin().

I_Queue& org::xmlBlaster::util::queue::QueueFactory::getPlugin ( org::xmlBlaster::util::Global global,
org::xmlBlaster::util::qos::storage::QueuePropertyBase property,
std::string &  type = "",
std::string &  version = "" 
)

Creates a queue implementation.

It is the responsibility of the user to delete the I_Queue object once it is not needed anymore by calling releasePlugin().

Parameters:
property The configuration settings
type The queue type, for example "RAM", "SQLite", if empty the setting from argument 'property' is used
version The queue version, defaults to "1.0", if empty the setting from argument 'property' is used
Exceptions:
XmlBlasterException,: "resource.configuration.pluginFailed" if plugin is not known or other errorCodes if it can't be initialized.

Referenced by org::xmlBlaster::util::queue::CacheQueuePlugin::CacheQueuePlugin(), org::xmlBlaster::test::TestQueue::destroyQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::flushQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::getQueue(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queueConnect(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queuePublish(), org::xmlBlaster::util::dispatch::ConnectionsHandler::queueSubscribe(), org::xmlBlaster::test::TestQueue::testMaxNumOfBytes(), org::xmlBlaster::test::TestQueue::testMaxNumOfEntries(), org::xmlBlaster::test::TestQueue::testOrder(), org::xmlBlaster::test::TestQueue::testWithOneConnectEntry(), and org::xmlBlaster::test::TestQueue::testWithOnePublishEntry().

void org::xmlBlaster::util::queue::QueueFactory::releasePlugin ( I_Queue queueP  ) 

After calling this the queue argument in not usable anymore.

Definition at line 95 of file QueueFactory.cpp.

Referenced by org::xmlBlaster::test::TestQueue::destroyQueue(), org::xmlBlaster::test::TestQueue::tearDown(), and org::xmlBlaster::util::queue::CacheQueuePlugin::~CacheQueuePlugin().


Friends And Related Function Documentation

friend class org::xmlBlaster::util::Global [friend]

Definition at line 28 of file QueueFactory.h.


The documentation for this class was generated from the following files: