Search code examples
javarmi

RMI - JRMP vs IIOP


I know that JRMP opens a new socket for every invocation request. Also that IIOP can share a single opened socket for multiple requests.

As stated by Wikipedia:

Usage of the term RMI may denote solely the programming interface or may signify both the API and JRMP, whereas the term RMI-IIOP (read: RMI over IIOP) denotes the RMI interface delegating most of the functionality to the supporting CORBA implementation.

One of the questions in my paper where I had to say whether the statement was true/false said:

RMI Servers share a single socket for multiple invocation requests.

At this point,there was ambiguity whether the question was probed considering it was a JRMP or an IIOP server. Is it safe for me to assume that if the questions states only RMI , then in that case it would imply it was a JRMP server and not an IIOP server?

I hope I've made myself clear.


Solution

  • No, RMI can share sockets or create them as needed depending on the RMI client implementation. Such a sweeping statement wouldn't be true.