【发布时间】:2011-12-29 02:48:59
【问题描述】:
我想为 ActiveMQ 创建一个 Wrapper 类,它只有发送和获取功能。我想将它们包装在一个静态类中。用户可以使用这个客户端向activemq实例发送、获取消息。
我希望这个过程是透明的。 this link中有两个类
我唯一的障碍是,我需要在 C++ 中这样做,但不知道从哪里开始。我已经很久没有使用 c++ 了,现在不知道如何创建这个包装类。
我正在尝试如下:
// .h file
#include <stdlib.h>
#include <iostream>
using namespace std;
class ActiveMQWrapper
{
public:
static void send(std::string message);
static std::string get();
};
// .cpp file
#include<string>
#include<iostream>
#include "ActiveMQWrapper.h"
void ActiveMQWrapper::send(std::string message){
std::cout<<message;
}
std::string ActiveMQWrapper::get(){
return "test";
}
// test file
#include <string>
#include <iostream>
#include "ActiveMQWrapper.h"
int main() {
std::string foo ="test";
ActiveMQWrapper::send(foo);
std::cout<<ActiveMQWrapper::get();
return 1;
}
当我将以下内容添加到 .h 文件时,地狱就崩溃了。您是否认为我应该将此 impl 分离到工厂并初始化和实例化并返回到上面的包装器?我如何处理所有依赖项?
private:
Connection* connection;
Session* session;
Destination* destination;
MessageProducer* producer;
int numMessages;
bool useTopic;
bool sessionTransacted;
std::string brokerURI;
和头文件,我收到几条错误消息,抱怨路径。
我怎样才能得到这个正确的?我最终想建立一个工厂,获取一个实例并将消息发送或获取到队列。
有没有我可以查看的代码示例来解决这个问题?基本我只想使用这个producer 和consumer 的功能。
编辑:我知道 C++ 中没有静态类之类的东西。 This 是我的参考。
【问题讨论】:
-
C++ 中没有“静态类”这样的东西。
-
嗯,这只是一个同样困惑的人提出的问题;我不确定这是否构成“参考”:-)(特别是考虑到另一个答案说 C++ 中没有“静态类”!)
-
@KerrekSB 你没有建设性。你能别管它吗?如果你想对你有帮助,你可以评论这个问题,拜托!!我不需要这样的另一个论点,可以是参考还是不等。拜托!!!
-
对,但如果你想让人们有机会帮助你,你真的需要用实际错误消息 i>.
标签: c++ static activemq factory