我正在辩论我应该为正在处理的应用程序使用Java RMI还是标准Java网络。

该应用程序将是一个具有心跳传感器和故障安全功能的网络系统。因此,它是一个3层系统,至少具有一个DB和Java应用程序。

因此,如果我的数据库在一台计算机上发生故障,我希望第二台计算机对此进行“检测”。

我对Java RMI有点困惑,无论值得学习它。

或者,如果我使用标准Java网络,是否可以与RMI一样?我的意思是,如果我真的很了解Java网络。

谢谢!

最佳答案

如今,使用SOAP或REST设置Web服务非常容易。使用REST,您可以使用XML或JSON消息,而无需真正了解所有信息。可以从.NET代码或PHP或Javascript访问所有这些类型的服务。 (好吧……除了.NET和Java之外,SOAP有点痛苦。//个人观点)

Spring可以帮助您设置服务,并且客户端接口非常简单。与bean类和业务方法的标准注释非常接近,定义了接口,而Spring承担了繁重的工作。 (我说的是Spring Web Services,而不是Spring Remoting,尽管那也可以。SpringRemoting并不比RMI IMHO好得多。)

您还可以使用Jersey(JAX-WS)或Jackson(Parse JSON)进行远程处理。关于bean类的标准注释,以及不构建接口的内容。 CXF也将执行JAX-WS和JAX-RS。这些是用于构建通过远程消息进行通信的服务和客户端的Java标准。

或者,有蚀工具可用于生成远程接口的两侧。所有这些都与某个框架相关联(Axis-2或CXS都有)。它是一种代码生成的东西。

您可能需要仔细研究一下,看看哪个与您看待事物的方式产生共鸣。

我知道与使用RMI相比,我更喜欢所有这些。但是我已经很长时间没有直接使用RMI了。

关于java - 我怎么知道是使用标准Java网络还是Java RMI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14637851/

10-10 02:45
查看更多