- Перенос кода клиента (портлета) с Java 1.8 на Java 11 – см. тестовый пример ниже.
< li>Сервер Payara 5 работает на Java 11, но Session Beans скомпилирован в Java 1.8. - Связь через IIOP:Corba.
Текущий код Java 1.8, который работает (против Payara 5, работающего на Java 11):
Код: Выделить всё
Context ctx = new InitialContext();
String jndiName = "corbaname:iiop:127.0.0.1:3700#java:global/Portal/Portalejb/PortalService!se.services.portal.PortalServiceHome";
PortalServiceHome home = (PortalServiceHome)ctx.lookup(jndiName);
PortalService ps = home.create();
Код: Выделить всё
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
props.setProperty("org.omg.CORBA.ORBClass", "com.sun.corba.ee.impl.orb.ORBImpl");
Context ctx = new InitialContext(props);
String jndiName = "java:global/Portal/Portalejb/PortalService!se.services.portal.PortalServiceHome";
PortalServiceHome home = (PortalServiceHome)ctx.lookup(jndiName);
PortalService ps = home.create();
Код: Выделить всё
java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
org.omg.CORBA.NO_PERMISSION: vmcid: 0x0 minor code: 0 completed: No
at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.handle_null_service_context(SecServerRequestInterceptor.java:441)
at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:460)
Поскольку в Java 11 ушло несколько функций javax, в клиенте представлены новые библиотеки. Новые артефакты: glassfish-corba-omgapi, javaee-api и gf-client.
Любые предложения о том, как решить эту проблему.
Подробнее здесь: https://stackoverflow.com/questions/787 ... permission