14 Replies Latest reply on Mar 28, 2006 6:21 PM by khoyaraaz

    EJB3 to RC5 context lookup confusion

    khoyaraaz

      I am trying to migrate from jbossSP1 and ejb 3.0, to jboss4.0.4RC1 and EJB3.0RC5 for an enterprise application I'm launching in a couple of months. Loved the jbosssp1/ejb3 bundle, but this migration is driving me looney.
      I am currently stuck at trying to get the context lookup to work. I have heard that this is the right syntax:
      TheInterface generateInt = (TheInterface) context.lookup("XXX/TheInterface/local");
      Where TheInterface is the Interface class (that has an @Local annotation in it). XXX is the .ear package (which in my case contains a .war package and a .ejb3 package).
      Questions:
      1) I still can't get this to work. Has anyone else been successful?
      2) I am using eclipse. Am I supposed to change the packaging of the project?
      3) My API's are missing annotations that are mentioned in some examples, am I supposed to change eclipse during this migration?


      ps @RemoteBinding does not exist in my API.

        • 1. Re: EJB3 to RC5 context lookup confusion
          khoyaraaz

          BTW, the error I'm getting at start up of Jboss is:
          ObjectName: jboss.j2ee:service=EJB3,ear=XXX.ear,jar=XXX-beans.ejb3,name=TheInterfaceBean
          State: NOTYETINSTALLED

          Why? I don't know.

          and when trying to use the context.lookup in the servlet, I get:
          javax.naming.NameNotFoundException: TheInterface is not Bound.

          please help, thanks.

          • 2. Re: EJB3 to RC5 context lookup confusion
            gus888

             

            TheInterface generateInt = (TheInterface) context.lookup("XXX/TheInterface/local");

            it seems the "XXX/TheInterface/local" should be "XXX/TheInterfaceBean/local".

            • 3. Re: EJB3 to RC5 context lookup confusion
              khoyaraaz

               

              "gus888" wrote:
              TheInterface generateInt = (TheInterface) context.lookup("XXX/TheInterface/local");

              it seems the "XXX/TheInterface/local" should be "XXX/TheInterfaceBean/local".


              Nope, does not work. Seems like my My Beans are "not Bound" to JNDI.
              thanks for suggestion though.

              Is there a place to get all the changes we have to make when migrating? This would truely make this process easier for devleopers/architects. ;)

              • 4. Re: EJB3 to RC5 context lookup confusion
                bill.burke

                Google is your friend

                The wiki is your friend

                http://wiki.jboss.org/wiki/Wiki.jsp?page=EJB3

                • 5. Re: EJB3 to RC5 context lookup confusion
                  bill.burke

                  the spec is your friend too it has a revision history

                  • 6. Re: EJB3 to RC5 context lookup confusion
                    gus888

                    In addition, you also need to change persistence.xml to the new struture:

                    <persistence>
                     <persistence-unit name="mydb">
                     <jta-data-source>java:/DatabaseDS</jta-data-source>
                     <properties>
                    
                     <property name="hibernate.hbm2ddl.auto" value="update"/>
                    
                     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                    
                     <property name="hibernate.cache.provider_class"
                     value="org.jboss.ejb3.entity.TreeCacheProviderHook"/>
                     <property name="hibernate.treecache.mbean.object_name"
                     value="jboss.cache:service=EJB3EntityTreeCache"/>
                    
                     </properties>
                     </persistence-unit>
                    </persistence>

                    and it is better to change xxx.ejb3 to xxx.jar
                    Details please see
                    http://wiki.jboss.org/wiki/Wiki.jsp?page=FromJBossEJB3.0RC3ToRC4PFD
                    Good luck!

                    • 7. Re: EJB3 to RC5 context lookup confusion
                      khoyaraaz

                      Thanks for trying Bill, but still can't get it to work. The changes in the Wiki are for EJB3 RC4, and the jboss4.0.4rc1 bundle installs EJB3 RC5 (I wasn't prompted to choose a different EJB version).
                      I have tried the changes mentioned on the Wiki, and the spec mentions annotations that are unrecognised (eg @LocalBinding, @Service). Google just lands me on older version info.
                      I am not sure what steps to take to advance. A simple implementation of context lookup (interface with one method, a SLSB, and a servlet is all I need) right now.
                      Thanks.

                      ps ... why can't I see these new annotations, am I missing libraries?

                      • 8. Re: EJB3 to RC5 context lookup confusion
                        bill.burke

                        deployment error messages would help, so would any persistence.xml files you are using.

                        • 9. Re: EJB3 to RC5 context lookup confusion
                          khoyaraaz

                          When staring up jboss:

                          09:46:27,031 WARN [EJBTimerServiceImpl] Cannot obtain TransactionManager from JNDI, using TxManager.getInstance(): javax.naming.NameNotFoundException: TransactionManager not bound
                          09:46:27,453 INFO [TreeCache] setting cluster properties from xml to: UDP(ip_mcast=true;ip_ttl=64;loopback=false;mcast_addr=228.1.2.3;mcast_port=45551;mcast_recv_buf_size=80000;mcast_send_buf_size=150000;ucast_recv_buf_size=80000;ucast_send_buf_size=150000):PING(down_thread=false;num_initial_members=3;timeout=2000;up_thread=false):MERGE2(max_interval=20000;min_interval=10000):FD(down_thread=true;shun=true;up_thread=true):VERIFY_SUSPECT(down_thread=false;timeout=1500;up_thread=false):pbcast.NAKACK(down_thread=false;gc_lag=50;max_xmit_size=8192;retransmit_timeout=600,1200,2400,4800;up_thread=false):UNICAST(down_thread=false;min_threshold=10;timeout=600,1200,2400;window_size=100):pbcast.STABLE(desired_avg_gossip=20000;down_thread=false;up_thread=false):FRAG(down_thread=false;frag_size=8192;up_thread=false):pbcast.GMS(join_retry_timeout=2000;join_timeout=5000;print_local_addr=true;shun=true):pbcast.STATE_TRANSFER(down_thread=false;up_thread=false)
                          09:46:27,500 INFO [TreeCache] setEvictionPolicyConfig(): [config: null]
                          09:46:27,515 WARN [TreeCache] No transaction manager lookup class has been defined. Transactions cannot be used


                          Also Start-up:
                          09:46:53,453 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
                          
                          --- MBeans waiting for other MBeans ---
                          ObjectName: jboss.j2ee:service=EJB3,ear=XXX.ear,jar=MY-beans.ejb3,name=MyBean
                           State: NOTYETINSTALLED
                           I Depend On:
                           persistence.units:unitName=Default2-ds

                          Also Start-up:
                          --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
                          ObjectName: persistence.units:unitName=QMDev-ds
                           State: NOTYETINSTALLED
                           Depends On Me:
                           jboss.j2ee:service=EJB3,ear=XXX.ear,jar=MY-beans.ejb3,name=MyBean


                          During Deployment:
                          09:55:08,078 WARN [ServiceController] Problem starting service persistence.units:ear=QM.ear.ear,jar=QM-beans.ejb3.jar,unitName=qmdev
                          java.lang.reflect.InvocationTargetException
                           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.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:97)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                           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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:974)
                           at $Proxy0.start(Unknown Source)
                           at org.jboss.system.ServiceController.start(ServiceController.java:417)
                           at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                           at java.lang.reflect.Method.invoke(Unknown Source)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                           at $Proxy57.start(Unknown Source)
                           at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:76)
                           at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:599)
                           at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:452)
                           at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:139)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                           at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                           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.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:974)
                           at $Proxy0.start(Unknown Source)
                           at org.jboss.system.ServiceController.start(ServiceController.java:417)
                           at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                           at java.lang.reflect.Method.invoke(Unknown Source)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                           at $Proxy25.start(Unknown Source)
                           at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:365)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
                           at org.jboss.deployment.MainDeployer.start(MainDeployer.java:997)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
                           at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
                           at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                           at java.lang.reflect.Method.invoke(Unknown Source)
                           at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                           at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                           at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                           at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                           at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                           at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                           at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                           at $Proxy6.deploy(Unknown Source)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:334)
                           at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:504)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:207)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:218)
                           at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:197)
                          Caused by: org.hibernate.AnnotationException: No identifier specified for entity: com.quickoffice.quickmanager.ejb.entity.FileSet
                           at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:550)
                           at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:276)
                           at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:210)
                           at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:997)
                           at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:722)
                           at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:161)
                           at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:567)
                           at org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:245)
                           at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:108)
                           at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:260)
                           ... 80 more
                          09:55:08,125 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:service=EJB3,ear=XXX.ear,jar=MY-beans.ejb3,name=MyBean with dependencies:
                          09:55:08,125 INFO [JmxKernelAbstraction] persistence.units:unitName=Default2-ds


                          My persistence.xml:
                          <persistence>
                           <persistence-unit name="Default2-ds">
                           <jta-data-source>java:/Default2-ds</jta-data-source>
                           <properties>
                          
                           <property name="hibernate.hbm2ddl.auto" value="update"/>
                          
                           <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                          
                           <property name="hibernate.cache.provider_class"
                           value="org.jboss.ejb3.entity.TreeCacheProviderHook"/>
                           <property name="hibernate.treecache.mbean.object_name"
                           value="jboss.cache:service=EJB3EntityTreeCache"/>
                          
                           </properties>
                           </persistence-unit>


                          Anything else I could provide?

                          • 10. Re: EJB3 to RC5 context lookup confusion
                            khoyaraaz

                            My Interface:

                            @Local
                            public interface My
                            {
                             public String[] DoSomething ();
                            }


                            My Bean:
                            public @Stateless class MyBean implements My
                            {
                            
                             @PersistenceContext(unitName="Default2-ds")
                             EntityManager em;
                            
                             public String[] DoSomething ();
                            { //Code
                            }
                            }


                            Servlet Context lookup:
                            Context context = new InitialContext();
                            My myBean = (My) context.lookup("XXX/MyBean/local");



                            • 11. Re: EJB3 to RC5 context lookup confusion
                              khoyaraaz

                              I just noticed that on on deployment my ear and ejb3 packages are being appended with additional extention names:

                              11:19:13,406 WARN [ServiceController] Problem starting service persistence.units:ear=XXX.ear.ear,jar=MY-beans.jar.jar,unitName=QMDev-ds


                              Note: XXX.ear.ear,jar=MY-beans.ejb3.jar,

                              Any ideas?

                              • 12. Re: EJB3 to RC5 context lookup confusion
                                khoyaraaz

                                Gus,
                                you're using EJB3 RC5 or RC4PFD?

                                • 13. Re: EJB3 to RC5 context lookup confusion

                                  you have

                                  ObjectName: persistence.units:unitName=QMDev-ds


                                  but in your persistence.xml you declare

                                  persistence-unit name="Default2-ds"


                                  • 14. Re: EJB3 to RC5 context lookup confusion
                                    khoyaraaz

                                     

                                    "Instinct" wrote:
                                    you have

                                    ObjectName: persistence.units:unitName=QMDev-ds


                                    but in your persistence.xml you declare

                                    persistence-unit name="Default2-ds"


                                    I changed the code when posted it, and forgot to change it here ... but have it consistent in the actual app (I'm using Default2-ds properly in the app). :)

                                    I am also getting:
                                    WARN [EJBTimerServiceImpl] Cannot obtain TransactionManager from JNDI, using TxManager.getInstance(): javax.naming.NameNotFoundException: TransactionManager not bound

                                    at the start of jboss starting up.
                                    Does this mean my JNDI itself is screwy?

                                    Also this error:
                                    17:12:27,828 INFO [EntityBinder] Bind entity com.quickoffice.quickmanager.ejb.entity.FileSet on table file_set
                                    17:12:27,843 WARN [ServiceController] Problem starting service persistence.units:ear=QM.ear.ear,jar=QM-beans.jar.jar,unitName=QMDev-ds
                                    java.lang.reflect.InvocationTargetException
                                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:97)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                                     at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:974)
                                     at $Proxy0.start(Unknown Source)
                                     at org.jboss.system.ServiceController.start(ServiceController.java:417)
                                     at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                                     at $Proxy109.start(Unknown Source)
                                     at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:76)
                                     at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:599)
                                     at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:452)
                                     at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:139)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                                     at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:974)
                                     at $Proxy0.start(Unknown Source)
                                     at org.jboss.system.ServiceController.start(ServiceController.java:417)
                                     at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                                     at $Proxy25.start(Unknown Source)
                                     at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:365)
                                     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
                                     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:997)
                                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
                                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
                                     at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                                     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                                     at $Proxy6.deploy(Unknown Source)
                                     at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:334)
                                     at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:522)
                                     at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:207)
                                     at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:280)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
                                     at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:974)
                                     at $Proxy0.start(Unknown Source)
                                     at org.jboss.system.ServiceController.start(ServiceController.java:417)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                                     at $Proxy4.start(Unknown Source)
                                     at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
                                     at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
                                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
                                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
                                     at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:755)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                     at java.lang.reflect.Method.invoke(Method.java:585)
                                     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                                     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                                     at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                                     at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                                     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                                     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:260)
                                     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                                     at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:190)
                                     at $Proxy5.deploy(Unknown Source)
                                     at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:477)
                                     at org.jboss.system.server.ServerImpl.start(ServerImpl.java:357)
                                     at org.jboss.Main.boot(Main.java:200)
                                     at org.jboss.Main$1.run(Main.java:464)
                                     at java.lang.Thread.run(Thread.java:595)
                                    Caused by: org.hibernate.AnnotationException: No identifier specified for entity: com.quickoffice.quickmanager.ejb.entity.FileSet
                                     at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:550)
                                     at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:276)
                                     at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:210)
                                     at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:997)
                                     at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:722)
                                     at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:161)
                                     at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:567)
                                     at org.hibernate.ejb.Ejb3Configuration.createContainerEntityManagerFactory(Ejb3Configuration.java:245)
                                     at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:108)
                                     at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:260)
                                     ... 126 more



                                    ps I have a jar package instead of ejb3 package, so pretend it says .jar