1 Reply Latest reply on Jun 30, 2011 8:18 AM by barti

    @PostConstruct not invoked in ear packaging

    barti

      Hi,

       

      I have a very basic problem. I have an ejb with @PostConstruct annotated method. When I deploy this ejb packaged as jar to jboss, everything works fine.

      But when I package my ejb to ear archive, the @Postconstruct method is never invoked.

      This means there must be something wrong with my ear packaging, but I have no idea what is the problem.

       

      Here follows my ejb:

       

      @Stateless

      public class TestBeanImpl implements TestBean{

       

          public TestBeanImpl() {

              System.out.println("Test bean was instantiated");

          }

       

          @PostConstruct

          public void afterConstruction() {

              System.out.println("Test bean after construction");

          }

       

          @Override

          public void performTest() {

              System.out.println("Test was performed");

          }

       

      }

       

      When I invoke performTest() method in jar packaging, the output is:

      Test bean was instantiated

      Test bean after construction

      Test was performed

       

      But when I invoke performTest() in ear packaging, the output is:

      Test bean was instantiated

      Test was performed

       

      Here follows my ear package structure:

      /

      -- lib

      --META-INF

           /--application.xml

      --postconstruct-test-ejb.jar

       

      Here is my content of application.xml

      <?xml version="1.0" encoding="UTF-8"?>

      <application>

        <display-name>postconstruct-test-ear</display-name>

        <module>

          <ejb>postconstruct-test-ejb.jar</ejb>

        </module>

      </application>

       

      My jboss version: Jboss 6.0.0.Final

       

      I really don't know what is wrong here, please help

        • 1. Re: @PostConstruct not inoked in ear packaging
          barti

          So finally I've found the solution. The problem was in included library jsr250-api-1.0.jar.

          I used maven for building and this library was transitive dependency of resteasy-jaxrs lib.

          I marked this lib as provided and now the @PostConstruct works.

          But anyway its a strange behavior from jboss side, because there was no error message in logs, only the postcontruct simply stopped working.