Java RMI-JRMP与IIOP

Java RMI-JRMP与IIOP,java,rmi,Java,Rmi,我知道JRMP为每个调用请求打开一个新的套接字。 此外,IIOP还可以为多个请求共享一个打开的套接字 正如维基百科所说: 术语RMI的使用可能仅表示编程接口,也可能同时表示API和JRMP,而术语RMI-IIOP(读:RMI over IIOP)表示将大部分功能委托给支持CORBA实现的RMI接口 我的论文中的一个问题是,我必须说明该陈述是否正确,其中一个问题是: RMI服务器为多个调用请求共享一个套接字 在这一点上,考虑到这是一个JRMP还是一个IIOP服务器,这个问题是否被探究是不明确的我是

我知道JRMP为每个调用请求打开一个新的套接字。 此外,IIOP还可以为多个请求共享一个打开的套接字

正如维基百科所说:

术语RMI的使用可能仅表示编程接口,也可能同时表示API和JRMP,而术语RMI-IIOP(读:RMI over IIOP)表示将大部分功能委托给支持CORBA实现的RMI接口

我的论文中的一个问题是,我必须说明该陈述是否正确,其中一个问题是:

RMI服务器为多个调用请求共享一个套接字

在这一点上,考虑到这是一个JRMP还是一个IIOP服务器,这个问题是否被探究是不明确的我是否可以安全地假设,如果问题仅说明RMI,那么在这种情况下,这意味着它是一个JRMP服务器,而不是一个IIOP服务器 服务器?


我希望我已经说清楚了。

不,RMI可以共享套接字或根据需要创建套接字,具体取决于RMI客户端实现。这种笼统的说法是不正确的

我知道JRMP打开了一个新的套接字 对于每个调用请求

不,没有。RMI客户端使用连接池

正如维基百科所说:

术语RMI的使用可能仅表示编程接口,也可能同时表示API和JRMP,而术语RMI-IIOP(读:RMI over IIOP)表示将大部分功能委托给支持CORBA实现的RMI接口

我认为那句话有误导性,我已经改正了。新的措辞表示,“RMI”一词可以指API或任何实现,包括JRMP、IIOP、JERI、JBoss远程处理等,而“RMI-IIOP”则具体指的是IIOP之上的RMI

RMI服务器为每个服务器共享一个套接字 多个调用请求

该声明模棱两可、具有误导性且依赖于实现

我认为如果 那么,问题只说明RMI 在这种情况下,这意味着它是一个 JRMP服务器而不是IIOP服务器


不。但在这种情况下,这没有任何区别。

不,这样假设是不安全的。问题是不明确的。另外,您是否考虑过JBoss使用的池化RMI调用程序?@Pavitar:但这个答案是不正确的。它根本不会这样做。您的回答是“否[它不会共享套接字]”,以及“它将[我的重点]为每个请求创建一个新的客户端套接字”。正如您在注释中正确指出的,这取决于实现。所以“不”和“威尔”都是不正确的。可以。但不会。14年来,我从未见过这样的RMI/JRMP或RMI/IIOP(或RMI/JERI)实现,它取决于RMI客户端实现,而不是服务器。@Mikaveli RMI连接池是在客户端实现的。这是唯一可以实施的地方。想想看。如果您不同意,请提供您自己的参考。我的参考文献是java.rmi:java中的远程方法调用指南,Pitt&McNiff,2001,但后来我写了它。JRMP调用程序为它在客户机上向服务器发出的每个请求创建一个新的客户机套接字。