I got a problem when developed a simple stateful EJB3. Can you help me to solve this problem. Thanks a lot.
This is remote interface : | package examples.session.stateful; | | | /** | * The business interface - a plain Java interface with only | * business methods. | */ | | public interface Count { | /** | * Increments the counter by 1 | */ | public int count(); | /** | * Sets the counter to val | * @param val | */ | public void set(int val); | /** | * removes the counter | */ | public void remove(); | | } | And this is Bean class : | package examples.session.stateful; | | import javax.ejb.Remote; | import javax.ejb.Remove; | import javax.ejb.Stateful; | | @Stateful | @Remote(Count.class) | public class CountBean implements Count { | | /** The current counter is our conversational state. */ | private int val; | | /** | * The count() business method. | */ | public int count() { | System.out.println("count()"); | return ++val; | } | | /** | * The set() business method. | */ | public void set(int val) { | this.val = val; | System.out.println("set()"); | } | | /** | * The remove method is annotated so that the container knows | * it can remove the bean after this method returns. | */ | @Remove | public void remove() { | System.out.println("remove()"); | } | } | And test client : | package examples.test.stateful; | | import java.util.Properties; | | import javax.naming.Context; | import javax.naming.InitialContext; | | import examples.session.stateful.Count; | | public class CountClient { | | /** | * @param args | */ | public static void main(String[] args) { | // TODO Auto-generated method stub | Properties properties = new Properties(); | properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory"); | properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces"); | properties.put("java.naming.provider.url","localhost:1099"); | | Context ctx; | try { | ctx = new InitialContext(properties); | Count obj = (Count) ctx.lookup("CountBean/remote"); | System.out.println(obj); | } catch (Exception e) { | e.printStackTrace(); | } | } | | } | This is the problem : | Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/jboss/invocation/Invoker; | at java.lang.Class.getDeclaredFields0(Native Method) | at java.lang.Class.privateGetDeclaredFields(Unknown Source) | at java.lang.Class.getDeclaredField(Unknown Source) | at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source) | at java.io.ObjectStreamClass.access$600(Unknown Source) | at java.io.ObjectStreamClass$2.run(Unknown Source) | at java.security.AccessController.doPrivileged(Native Method) | at java.io.ObjectStreamClass.<init>(Unknown Source) | at java.io.ObjectStreamClass.lookup(Unknown Source) | at java.io.ObjectStreamClass.initNonProxy(Unknown Source) | at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) | at java.io.ObjectInputStream.readClassDesc(Unknown Source) | at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) | at java.io.ObjectInputStream.readObject0(Unknown Source) | at java.io.ObjectInputStream.defaultReadFields(Unknown Source) | at java.io.ObjectInputStream.readSerialData(Unknown Source) | at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) | at java.io.ObjectInputStream.readObject0(Unknown Source) | at java.io.ObjectInputStream.defaultReadFields(Unknown Source) | at java.io.ObjectInputStream.readSerialData(Unknown Source) | at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) | at java.io.ObjectInputStream.readObject0(Unknown Source) | at java.io.ObjectInputStream.readObject(Unknown Source) | at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:107) | at java.io.ObjectInputStream.readExternalData(Unknown Source) | at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) | at java.io.ObjectInputStream.readObject0(Unknown Source) | at java.io.ObjectInputStream.defaultReadFields(Unknown Source) | at java.io.ObjectInputStream.readSerialData(Unknown Source) | at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) | at java.io.ObjectInputStream.readObject0(Unknown Source) | at java.io.ObjectInputStream.readObject(Unknown Source) | at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128) | at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66) | at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279) | at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143) | at org.jboss.remoting.Client.invoke(Client.java:525) | at org.jboss.remoting.Client.invoke(Client.java:488) | at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:41) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88) | at org.jboss.aspects.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:34) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88) | at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:46) | at $Proxy0.createProxy(Unknown Source) | at org.jboss.ejb3.JndiProxyFactory.getObjectInstance(JndiProxyFactory.java:52) | at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source) | at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1125) | at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1142) | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705) | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) | at javax.naming.InitialContext.lookup(Unknown Source) | at examples.test.stateful.CountClient.main(CountClient.java:25) | please, help me as soon as possible. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3992994#3992994 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3992994 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user