Discussions

EJB design: static block initializer

  1. static block initializer (3 messages)

    We know that a code in static block initializer is executed only one when a class is loaded. However, we disagree when a class is loaded:
        1) when Jboss start (we use Jboss) or
        2) when the class is first referenced in the application. or
        3) None of the above.

    is 2 the right answer ?

    Threaded Messages (3)

  2. static initializer[ Go to top ]

    2 is closer to correct, but I am not sure if it varies by application server. I believe that a class can be initialized onreference as you indicate, but since it is a static initialization block, it could be initialized when it is first loaded by the class loader which would most likely be the first time it is imported.
  3. static block initializer[ Go to top ]

    frankly, mu don't have a clue, nut did you try to place output a log entry from your class" static constructor? this may give you a hint. if you see your log entry during jboss' start-up, this may hint that the class is preloaded. if you see your log entry when you first call your beans, it would it's loaded only then.

    to get more info you may also print a stack trace:

    ============
            Exception ex = new Exception();
            ex.fillInStackTrace();
            ex.printStackTrace()

    ============

    let us know :-)

    cheers,
    Emil ( http://thekirschners.com/software/testare/testare.html )
  4. static block initializer[ Go to top ]

    oooops, I don't know what messed up my post like this..... Hope you get the idea :-) hmmmm, I wasn"t drunk though.....