A távoli EJB hívások sikertelenek lehetnek a Java SE 17 változatban

A Java SE 17 változatában a Java beágyazás az --illegal-access kapcsoló eltávolításával fokozódott. A JDK belső elemek elrejtésén túl, ez megakadályozza a nem exportált modulok típusaihoz való hozzáférést más modulok által. Ez a távoli EJB-k metódushívásaikor problémát okozhat a paraméterek és visszatérési értékek IIOP példányosításkor, mivel szükséges a privát mező és metódus értékek elérése.

Az ebből a változásból adódó problémák rendszerint általános java.rmi.MarshalException hibaként jelennek meg.

Az esetleges problémák javításához nyissa meg a szükséges modulokat azon az ügyfélen vagy kiszolgálón, ahol a hiba történik. A Liberty alapértelmezésben számos általánosan használt modult megnyit. A Liberty által már megnyitott modulokat a wlp/lib/platform/java/java9.options fájlban tekintheti meg. További megnyitási utasításokat a jvm.options fájlba lehet felvenni. Például:

--add-opens
java.base/java.lang=ALL-UNNAMED

A módosításokkal kapcsolatos további információk: JEP 403: A JDK internálok beágyazása.