我是C++的新手,但在Java EE方面有很多经验。C++和JMS - 如何连接这两个?
我需要编写一个非常异步的小应用程序。它从HTTP接收数据并将其存储在Queue(它需要有保证的交付和非常高的吞吐量),像ActiveMQ或OpenMQ,可能通过JMS。
然后,另一个C++应用程序/侦听器从队列中取出数据(通过由队列直接激活的某些侦听器,而不是由我的池)激活,连接到MySQL数据库并执行一些业务逻辑计算并将消息发送给另一个队列。
在Java EE中,这将是一个将消息发送到JMS队列的Web应用程序。消息驱动Bean将成为EJB模块中这些消息的使用者,并且会话EJB会将消息发送到传出的JMS队列。
有人可以用C++的经验,请介绍一些基础知识对我说:
JMS是C++的担保交付队列的唯一选择?你是否建议使用ActiveMQ或其他的东西,因为消费者会使用C++。
是否需要在C++中创建某种类型的多线程守护进程来侦听Queue消息,或者是ActiveMQ的C +消费者实现的线程创建(消息消耗)部分?
有关如何实施上述场景的任何其他建议将非常感激。
编辑:我宁愿消息代理和客户端在C++。 ActiveMQ是一款Java产品,并不是我们真正需要的。
看看[ZeroMQ](http://www.zeromq.org/)。这可能是你正在寻找的东西。 – Codo
对于像我这样的新手来说,ZeroMQ看起来非常低级。我正在寻找一些已经具有更高层次可靠消息队列抽象的库。 – bozo
专有软件是一个选项吗?看看IBM WebSphere MQ,它提供了大量的客户端库... –