users@glassfish.java.net

Very slow start-up of Java Web Start Application Client Container (JWS-ACC)

From: <glassfish_at_javadesktop.org>
Date: Mon, 06 Aug 2007 00:35:40 PDT

Hi All (and Tim),

There have been some previous posts about this problem, but I would like to try to raise its priority a bit. Below is the output in the Java console when a JWS client is invoked. My main concern here is the extended amount of time taken between the disappearance of the JWS splash screen, and the appearance of the user interface of the client application. As can be seen, there is a time period of almost one minute before the application has even got a chance to attempt to display anything. The main class code shows where some of the output statements of "MyApplication" are.

I have removed all static injection of beans, and use InitialContext().lookup() to obtain references to the beans used by the application. The looking up of the beans takes about 8 seconds, but at least when we arrive at this point, the application can provide the user with an indication of what is happening.

I believe it is unacceptable that the user has to wait a full minute with no indication of what is happening. This is a real-world application, not a hello-world application ! Can something possibly be done about this ? preferably in the ACC's com.sun.enterprise.appclient.MainWithModuleSupport <init> method ?


System running :-
Java 1.6_02
Win XP SP2
Glassfish b58 promoted
3.2MHz processor with 3Gb RAM


Java Console output :-
2007/08/06 09:05:04 com.sun.enterprise.appclient.MainWithModuleSupport prepareSecurity
INFO: Security Manager is ON.
2007/08/06 09:05:05 com.sun.enterprise.appclient.MainWithModuleSupport setTargetServerProperties
INFO: ACC001:Using ClientContainer file: [C:\DOCUME~1\Steve\LOCALS~1\Temp\sunacc52245.xml].
2007/08/06 09:05:05 com.sun.enterprise.appclient.MainWithModuleSupport <init>
INFO: ACC024: IIOP endpoint(s) = localhost:3700
2007/08/06 09:06:02 com.sun.enterprise.appclient.MainWithModuleSupport loadMainClientClass
INFO: ACC009: Load Application Class: [com.cashpower.suprima.lite.Main]
Mon Aug 06 09:06:02 CAT 2007 - MyApplication Main started.
Mon Aug 06 09:06:02 CAT 2007 - MyApplication Main Frame about to set visible.
2007/08/06 09:06:02 com.sun.enterprise.appclient.MainWithModuleSupport <init>
INFO: Application main() returned; GUI elements may be continuing to run
Mon Aug 06 09:06:02 CAT 2007 - MyApplication Main Frame initialising components.
Mon Aug 06 09:06:10 CAT 2007 - MyApplication looking up beans starting.
Mon Aug 06 09:06:18 CAT 2007 - MyApplication looking up beans done.
Mon Aug 06 09:06:19 CAT 2007 - MyApplication Main Frame now ready.
Mon Aug 06 09:06:19 CAT 2007 - MyApplication Main Frame now visible.

Application main class :-
    public static void main(String[] args) {
System.out.println(new Date().toString() + " - MyApplication Main started.");
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
System.out.println(new Date().toString() + " - MyApplication Main Frame about to set visible.");
                new LiteFrame().setVisible(true);
System.out.println(new Date().toString() + " - MyApplication Main Frame now visible.");
            }
        });
    }

Regards,

Steve.
[Message sent by forum member 'suttridge_farm' (suttridge_farm)]

http://forums.java.net/jive/thread.jspa?messageID=229553