[jboss-user] [EJB 3.0] - Re: How to inject sessionbean from sessionbean from another

j-n00b do-not-reply at jboss.com
Tue Jan 27 06:13:44 EST 2009


Master.java
package ae;
  | 
  | import javax.annotation.Resource;
  | 
  | import org.apache.log4j.Logger;
  | 
  | import ae.Calculator;
  | 
  | public class Master implements MasterMBean {
  |   private static final Logger log = Logger.getLogger(Master.class);
  | 
  |   @Resource(mappedName = Calculator.JNDI_NAME)
  |   private Calculator additionBean;
  | 
  |   public void start() throws Exception {
  |     if (additionBean == null) {
  |       log.error("### unable to inject CalculatorBean!!!");
  |       return;
  |     }
  | 
  |     long result = additionBean.add(new int[] { 1, 2, 3 });
  |     log.info(result);
  |     
  |     // TODO use a quartz job to run a calculation every 5 seconds!
  |   }
  | 
  |   public void stop() {}
  | }
  | 

master-mbean-service.xml:
<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <server>
  |   <mbean code="ae.Master" name="ae:service=Master">
  |     <depends>
  |       jboss.j2ee:jar=SubEJB.jar,name=CalculatorBean,service=EJB3
  |     </depends>
  |   </mbean>
  | </server>
  | 

Calculator.java:

  | package ae;
  | 
  | public interface Calculator {
  |   public static final String JNDI_NAME = "AECalculator";
  |   public long add(int... summands);
  | }
  | 

CalculatorBean.java:

  | package ae;
  | 
  | import javax.ejb.Remote;
  | import javax.ejb.Stateless;
  | 
  | import org.apache.log4j.Logger;
  | import org.jboss.ejb3.annotation.Clustered;
  | 
  | @Clustered
  | @Stateless(mappedName = Calculator.JNDI_NAME)
  | @Remote(Calculator.class)
  | public class CalculatorBean implements Calculator {
  |   private static final Logger log = Logger.getLogger(CalculatorBean.class);
  | 
  |   public long add(int... summands) {
  |     long result = 0;
  |     for (int i : summands) {
  |       result += (long) i;
  |     }
  |     log.info(result);
  |     return result;
  |   }
  | }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4204949#4204949

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4204949



More information about the jboss-user mailing list