[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