00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ACTIVEMQ_CMSUTIL_CACHEDPRODUCER_H_
00019 #define _ACTIVEMQ_CMSUTIL_CACHEDPRODUCER_H_
00020
00021 #include <cms/MessageProducer.h>
00022 #include <activemq/util/Config.h>
00023
00024 namespace activemq {
00025 namespace cmsutil {
00026
00030 class AMQCPP_API CachedProducer: public cms::MessageProducer {
00031 private:
00032
00033 cms::MessageProducer* producer;
00034
00035 private:
00036
00037 CachedProducer(const CachedProducer&);
00038 CachedProducer& operator=(const CachedProducer&);
00039
00040 public:
00041
00042 CachedProducer(cms::MessageProducer* producer);
00043
00044 virtual ~CachedProducer();
00045
00050 virtual void close() {
00051
00052 }
00053
00054 virtual void send(cms::Message* message) {
00055 producer->send(message);
00056 }
00057
00058 virtual void send(cms::Message* message, cms::AsyncCallback* onComplete) {
00059 producer->send(message, onComplete);
00060 }
00061
00062 virtual void send(cms::Message* message, int deliveryMode, int priority, long long timeToLive) {
00063 producer->send(message, deliveryMode, priority, timeToLive);
00064 }
00065
00066 virtual void send(cms::Message* message, int deliveryMode, int priority, long long timeToLive, cms::AsyncCallback* onComplete) {
00067 producer->send(message, deliveryMode, priority, timeToLive, onComplete);
00068 }
00069
00070 virtual void send(const cms::Destination* destination, cms::Message* message) {
00071 producer->send(destination, message);
00072 }
00073
00074 virtual void send(const cms::Destination* destination, cms::Message* message, cms::AsyncCallback* onComplete) {
00075 producer->send(destination, message, onComplete);
00076 }
00077
00078 virtual void send(const cms::Destination* destination, cms::Message* message, int deliveryMode, int priority, long long timeToLive) {
00079 producer->send(destination, message, deliveryMode, priority, timeToLive);
00080 }
00081
00082 virtual void send(const cms::Destination* destination, cms::Message* message, int deliveryMode, int priority, long long timeToLive, cms::AsyncCallback* onComplete) {
00083 producer->send(destination, message, deliveryMode, priority, timeToLive, onComplete);
00084 }
00085
00086 virtual void setDeliveryMode(int mode) {
00087 producer->setDeliveryMode(mode);
00088 }
00089
00090 virtual int getDeliveryMode() const {
00091 return producer->getDeliveryMode();
00092 }
00093
00094 virtual void setDisableMessageID(bool value) {
00095 producer->setDisableMessageID(value);
00096 }
00097
00098 virtual bool getDisableMessageID() const {
00099 return producer->getDisableMessageID();
00100 }
00101
00102 virtual void setDisableMessageTimeStamp(bool value) {
00103 producer->setDisableMessageTimeStamp(value);
00104 }
00105
00106 virtual bool getDisableMessageTimeStamp() const {
00107 return producer->getDisableMessageTimeStamp();
00108 }
00109
00110 virtual void setPriority(int priority) {
00111 producer->setPriority(priority);
00112 }
00113
00114 virtual int getPriority() const {
00115 return producer->getPriority();
00116 }
00117
00118 virtual void setTimeToLive(long long time) {
00119 producer->setTimeToLive(time);
00120 }
00121
00122 virtual long long getTimeToLive() const {
00123 return producer->getTimeToLive();
00124 }
00125
00126 virtual void setMessageTransformer(cms::MessageTransformer* transformer) {
00127 producer->setMessageTransformer(transformer);
00128 }
00129
00130 virtual cms::MessageTransformer* getMessageTransformer() const {
00131 return producer->getMessageTransformer();
00132 }
00133
00134 };
00135
00136 }}
00137
00138 #endif