0 Replies Latest reply on Mar 18, 2009 8:36 AM by vdmeerenp

    Resource injection in shared library not working


      Hello everyone,

      I have the impression that resource injection (using @Resource annotation) is not executed when using shared library (in common/lib folder).

      I have created a HttpSessionListener, with a datasource declared like this:

      @Resource(mappedName = "java:DefaultDS")
      private DataSource ds;

      This listener is bundled in a jar file, which I have put under <JBOSS_HOME>/common/lib to make it available for all applications running on my Jboss application server.

      Then I have a web application which uses this HttpSessionListener by declaring it in it's web.xml.

      What I see is that when web application is deployed and listener is executed the datasource (ds) is always = null.This means the container did not execute the dependency injection of the datasource.

      Note that when I add the jar file (with listener) to WEB-INF/lib of my web application, it DOES get executed.
      So it seems that JBoss does not do dependency injection when @Resource annotations are put on classes which are in the common/lib folder.

      Could someone please help because I don't want to deploy my shared jar with each application individually.

      Many thanks in advance.