【发布时间】:2013-06-15 09:05:21
【问题描述】:
我正在尝试解决进程间通信的古老问题,特别是针对客户端为 GUI 的客户端服务器模型。
我看过 Chronicle,虽然它可以序列化对象,但它缺乏 RMI 的功能。它可以传递 POJO,但不能运行方法。与其混合两者或根本不使用 RMI 并编写一个协议来处理 Chronicle 通信以实现方法调用,我正在寻找现代替代方案。
环顾 Cajo 似乎很合适,但似乎没有什么积极的发展。
然后,Akka 似乎也符合要求,但我在网上找不到两者之间的太多比较。
哪个库最适合解决这个问题,并且会在未来得到很好的支持?
编辑:
在这里参考文档和 cmets 后,我有更多问题。
http://www.javalobby.org/java/forums/t101131.html?start=15
由于 RMI 的更新,Cajo 现在已经过时了,还是它仍然是一个更容易使用的替代品?
【问题讨论】:
-
为什么需要专门的方法调用和 POJO?为什么一个好的 ole,比如 JSON 或 protobuf 交换不起作用?执行 RMI 会使您的协议不可移植,考虑到我们正在谈论 Java,这相当可悲
-
因为需要一个协议层,这是不必要的,因为我不需要它是语言可移植的,我希望它简单。
-
根本不需要协议层,这是一个神话;您可以使用其中任何一个而无需执行 HTTP
-
如果不组织 JSON 数据,你将如何从客户端告诉服务器做某事? JSON 的结构将取决于对象的设计方式。在我看来,它增加了不必要的复杂性。
-
RMI 也是如此;有关要调用的方法、要处理的 POJO 等的信息必须来自某个地方!无论如何,你的选择......
标签: java rmi distributed