锁定老帖子 主题:异构系统间通信的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-02
我认为比较好的解决方案是使用jms,广播机制和消息持久机制都可以很好的解决现有问题,但我没有找到C++与jms provider之间通信的资料,请问是否java和c++无法通过jms进行交互? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-02
JMS 是Java 的Message Queue介面, 不是產品!!
你只要買回來的產品, 像BEA , M$, IBM 的, 都有 C++ 的interface. 要免錢的, 也有ActiveMQ 可以用. |
|
返回顶楼 | |
发表时间:2007-06-02
vootoss 写道 现有一系统,后台采用java开发,客户端使用C++开发,后台会经常发送指令到前台客户端以控制客户端操作,之前采用的通信方式是webservice,但由于客户端数量太多,接近万个,受网络和各客户端具体情况影响,经常出现丢失指令的情况。
我认为比较好的解决方案是使用jms,广播机制和消息持久机制都可以很好的解决现有问题,但我没有找到C++与jms provider之间通信的资料,请问是否java和c++无法通过jms进行交互? jms是j2ee独有的 没听说jms能跟.net等通信 用socket行不? |
|
返回顶楼 | |
发表时间:2007-06-03
大部分的JMS Provider都提供其他语言的lib,或者以其他协议支持其他语言,比如商业的SonicMQ有自己的lib,开源的ActiveMQ 他也可以通过 CMS,Openwire,Stomp支持c/c++,另外也有一些MQ(JMS只是他的一部分,它可能本身就是c/c++实现的)比如websphereMQ,TIBCO的EMS 他们更是提供了c/c++平台.
也就是说LZ 你需要了解的是你的JMS Provider/ MQ是否提供了他自己的C/C++ Integration方式。 |
|
返回顶楼 | |
发表时间:2007-06-03
试试用corba呢~
|
|
返回顶楼 | |
发表时间:2007-06-03
Corba Vs Message Queue?
這還真的是牛頭不對馬嘴呢 |
|
返回顶楼 | |
发表时间:2007-06-04
呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?
|
|
返回顶楼 | |
发表时间:2007-06-04
vootoss 写道 呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?
楼主说的onMessage长连接是MessageListener监听器吗? 可以单独启动一台message server 或者 用jms集群 |
|
返回顶楼 | |
发表时间:2007-06-04
vootoss 写道 呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?
你不是用CMS 怎麼又問到ActiveMQ 呢? 單就你的問題來說, 這世界上沒有單一台電腦(硬體)可以讓你同時有上萬個thread 在listen 而沒有將performance 拖下來的. |
|
返回顶楼 | |
发表时间:2007-06-05
我现在的项目就用ActiveMQ,性能不错,也易于配置。
除非你创建上万的queue(or topic)并一一监听,并不需要如此多的listener呀。 有多种管理和维护JMS Destination的策略。对于queue来说你可以根据创建多个,或只用一个并使用selector。ActiveMQ的MessageGroup功能还可以方便地支持Cluster环境中的queue的管理。 |
|
返回顶楼 | |