@Depends annotation doesn't work with Jboss 4.0.3SP1 Ejb3.0
markon2 Apr 26, 2006 9:21 AMHello all
@Depends annotation doesn't work with Jboss 4.0.3SP1 Ejb3.0 RC6-PFD release
We use it to inject service into another service
(it works in Ejb3.0 RC5-PFD release)
Following is my code:
TestServiceMbean.java:
import java.util.Date;
import org.jboss.annotation.ejb.Service;
@Service(objectName = "com.telrad.oss.gaia.ejb.srv:service=TestService")
public class TestServiceMBean implements TestService{
private String msg = "No msg";
private int counter = 0;
public void start() throws Exception
{
System.out.println("Service 1 Started" + getMsg());
}
public void connectToServer(int seconds, String serviceName)
{
System.out.println("-------- Test Call");
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public void create() throws Exception
{
System.out.println("TestServiceMBean created");
//msg="Test Service";
}
}
TestServiceMBean2.java:
import org.jboss.annotation.ejb.Depends;
import org.jboss.annotation.ejb.Service;
@Service
public class TestServiceMBean2 implements TestService2 {
private TestService service1;
@Depends ("com.telrad.oss.gaia.ejb.srv:service=TestService")
public void setTestService(TestService service1)
{
this.service1=service1;
}
public void start() throws Exception {
// TODO Auto-generated method stub
service1.connectToServer(7,"Service2");
}
public void create() throws Exception {
// TODO Auto-generated method stub
System.out.println("Service 2 created");
}
public TestService getService1() {
return service1;
}
public void setService1(TestService service1) {
this.service1 = service1;
}
}
Deployment failed with following exception:
Caused by: java.lang.NullPointerException
at com.telrad.oss.gaia.ejb.srv.TestServiceMBean2.start(TestServiceMBean2
.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
java:109)
at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invok
e(TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
java:98)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsI
nterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
java:98)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)