Page 1 of 1

OpenWebStart SmartClient Crash on Start Up with Bootstrapper

PostPosted: Tue May 31, 2022 10:25 am
by LXS
Hi,

we are using Servoy 7 with Java 8 OpenWebStart from https://openwebstart.com/

When we use the default JNLP generated from Servoy, OpenWebStart works, but the start is very slow (it seems OpenWebStart do not use parallel jar downloads).

One solution is to use the Servoy Bootstrapper with Webstart (https://wiki.servoy.com/pages/viewpage. ... d=23856169)
So we configured bootstrap.jnlp in application_server/server/webapps/ROOT like this:

Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="https://xxxxx/">
   <information>
       <title>SalesManager|CRM</title>
      <vendor>Dr. Maison &amp; Partner GmbH</vendor>
      <homepage href="https://www.maison-partner.de/"/>
      <description>CRM System for Windows and Mac OS</description>
      <icon href="lib/images/App_icon_64px.png" />
      <icon kind="splash" href="lib/images/sm_logo_mup_klein.gif" width="64" height="64"/>
      <shortcut online="false">
      <desktop/>
    </shortcut>
   </information>
   <resources>
      <j2se version="1.8"   java-vm-args="-XX:SoftRefLRUPolicyMSPerMB=3600000" />
      <jar href="bootstrap.jar" main="true" version="14" download="eager"/>
   </resources>
   <application-desc main-class="com.servoy.bootstrapper.Bootstrap">
      <argument>Spotlight</argument>
      <argument>bootstrapthreadpoolsize:8</argument>
   </application-desc>
   <security>
      <all-permissions/>
   </security>
</jnlp>


When we use Oracle Java 8 the Bootstrapper works and the Smart Client starts as expected.

Because of Oracles License we tested OpenWebStart.

So when we use the bootstrap.jnlp with OpenWebStart it seems the Smart Client will be downloaded.
Just before the Smart Client window opens there is an exception in the OpenWebStart Console and the Smart Client crashes.

Exception:

Code: Select all
Exiting Boot.mainWithReturnCode() with 0
main completed
    ... 13 more
    at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:680)
    at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:686)
Caused by: java.lang.IllegalAccessError: tried to access class com.servoy.j2db.smart.J2DBClient$4 from class com.servoy.j2db.smart.J2DBClient
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:660)
    at net.sourceforge.jnlp.Launcher.access$300(Launcher.java:71)
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:406)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at com.servoy.bootstrapper.Bootstrap.main(Bootstrap.java:23)
    at com.servoy.bootstrapper.BaseBootstrap.loadAndStartClient(BaseBootstrap.java:190)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
java.lang.reflect.InvocationTargetException


Anyone who uses the bootstrap.jnlp with OpenWebStart and has this issue as well?

Thanks a lot!

Alex