activemq-cpp-3.9.5
ResourceLifecycleManager.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _ACTIVEMQ_CMSUTIL_RESOURCELIFECYCLEMANAGER_H_
19#define _ACTIVEMQ_CMSUTIL_RESOURCELIFECYCLEMANAGER_H_
20
21#include <cms/Connection.h>
22#include <cms/Session.h>
23#include <cms/Destination.h>
24#include <cms/MessageProducer.h>
25#include <cms/MessageConsumer.h>
28
29namespace activemq {
30namespace cmsutil {
31
38 private:
39
45
46 ConnectionList connections;
47 SessionList sessions;
48 DestinationList destinations;
49 ProducerList producers;
50 ConsumerList consumers;
51
52 protected:
53
56
57 public:
58
60
65
75 void addConnection(cms::Connection* connection);
76
86 void addSession(cms::Session* session);
87
98
109
120
126 void destroy();
127
133
134 };
135
136}}
137
138#endif /*_ACTIVEMQ_CMSUTIL_RESOURCELIFECYCLEMANAGER_H_*/
#define AMQCPP_API
Definition Config.h:30
void addSession(cms::Session *session)
Adds a session so that its life will be managed by this object.
void addDestination(cms::Destination *dest)
Adds a destination so that its life will be managed by this object.
void addMessageConsumer(cms::MessageConsumer *consumer)
Adds a message consumer so that its life will be managed by this object.
ResourceLifecycleManager(const ResourceLifecycleManager &)
void releaseAll()
Releases all of the contained resources so that this object will no longer control their lifetimes.
void addConnection(cms::Connection *connection)
Adds a connection so that its life will be managed by this object.
void destroy()
Closes and destroys the contained CMS resources.
void addMessageProducer(cms::MessageProducer *producer)
Adds a message producer so that its life will be managed by this object.
virtual ~ResourceLifecycleManager()
Destructor - calls destroy
ResourceLifecycleManager & operator=(const ResourceLifecycleManager &)
The client's connection to its provider.
Definition Connection.h:70
A Destination object encapsulates a provider-specific address.
Definition Destination.h:39
A client uses a MessageConsumer to received messages from a destination.
Definition MessageConsumer.h:63
A client uses a MessageProducer object to send messages to a Destination.
Definition MessageProducer.h:60
A Session object is a single-threaded context for producing and consuming messages.
Definition Session.h:105
A complete implementation of the List interface using a doubly linked list data structure.
Definition LinkedList.h:55
Definition CachedConsumer.h:25
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24