0 Replies Latest reply on Jun 14, 2007 7:34 AM by Stuart White

    Cleanup code in Stateless Session Bean when JBoss shuts down

    Stuart White Newbie

      I've written a simple stateless session bean with the following interface:

      public interface Foo {
       void sayHello();

      and the following implementation:

      public class FooBean implements Foo {
       public void postConstruct() {
       System.out.println("Inside postConstruct");
       public void preDestroy() {
       System.out.println("Inside preDestroy");
       public void sayHello() {
       System.out.println("Hello world");

      When I call the sayHello() method from a client, I see the following output:

      06:19:16,150 INFO [STDOUT] Inside postConstruct
      06:19:16,170 INFO [STDOUT] Hello world

      When I shutdown JBoss, however, I do not see "Inside preDestroy" printed to the screen.

      So, my question is two-fold:

      Does the @PreDestroy callback get called when JBoss is shutdown? (I would have expected it to, but apparently it does not..?)

      If @PreDestroy does not get, how/where can I put cleanup code in my beans that will get executed when JBoss shuts down?