以下是一个使用activemq-cpp库来实现消费者接收远程地址的代码示例:
#include
#include
#include
#include
#include
#include
#include
using namespace activemq::core;
using namespace cms;
int main() {
// 初始化ActiveMQCpp库
ActiveMQCPP::initializeLibrary();
// 创建连接工厂
ActiveMQConnectionFactory* connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// 创建连接
Connection* connection = connectionFactory->createConnection();
connection->start();
// 创建会话
Session* session = connection->createSession(Session::AUTO_ACKNOWLEDGE);
// 创建目标地址
Destination* destination = session->createQueue("remoteQueue");
// 创建消息消费者
MessageConsumer* consumer = session->createConsumer(destination);
// 设置消息监听器
consumer->setMessageListener([](const Message* message) {
try {
const TextMessage* textMessage = dynamic_cast(message);
if (textMessage) {
std::cout << "Received message: " << textMessage->getText() << std::endl;
} else {
std::cout << "Received unsupported message type" << std::endl;
}
} catch (CMSException& e) {
e.printStackTrace();
}
});
// 等待消息到达
std::cout << "Waiting for messages..." << std::endl;
std::cin.get();
// 清理资源
delete consumer;
delete destination;
delete session;
connection->close();
delete connection;
delete connectionFactory;
// 关闭ActiveMQCpp库
ActiveMQCPP::shutdownLibrary();
return 0;
}
注意:上述示例使用的是本地地址tcp://localhost:61616
,你需要根据你的实际情况修改为正确的远程地址。