论坛首页 Java企业应用论坛

异构系统间通信的问题

浏览 13694 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-02  
现有一系统,后台采用java开发,客户端使用C++开发,后台会经常发送指令到前台客户端以控制客户端操作,之前采用的通信方式是webservice,但由于客户端数量太多,接近万个,受网络和各客户端具体情况影响,经常出现丢失指令的情况。
我认为比较好的解决方案是使用jms,广播机制和消息持久机制都可以很好的解决现有问题,但我没有找到C++与jms provider之间通信的资料,请问是否java和c++无法通过jms进行交互?
   发表时间:2007-06-02  
JMS 是Java 的Message Queue介面, 不是產品!!
你只要買回來的產品, 像BEA , M$, IBM 的, 都有
C++ 的interface.
要免錢的, 也有ActiveMQ 可以用.
0 请登录后投票
   发表时间:2007-06-02  
vootoss 写道
现有一系统,后台采用java开发,客户端使用C++开发,后台会经常发送指令到前台客户端以控制客户端操作,之前采用的通信方式是webservice,但由于客户端数量太多,接近万个,受网络和各客户端具体情况影响,经常出现丢失指令的情况。
我认为比较好的解决方案是使用jms,广播机制和消息持久机制都可以很好的解决现有问题,但我没有找到C++与jms provider之间通信的资料,请问是否java和c++无法通过jms进行交互?

jms是j2ee独有的 没听说jms能跟.net等通信

用socket行不?
0 请登录后投票
   发表时间: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方式。
0 请登录后投票
   发表时间:2007-06-03  
试试用corba呢~
0 请登录后投票
   发表时间:2007-06-03  
Corba Vs Message Queue?
這還真的是牛頭不對馬嘴呢
0 请登录后投票
   发表时间:2007-06-04  
呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?
0 请登录后投票
   发表时间:2007-06-04  
vootoss 写道
呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?

楼主说的onMessage长连接是MessageListener监听器吗?
可以单独启动一台message server 或者 用jms集群
0 请登录后投票
   发表时间:2007-06-04  
vootoss 写道
呵呵,感谢大家的帮助,已经找到了apache的cms做为解决方案,还有一个疑问就是,onMessage作为一个长连接,在近万个客户端同时监听的情况下,应该是会耗费大量的资源的,Active Mq应该是负担不起的,不知大家有什么好的建议吗?

你不是用CMS 怎麼又問到ActiveMQ 呢?
單就你的問題來說, 這世界上沒有單一台電腦(硬體)可以讓你同時有上萬個thread 在listen
而沒有將performance 拖下來的.
0 请登录后投票
   发表时间:2007-06-05  
我现在的项目就用ActiveMQ,性能不错,也易于配置。
除非你创建上万的queue(or topic)并一一监听,并不需要如此多的listener呀。
有多种管理和维护JMS Destination的策略。对于queue来说你可以根据创建多个,或只用一个并使用selector。ActiveMQ的MessageGroup功能还可以方便地支持Cluster环境中的queue的管理。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics