2 Replies Latest reply on Dec 12, 2011 5:14 PM by pmm152

    How to stop users accessing JBoss services until loaded completely

    pmm152

      We have a JBoss [EAP] 5.1.0 system that maintains an application.

      There are thick java clients accessing the system on a LAN as well as external web clients.

       

      If I need to restart JBoss, because of an unforseen error, how can I stop users accessing the services until all services are loaded correctly.

       

      Type of error I get, for example:

      2011-12-09 15:40:18,554 [giver.util.SysHandler] INFO  - Caught exceptionjavax.ejb.EJBException: Unexpected Error

      java.lang.NoClassDefFoundError: Could not initialize class au.qwe.sa.giver.managers.client.security.SystemUser

       

      Once this error is generated, it does NOT correct itself. Another restart is required to try and fix it.

       

      It appears that my users are trying to access the service before they are completely loaded from their thick clients.

      We can suppress web clients but not LAN clients

       

      If the services load correctly, we do NOT get the above error.

       

      Is there any way to stop users trying to access the application service until all services are loaded correctly?

       

      Environment is Solaris 10 zones to a local firewall is not an option.

        • 1. Re: How to stop users accessing JBoss services until loaded completely
          wdfink

          Unfortunately not, I did not know a way to do it.

          Only thing is, for your case, to have the dependencies in the right order.

          where giver.util.SysHandler and au.qwe.sa.giver.managers.client.security.SystemUser classes are located?

           

          If you do not use hot deployment it may help to have the SystemUser.class in an archive located in the lib directory of the server.

          • 2. Re: How to stop users accessing JBoss services until loaded completely
            pmm152

            giver.util.SysHandler and au.qwe.sa.giver.managers.client.security.SystemUser classes are located in the same ear file

            They are in the same jar file within the lib directory of the ear file,  located under the deploy directory of JBoss.

             

            Where are the dependencies set?

             

            We do NOT use hot deployment - we are  starting the JBoss server each time.