我有两个java项目。在project1中,我必须调用project2的方法。这两个项目都是使用java核心概念开发的,并且分别运行。因为我知道,在这种情况下,我必须使用任何远程调用方法的技术(我说的对吗?),比如RMI、WebServices、JMS等。我必须非常频繁地从project1调用project2的方法。实现这一目标的最好方法是什么?
谢谢
发布于 2011-11-29 12:17:56
您的项目是否部署到应用服务器或servlet容器?
您可以使用web服务来公开来自Project 2的方法。这将是基于标准的,并且如果需要的话,将来还将允许非Java项目访问您的服务。
如果它对您有效,请尝试以异步模式实现它,以获得更好的性能。Web服务也允许异步调用模式。但是,为此,您的项目1还需要公开一个回调方法。
编辑:我在Java6中遇到过这一点,你也可以在servlet容器之外部署web服务。下面的链接可以提供帮助。
Standalone web services in Java SE 6
但是,不确定这是否可以在生产环境中使用。
发布于 2011-11-29 12:35:16
在Client-Server架构中使用RMI。将有一个服务器程序实现您的接口扩展远程,它将在服务器上定义或调用其他方法,并将绑定一个对象。然后,您将需要一个客户端程序来查找该对象并使用该对象,它将调用Server上的方法。
因此,如果您的项目是以Client-Server模式运行的,那么您可以尝试这种方式。
接下来您要讨论的是WebServices。WebServices通过特定协议通过网络向其客户端提供对在服务器处编写的某些代码的访问。在这种情况下,您的代码将在服务器上运行,您将使用Web服务从客户端访问它。
现在,这取决于您为您的项目遵循哪种架构,以及哪种方法更有用,更适合您的场景。
https://stackoverflow.com/questions/8305727
复制相似问题