我想用说作为一种信息经纪人之间进行通信C++组件和Java组件在两个进程。例如。C++的组成部分是出版商和Java组成部分是用户(有许多个订户).我看起来在今后的网站,它提到了该工具OpenWire和说-CPP。然而,所有实例的网站上使用同一语言为生产者和消费者。

我的问题是:

1.可以说工作对于生产者/消费者不同的语言?

2.在不同的进程?怎么样?

有帮助吗?

解决方案

OpenWire是一种协议并因此可以理论上是实施任何地方,但这并不意味着充分实现方式存在于每一种语言。现印C++client说:

"作为2.0版本,说-加拿大养恤金计划支持OpenWire v2协议,有几个例外情况。ObjectMessage-我们不能重建对象(s)中包含的一个ObjectMessage在C++,所以如果你用的是订阅队或主题有ObjectMessage发送给它,你将会收到消息但不能提取的对象。"

所以如果你想要发送数据的过程中,你写你的C++、Java组分使用的API(确保不使用ObjectMessage类型,如果你使用说-CPP)。然后运行的今后服务器...告诉你的方案连接,以及它应工作。

但如果你真的只想做的进程通信的时候你控制的两个客户,这可能是有点笨手笨脚的.你可能会感兴趣的反应 什么是最好的方法之间的IPC Java和C++?好的替代以共享存储器IPC Java/C++应在Linux上

其他提示

直接从ActiveMQ的头版:

Supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Ruby, Perl, Python, PHP

* OpenWire for high performance clients in Java, C, C++, C#
* Stomp support so that clients can be written easily in C, Ruby, Perl,
  Python, PHP, ActionScript/Flash, Smalltalk to talk to ActiveMQ as well 
  as any other popular Message Broker

我们已经用PHP(使用践踏)和Java(使用OpenWire)进行了测试。

关于过程:各种生产者和消费者当然可以在完全不同的工艺,用e.g TCP或SSL通信

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top