activemq-cpp-3.8.2
CachedConsumer.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_CACHEDCONSUMER_H_
19 #define _ACTIVEMQ_CMSUTIL_CACHEDCONSUMER_H_
20 
21 #include <cms/MessageConsumer.h>
22 #include <activemq/util/Config.h>
23 
24 namespace activemq {
25 namespace cmsutil {
26 
31  private:
32 
33  cms::MessageConsumer* consumer;
34 
35  private:
36 
38  CachedConsumer& operator=(const CachedConsumer&);
39 
40  public:
41 
43 
44  virtual ~CachedConsumer();
45 
50  virtual void close() {
51  // Do nothing.
52  }
53 
54  virtual void start() {
55  consumer->start();
56  }
57 
58  virtual void stop() {
59  consumer->stop();
60  }
61 
62  virtual cms::Message* receive() {
63  return consumer->receive();
64  }
65 
66  virtual cms::Message* receive(int millisecs) {
67  return consumer->receive(millisecs);
68  }
69 
71  return consumer->receiveNoWait();
72  }
73 
74  virtual void setMessageListener(cms::MessageListener* listener) {
75  consumer->setMessageListener(listener);
76  }
77 
79  return consumer->getMessageListener();
80  }
81 
82  virtual std::string getMessageSelector() const {
83  return consumer->getMessageSelector();
84  }
85 
87  consumer->setMessageAvailableListener(listener);
88  }
89 
91  return consumer->getMessageAvailableListener();
92  }
93 
94  virtual void setMessageTransformer(cms::MessageTransformer* transformer) {
95  consumer->setMessageTransformer(transformer);
96  }
97 
99  return consumer->getMessageTransformer();
100  }
101 
102  };
103 
104 }}
105 
106 #endif /*_ACTIVEMQ_CMSUTIL_CACHEDCONSUMER_H_*/
Provides an interface for clients to transform cms::Message objects inside the CMS MessageProducer an...
Definition: MessageTransformer.h:37
virtual void close()
Does nothing - the real producer resource will be closed by the lifecycle manager.
Definition: CachedConsumer.h:50
A cached message consumer contained within a pooled session.
Definition: CachedConsumer.h:30
Root of all messages.
Definition: Message.h:88
#define AMQCPP_API
Definition: Config.h:30
virtual void start()=0
Starts the service.
virtual cms::MessageTransformer * getMessageTransformer() const
Gets the currently configured MessageTransformer for this MessageConsumer.
Definition: CachedConsumer.h:98
virtual cms::Message * receiveNoWait()
Receive a Message, does not wait if there isn&#39;t a new message to read, returns NULL if nothing read...
Definition: CachedConsumer.h:70
virtual void setMessageListener(MessageListener *listener)=0
Sets the MessageListener that this class will send notifs on.
virtual Message * receive()=0
Synchronously Receive a Message.
virtual void stop()
Stops this service.
Definition: CachedConsumer.h:58
virtual std::string getMessageSelector() const =0
Gets this message consumer&#39;s message selector expression.
virtual void setMessageAvailableListener(cms::MessageAvailableListener *listener)=0
Sets the MessageAvailableListener that this class will send events to if the consumer is in synchrono...
virtual cms::Message * receive()
Synchronously Receive a Message.
Definition: CachedConsumer.h:62
virtual cms::MessageListener * getMessageListener() const
Gets the MessageListener that this class will send mew Message notification events to...
Definition: CachedConsumer.h:78
virtual MessageListener * getMessageListener() const =0
Gets the MessageListener that this class will send mew Message notification events to...
virtual void setMessageTransformer(cms::MessageTransformer *transformer)=0
Set an MessageTransformer instance that is applied to all cms::Message objects before they are dispat...
virtual std::string getMessageSelector() const
Gets this message consumer&#39;s message selector expression.
Definition: CachedConsumer.h:82
virtual void stop()=0
Stops this service.
virtual Message * receiveNoWait()=0
Receive a Message, does not wait if there isn&#39;t a new message to read, returns NULL if nothing read...
virtual cms::MessageAvailableListener * getMessageAvailableListener() const
Gets the MessageAvailableListener that this class will send mew Message notification events to...
Definition: CachedConsumer.h:90
virtual void setMessageAvailableListener(cms::MessageAvailableListener *listener)
Sets the MessageAvailableListener that this class will send events to if the consumer is in synchrono...
Definition: CachedConsumer.h:86
A client uses a MessageConsumer to received messages from a destination.
Definition: MessageConsumer.h:63
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: CachedConsumer.h:24
virtual void start()
Starts the service.
Definition: CachedConsumer.h:54
virtual cms::MessageTransformer * getMessageTransformer() const =0
Gets the currently configured MessageTransformer for this MessageConsumer.
A listener interface similar to the MessageListener interface.
Definition: MessageAvailableListener.h:33
virtual void setMessageListener(cms::MessageListener *listener)
Sets the MessageListener that this class will send notifs on.
Definition: CachedConsumer.h:74
virtual cms::Message * receive(int millisecs)
Synchronously Receive a Message, time out after defined interval.
Definition: CachedConsumer.h:66
virtual cms::MessageAvailableListener * getMessageAvailableListener() const =0
Gets the MessageAvailableListener that this class will send mew Message notification events to...
virtual void setMessageTransformer(cms::MessageTransformer *transformer)
Set an MessageTransformer instance that is applied to all cms::Message objects before they are dispat...
Definition: CachedConsumer.h:94
A MessageListener object is used to receive asynchronously delivered messages.
Definition: MessageListener.h:33