3 Replies Latest reply on Feb 23, 2012 9:13 AM by Mark Paluch

    Accessing a deployed EJB from a war in the same AS 7 instance

    lholmquist Newbie

      I'm sort of new to the whole EJB model.  I'm using as7.1.0.FINAL as my app server


      I have a web app where i am using some @Stateless EJB's that are deployed in the war with the rest of my app and i'm using @Inject to access them. 

      this works fine and i'm comfortable with this.


      There is some functionality that i have that i would like other apps that are running on the same instance of AS 7 to access.


      I've created a simple EJB(hello world) and deployed it. 




      public interface IHelloWorld {



          String sayHi(String value);







      public class HelloWorld implements IHelloWorld



          public String sayHi(String value) {

              return value; 








      11:01:53,172 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-1) JNDI bindings for session bean named HelloWorld in deployment unit deployment "WebLogger.jar" are as follows:











      In my war, i am trying to use @Inject IHelloWorld helloWorld;  to get access to this EJB


      I'm using maven, so i added the dependecy for the other project so the war will compile.


      this is were i'm not sure what to do,  i set the scope of the dependecy in the war to provided so i don't get a copy of the ejb jar in the web-inf/lib .  however if i do this then the war won't deplot because of class loading errors.


      All the quickstarts i've looked at are either deploying the EJB inside a war or ear.  The accessing a remote ejb from a client quickstart might work but i thought that i could access an EJB with @Inject if i was running on the same jvm


      My question is, what is the best way to do this.