我有两个java项目。从project1我必须调用project2的方法。这两个项目都是使用核心Java概念开发的,并且单独运行。据我所知,在这种情况下,我将不得不使用远程调用方法的任何技术(我是否正确?),如RMI,WebServices,JMS等。我必须经常从project1调用project2的方法。什么是实现这一目标的最佳方式。
由于
答案 0 :(得分:0)
您的项目是否已部署到应用程序服务器或servlet容器?
您可以使用Web服务公开项目2中的方法。这将是基于标准的,并且如果需要,将来也允许非Java项目访问您的服务。
如果它适合您,请尝试以异步模式实现它以获得更好的性能。 Web服务也允许异步调用模式。但是,为此,您的Project 1还需要公开一个回调方法。
编辑: 我在Java 6中遇到过这种情况,您也可以在servlet容器之外部署Web服务。以下链接可以提供帮助
Standalone web services in Java SE 6
但不确定这是否可以在生产环境中使用。
答案 1 :(得分:0)
RMI用于客户端 - 服务器体系结构。将有一个服务器程序将实现扩展Remote的接口,它将在服务器上定义或调用其他方法,它将绑定一个对象。然后,您将需要一个客户端程序来查找该对象并使用该对象,它将调用Server上的方法。
因此,如果您的项目作为Client-Server运行,那么您可以试试这个。
接下来你要谈的是WebServices。 WebServices通过特定协议提供对通过网络在服务器上写入的一些代码的访问。在此,您的代码将在服务器上运行,您将使用Web服务从客户端访问它。
现在,您需要为您的项目遵循什么样的架构以及哪种方法更适合您的场景。