EJB 2.1 client adapters not working
stfkbf Jan 8, 2008 3:24 AMHi
I have attempted to create an EJB with a remote home interface as follows:
public interface TestBeanRemote extends EJBObject { public int getId(); } public interface TestBeanRemoteHome extends EJBHome { public TestBeanRemote create() throws CreateException, RemoteException; } public interface TestBeanEJB3 { public int getId(); } @Stateful(name="TestBean") @Remote(TestBeanEJB3.class) @RemoteHome(TestBeanRemoteHome.class) public class TestBean implements TestBeanEJB3{ private int id = 5; @Init public void create() throws CreateException, RemoteException{} public int getId() { return id; } }
Basically following the tutorials here:
https://glassfish.dev.java.net/javaee5/ejb/examples/Adapted.html
and here:
http://docs.jboss.org/ejb3/app-server/tutorial/ejb21_client_adaptors/ejb21_client_adaptors.html
This however results in the following exception (using JBoss 4.2.0.GA_CP01):
09:15:56,642 ERROR [STDERR] java.lang.IllegalStateException: Container null is not registered 09:15:56,642 ERROR [STDERR] at org.jboss.ejb3.Ejb3Registry.getContainer(Ejb3Registry.java:149) 09:15:56,642 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:70) 09:15:56,642 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 09:15:56,642 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulHomeRemoteProxy.invoke(StatefulHomeRemoteProxy.java:110) 09:15:56,642 ERROR [STDERR] at $Proxy105.create(Unknown Source) 09:15:56,642 ERROR [STDERR] at dk.services.TestService.test(TestService.java:36)
The code used to invoke the bean looks as follows:
TestBeanRemoteHome t; Context context = new InitialContext(); t = (TestBeanRemoteHome) context.lookup("TestBean/home"); tr = t.create();
The line that fails is the create call.
Am i doing something obvious wrong?
The reason for using EJB2.1 instead of EJB3 is that i need to obtain a EJB handle that can be returned by a web service. Serializing the EJB3 remote interface does not seem to work (see http://www.jboss.org/index.html?module=bb&op=viewtopic&t=73311).
Hope someone can help :)