0 Replies Latest reply on Mar 2, 2017 6:38 AM by Jeremy Whiting

    Migration to jdk9.

    Jeremy Whiting Expert

      Hi,

      I am looking to migrate a working benchmark application from jdk8 to jdk9. The application uses remote EJB calls as part of the workload.

       

      I am seeing an error on the client during initialisation by the ServiceLoader of the marshalling-river provider library.

       

      <record>
        <host>burtha</host>
        <date>2017-03-01T14:31:09.660617Z</date>
        <millis>1488378669660</millis>
        <nanos>617000</nanos>
        <sequence>8</sequence>
        <logger>com.sun.faban.driver.engine.TimeThread.0</logger>
        <level>WARNING</level>
        <class>com.sun.faban.driver.engine.AgentThread</class>
        <method>invokePrePost</method>
        <thread>30</thread>
        <message>AcmeDriverAgent[0].0.initializeAndAudit: null</message>
        <exception>
          <message>java.lang.ExceptionInInitializerError</message>
          <frame>
         <class>org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver</class>
            <method>&lt;init&gt;</method>
            <line>156</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector</class>
            <method>setupEJBReceivers</method>
            <line>163</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector</class>
            <method>getCurrent</method>
            <line>118</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector</class>
            <method>getCurrent</method>
            <line>47</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.EJBClientContext</class>
            <method>getCurrent</method>
            <line>281</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.EJBClientContext</class>
            <method>requireCurrent</method>
            <line>291</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.EJBInvocationHandler</class>
            <method>doInvoke</method>
            <line>178</line>
          </frame>
          <frame>
            <class>org.jboss.ejb.client.EJBInvocationHandler</class>
            <method>invoke</method>
            <line>146</line>
          </frame>
          <frame>
            <class>com.sun.proxy.$Proxy38</class>
            <method>setPropertyOnDB</method>
          </frame>
          <frame>
            <class>org.acme.enterprise.driver.AcmeDriver</class>
            <method>initializeRunConfig</method>
            <line>166</line>
          </frame>
          <frame>
            <class>org.acme.enterprise.driver.AcmeDriver</class>
            <method>initializeAndAudit</method>
            <line>130</line>
          </frame>
          <frame>
            <class>jdk.internal.reflect.NativeMethodAccessorImpl</class>
            <method>invoke0</method>
          </frame>
          <frame>
            <class>jdk.internal.reflect.NativeMethodAccessorImpl</class>
            <method>invoke</method>
            <line>62</line>
          </frame>
          <frame>
            <class>jdk.internal.reflect.DelegatingMethodAccessorImpl</class>
            <method>invoke</method>
            <line>43</line>
          </frame>
          <frame>
            <class>java.lang.reflect.Method</class>
            <method>invoke</method>
            <line>543</line>
          </frame>
          <frame>
            <class>com.sun.faban.driver.engine.AgentThread</class>
            <method>invokePrePost</method>
            <line>414</line>
          </frame>
          <frame>
            <class>com.sun.faban.driver.engine.AgentThread</class>
            <method>preRun</method>
            <line>347</line>
          </frame>
          <frame>
            <class>com.sun.faban.driver.engine.TimeThread</class>
            <method>doRun</method>
            <line>87</line>
          </frame>
          <frame>
            <class>com.sun.faban.driver.engine.AgentThread</class>
            <method>run</method>
            <line>202</line>
          </frame>
        </exception>
      </record>
      

       

      This is using WF10.1. Which bundles 1.4.11.Final of marshalling and marshalling-river.

      It is at line 156 the j.l.ExceptionInInitializerError is thrown.

       

      There is another post [2] that has the error and the same class. That post flags an issue using OSGI. Which makes me suspect encapsulation behaviour of OSGI and Jigsaw is causing a problem loading marshalling-river.

       

      Has this been seen already with Jigsaw jdk9 ?

       

      Jeremy