V prostředí Java SE 17 bylo zapouzdření prostředí Java zvýšeno pomocí odebrání příznaku -- illegal-access. Kromě skrytí interních částí JDK to také zabrání jednomu modulu v přístupu k typům jiného modulu, které nejsou exportovány.
To může způsobit problémy se serializací IIOP pro parametry a návratové hodnoty pro volání metody ve vzdálených objektech EJB, protože je nutné přistupovat k soukromým hodnotám polí a metod.
Problémy způsobené touto změnou se obvykle zobrazí jako generická výjimka java.rmi.MarshalException.
Chcete-li opravit jakékoli problémy, budete muset otevřít všechny nezbytné moduly v klientovi nebo na serveru, kde došlo k selhání. Server Liberty standardně otevře několik běžně používaných modulů. Chcete-li zobrazit moduly, které jsou již otevřeny serverem Liberty, podívejte se do souboru wlp/lib/platform/java/java9.options. Všechny další otevřené příkazy by měly být přidány do souboru jvm.options. Příklad:
--add-opens
java.base/java.lang=ALL-UNNAMED
Další informace k těmto změnám viz téma JEP 403: Pevné zapouzdření interních částí JDK.