I have an java ee application with a remote business interface: public interface RegisterRemote { | public void createUser(User user); | public User findUser(long id); | }
and a stateless session bean: @javax.ejb.Stateless | @javax.ejb.Remote(RegisterRemote.class) | public class RegisterBean implements RegisterRemote { | @javax.persistence.PersistenceContext(unitName="carDatabase") | private javax.persistence.EntityManager em; | | public void createUser(User user) { | em.persist(user); | } | | public User findUser(long id) { | return em.find(User.class, id); | } | } and my client looks so: public class Client { | static public void main(String[] args) { | try { | Context jndiContext = getInitialContext(); | Object ref = jndiContext.lookup("RegisterBean/remote"); | RegisterRemote dao = (RegisterRemote) | PortableRemoteObject.narrow(ref, RegisterRemote.class); | | Customer customer_1 = new Customer(); | customer_1.setFirstName("Francis"); | customer_1.setLastName("Pouatcha"); | customer_1.setUsername("francis.pouatcha"); | customer_1.setPassword("franc123Poutacha"); | customer_1.setEmail("[EMAIL PROTECTED]"); | dao.createUser(customer_1); | | Customer customer_2 = (Customer) dao.findUser(1); | System.out.println(customer_2.getFirstName()); | System.out.println(customer_2.getLastName()); | System.out.println(customer_2.getUsername()); | System.out.println(customer_2.getPassword()); | System.out.println(customer_2.getEmail()); | | } catch ( NamingException ne ) { | ne.printStackTrace(); | } | } | private static Context getInitialContext() throws NamingException { | java.util.Properties properties = new java.util.Properties(); | properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); | properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); | properties.put(Context.PROVIDER_URL, "jnp://localhost:1099"); | return new javax.naming.InitialContext(properties); | } | } and then when I run this client for the first time this do all things fine. But when I change the annotion of the session bean to @javax.ejb.Stateful then I get this error: [java] Exception in thread "main" javax.ejb.EJBException: java.lang.IllegalArgumentException: Wrong target. class de.mathema.slsb.RegisterBean for public void de.mathema.slsb.RegisterBean.createUser(de.mathema.domain.User) | [java] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69) | [java] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83) | [java] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227) | [java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | [java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | [java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828) | [java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681) | [java] at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358) | [java] at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398) | [java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239) | [java] Caused by: java.lang.IllegalArgumentException: Wrong target. class de.mathema.slsb.RegisterBean for public void de.mathema.slsb.RegisterBean.createUser(de.mathema.domain.User) | [java] at org.jboss.aop.joinpoint.MethodInvocation.handleErrors(MethodInvocation.java:141) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:116) | [java] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) | [java] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | [java] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:227) | [java] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | [java] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | [java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828) | [java] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681) | [java] at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358) | [java] at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398) | [java] at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239) | [java] at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:190) | [java] at org.jboss.remoting.Client.invoke(Client.java:525) | [java] at org.jboss.remoting.Client.invoke(Client.java:488) | [java] at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:55) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:78) | [java] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | [java] at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102) | [java] at $Proxy0.createUser(Unknown Source) | [java] at de.mathema.clients.Client.main(Client.java:40) But when I restart the server and then run my client for the second time this work fine. Can somebody tells me what is here the problem, because I know that jboss as is a hot-deployment server that can inspect that something have been changed. Thanks. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982249#3982249 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982249 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user