Skip to main content

Jakarta EE Platform Call

Date: 2020-10-13


  • Jean-Louis Monteiro (Tomitribe)
  • Andy McCright (IBM)
  • Scott Marlow (Red Hat)
  • Kevin Sutter (IBM)
  • Ed Bratt (Oracle)
  • Ivar Grimstad (Eclipse Foundation)
  • César Hernández (Tomitribe)
  • Paul Nicolucci (IBM)
  • Dmitry Kornilov (Oracle)
  • Emily Jiang (IBM)
  • Steve Millidge (Payara)
  • Jonathan Coustick (Payara)
  • Jonathan Gallimore (Tomitribe)
  • David Blevins (Tomitribe)
  • Tanja Obradovic (Eclipse Foundation)
  • Kenji Kazumura (Fujitsu)
  • Werner Keil (Individual)

Agenda and Minutes

[Scott Marlow] Follow up on Corba/IIOP removal

  • IIOP Interoperability was ‘proposed optional’ in Java EE 8 Platform SPEC (see table EE.6-1 EJB3.2 entry that mentions POPTc which means interoperability could be removed from Jakarta EE 9 which it was).
    • EJB 1.x spec was RMI focused, Corba could be used but JRMP was generally used initially. PortableRemoteObject#narrow was there from near the beginning of EJB 1.x, which use of ensured that ejb calls would work with varies EJB implementations.
    • EJB 3 eliminated the need for PortableRemoteObject to be used, as new remote interfaces could automatically handle remote calls without calling #narrow. Works under the covers.
    • Also note that Corba/IIOP is removed from Java SE 11, which means for future JDK11+ support, javax.rmi.portableremoteobject can not be referenced in Platform EE 9 TCK.
      • At least not in tests that would be included in TCK test runs on Java SE 11.
    • The Platform TCK currently only allows for tests to be required or optional.
    • The Platform TCK does not have a way to test removed technologies.
  • is being tested.
    • The use of remote tiers being invoked may see different outcomes with applications that try to type cast instead of calling javax.rmi.PortableRemoteObject#narrow
  • We need a conclusion on how removal of IIOP Interoperability applies to TCK testing.
    • Do we need to verify that remote EJB 2 style calls to separate JVM can work with GlassFish?
      • If we test this, we will remove the requirement for PortableRemoteObject#narrow from EJB spec.
    • javax.rmi.PortableRemoteObject is the only interface that we removed from JDK 11 and haven’t translated to jakarta.* since it wasn’t donated to Jakarta.
      • If we do have permission to move javax.rmi.PortableRemoteObject into jakarta.* namespace, we could include jakarta.PortableRemoteObject in EJB SPEC API.
  • Options
    • Eliminate use of javax.rmi.PortableRemoteObject in Platform TCK
    • Move javax.rmi.PortableRemoteObject into EJB SPEC API and update Platform TCK tests to use jakarta.rmi.PortableRemoteObject
      • Deprecate jakarta.rmi.PortableRemoteObject immediately
      • javax.rmi.PortableRemoteObjectClass needs to be implemented by GlassFish
    • DECISION: Deal with this in EE 9.1 for addressing JDK11 issues
      • Platform TCK tests can continue to use javax.rmi.PortableRemoteObject#narrow, instead we will deal with the pull request for EE 9.1.
      • FYI… Kevin verified with the IBM EJB Lead that we have packaged the necessary RMI/IIOP classes for our use with Java SE 11. The Liberty support of EJB requires the use of javax.rmi.PortableRemoteObject#narrow.
    • Could we deal with JDK 11 in EE 10 as an alternative?
      • There is a lot of feedback that we need JDK11 for EE 9.x
    • How much time to deal with this (just javax.rmi.PortableRemoteObject) change now for EE 9?
      • We don’t have ability to test for EE 9 since we don’t yet support JDK11
  • Updating the Platform SPEC for removed Corba/IIOP
    • There are a bunch of Corba things that have to be described still in Platform SPEC.
    • These have nothing to do with interoperability
  • Update Platform SPEC wording from Compatible Implementations MAY additionally certify and support later versions of the Java SE runtime. to only support Java SE 8?
    • Since later JDK versions removed features, it is currently difficult to to support any later version.
    • TCK signature tests need updates for JDK11 to pass on JDK11.
    • Will leave Java SE versions later than SE 8 may be used.

Jakarta EE 9.1 (recurring agenda item)

  • javax.rmi.PortableRemoteObject#narrow

Jakarta EE 10 (recurring agenda item)

Back to the top