I'm try to create an EJB3, hosted with JBoss. This is the steps that I have been taking by now:
JBoss 4.2.2 GA J2EE 5 U3 with JDK 1.6 MyEclipse 5.5 MS SQL 2005 Express Step 1: Create a new EJB Project AdminEJB with MyEclipse, Choose J2EE 5.0, setup connection driver and schema Step 2: Use MyEclipse Derby to browse the database Step 3: Use EJB3 Reverse Engineering to generate Beans from a table Admin [Username nvarchar(20) Pk, Password nvarchar(20)] (see the generated class) /***************************** | * Admin Entity bean | ******************************/ | | /** | * Admin generated by MyEclipse Persistence Tools | */ | @Entity | @Table(name = "Admin", schema = "dbo", catalog = "TungaRestaurant", uniqueConstraints = {}) | public class Admin implements java.io.Serializable { | | private String username; | private String password; | | /** default constructor */ | public Admin() { | } | | /** full constructor */ | public Admin(String username, String password) { | this.username = username; | this.password = password; | } | | // Property accessors | @Id | @Column(name = "Username", unique = true, nullable = false, insertable = true, updatable = true, length = 20) | public String getUsername() { | return this.username; | } | | public void setUsername(String username) { | this.username = username; | } | | @Column(name = "Password", unique = false, nullable = false, insertable = true, updatable = true, length = 20) | public String getPassword() { | return this.password; | } | | public void setPassword(String password) { | this.password = password; | } | | } | | /***************************** | * Admin Facade | ******************************/ | | /** | * Facade for entity Admin. | */ | @Stateless | public class AdminFacade implements AdminFacadeLocal, AdminFacadeRemote { | // property constants | public static final String PASSWORD = "password"; | | @PersistenceContext | private EntityManager entityManager; | | public void save(Admin transientInstance) { | EntityManagerHelper.log("saving Admin instance", Level.INFO, null); | try { | entityManager.persist(transientInstance); | EntityManagerHelper.log("save successful", Level.INFO, null); | } catch (RuntimeException re) { | EntityManagerHelper.log("save failed", Level.SEVERE, re); | throw re; | } | } | | public void delete(Admin persistentInstance) { | EntityManagerHelper.log("deleting Admin instance", Level.INFO, null); | try { | entityManager.remove(persistentInstance); | EntityManagerHelper.log("delete successful", Level.INFO, null); | } catch (RuntimeException re) { | EntityManagerHelper.log("delete failed", Level.SEVERE, re); | throw re; | } | } | | public Admin update(Admin detachedInstance) { | EntityManagerHelper.log("updating Admin instance", Level.INFO, null); | try { | Admin result = entityManager.merge(detachedInstance); | EntityManagerHelper.log("update successful", Level.INFO, null); | return result; | } catch (RuntimeException re) { | EntityManagerHelper.log("update failed", Level.SEVERE, re); | throw re; | } | } | | public Admin findById(String id) { | EntityManagerHelper.log("finding Admin instance with id: " + id, | Level.INFO, null); | try { | Admin instance = entityManager.find(Admin.class, id); | return instance; | } catch (RuntimeException re) { | EntityManagerHelper.log("find failed", Level.SEVERE, re); | throw re; | } | } | | @SuppressWarnings("unchecked") | public List<Admin> findByProperty(String propertyName, Object value) { | EntityManagerHelper.log("finding Admin instance with property: " | + propertyName + ", value: " + value, Level.INFO, null); | try { | String queryString = "select model from Admin model where model." | + propertyName + "= :propertyValue"; | return entityManager.createQuery(queryString).setParameter( | "propertyValue", value).getResultList(); | } catch (RuntimeException re) { | EntityManagerHelper.log("find by property name failed", | Level.SEVERE, re); | throw re; | } | } | | public List<Admin> findByPassword(Object password) { | return findByProperty(PASSWORD, password); | } | | @SuppressWarnings("unchecked") | public List<Admin> findAll() { | EntityManagerHelper | .log("finding all Admin instances", Level.INFO, null); | try { | String queryString = "select model from Admin model"; | return entityManager.createQuery(queryString).getResultList(); | } catch (RuntimeException re) { | EntityManagerHelper.log("find all failed", Level.SEVERE, re); | throw re; | } | } | } | | /***************************** | * Local and Remote interfaces | ******************************/ | | @Local | public interface AdminFacadeLocal { | public void save(Admin transientInstance); | public void delete(Admin persistentInstance); | public Admin update(Admin detachedInstance); | public Admin findById(String id); | public List findByProperty(String propertyName, Object value); | public List findByPassword(Object password); | } | | @Remote | public interface AdminFacadeRemote { | public void save(Admin transientInstance); | public void delete(Admin persistentInstance); | public Admin update(Admin detachedInstance); | public Admin findById(String id); | public List findByProperty(String propertyName, Object value); | public List findByPassword(Object password); | } Step 3.1: Create persistence.xml <?xml version="1.0" encoding="UTF-8"?> | <persistence xmlns="http://java.sun.com/xml/ns/persistence" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xsi:schemaLocation="http://java.sun.com/xml/ns/persistence | http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> | | <persistence-unit name="AdminEJB" transaction-type="JTA"> | <jta-data-source>java:/MyDB</jta-data-source> | </persistence-unit> | | </persistence> Step 4: Config Application Server JBoss 4.x Step 4.1: copy sqljdbc.jar to server/default/lib Step 4.2: Create datasource file: mssql-ds.xml <?xml version="1.0" encoding="UTF-8"?> | | <datasources> | <local-tx-datasource> | | <jndi-name>MyDB</jndi-name> | | <connection-url>jdbc:sqlserver://DUCNGUYEN-PC\\SQLEXPRESS:49378;database=AdventureWorks;</connection-url> | | <!-- The driver class --> | <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> | | <!-- The login and password --> | <user-name>sa</user-name> | <password></password> | | </local-tx-datasource> | </datasources> Step 5: Deloy AdminEJB within JBoss, start server (Everything is ok) Step 6: Create a new Java Project with MyEclipse referenced build path all the jar file in JBOSS_HOME\client reference the deploy jar file con server/default/deploy Step 7: Create jndi.properties in src folder with the following content: java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=localhost:1099 Step 8: Create log4j.properties in src folder with the following content log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.rootLogger=debug, stdout Step 9: create TestClient.java public class TestClient { | | /** | * @param args | */ | public static void main(String[] args) { | Context context; | try | { | context = new InitialContext(); | | AdminFacadeRemote adminMan = (AdminFacadeRemote)context.lookup(AdminFacade.RemoteJNDIName); | | Admin admin = new Admin("admin","123"); | adminMan.save(admin); | | } catch (NamingException e) | { | e.printStackTrace(); | } | | } | } Step 10: Run the client, this is when the funny thing happened, the first time when client runs, it gets java.lang.ExceptionInInitializerError Please look at the stack trace Exception in thread "main" javax.ejb.EJBException: java.lang.RuntimeException: java.lang.ExceptionInInitializerError | at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | Caused by: java.lang.RuntimeException: java.lang.ExceptionInInitializerError | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:174) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163) | at org.jboss.remoting.Client.invoke(Client.java:1550) | at org.jboss.remoting.Client.invoke(Client.java:530) | at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103) | at $Proxy0.save(Unknown Source) | at com.tungadb.testclient.TestClient.main(TestClient.java:26) | at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103) | at $Proxy0.save(Unknown Source) | at com.tungadb.testclient.TestClient.main(TestClient.java:26) | Caused by: java.lang.ExceptionInInitializerError | at com.tungadb.admin.AdminFacade.save(AdminFacade.java:27) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) | at java.lang.reflect.Method.invoke(Unknown Source) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112) | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | Caused by: javax.persistence.PersistenceException: org.hibernate.HibernateException: The chosen transaction strategy requires access to the JTA TransactionManager | at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:720) | at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121) | at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) | at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) | at com.tungadb.admin.EntityManagerHelper.<clinit>(EntityManagerHelper.java:20) | ... 34 more | Caused by: org.hibernate.HibernateException: The chosen transaction strategy requires access to the JTA TransactionManager | at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:329) | at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) | at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713) | ... 38 more | Step 11: do nothing, just try to run the client again, it gets java.lang.NoClassDefFoundError Please look at the stack trace Exception in thread "main" javax.ejb.EJBException: java.lang.RuntimeException: java.lang.NoClassDefFoundError | at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:63) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:174) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163) | at org.jboss.remoting.Client.invoke(Client.java:1550) | at org.jboss.remoting.Client.invoke(Client.java:530) | at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103) | at $Proxy0.save(Unknown Source) | at com.tungadb.testclient.TestClient.main(TestClient.java:25) | at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | 09:34:06,184 DEBUG InvokerRegistry:595 - removed SocketClientInvoker[1d86fd3, socket://127.0.0.1:3873] from registry | 09:34:06,185 DEBUG MicroSocketClientInvoker:277 - SocketClientInvoker[1d86fd3, socket://127.0.0.1:3873] disconnecting ... | 09:34:06,186 DEBUG SocketWrapper:123 - ClientSocketWrapper[Socket[addr=/127.0.0.1,port=3873,localport=50336].476128] closing | at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103) | at $Proxy0.save(Unknown Source) | at com.tungadb.testclient.TestClient.main(TestClient.java:25) | Caused by: java.lang.NoClassDefFoundError | at com.tungadb.admin.AdminFacade.save(AdminFacade.java:27) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) | at java.lang.reflect.Method.invoke(Unknown Source) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112) | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278) | at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106) | at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) | at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734) | at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560) | at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369) | at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165) | Anyone, please help View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4120693#4120693 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4120693 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user