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

    EJB3 to RC5 context lookup confusion

    Khoya Raaz Newbie

      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
          Khoya Raaz Newbie

          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
            Gus Gu Expert

             

            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
              Khoya Raaz Newbie

               

              "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. ;)

              • 5. Re: EJB3 to RC5 context lookup confusion
                Bill Burke Master

                the spec is your friend too it has a revision history

                • 6. Re: EJB3 to RC5 context lookup confusion
                  Gus Gu Expert

                  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
                    Khoya Raaz Newbie

                    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 Master

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

                      • 9. Re: EJB3 to RC5 context lookup confusion
                        Khoya Raaz Newbie

                        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
                          Khoya Raaz Newbie

                          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
                            Khoya Raaz Newbie

                            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
                              Khoya Raaz Newbie

                              Gus,
                              you're using EJB3 RC5 or RC4PFD?

                              • 13. Re: EJB3 to RC5 context lookup confusion
                                Jan Philipp Giel Newbie

                                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
                                  Khoya Raaz Newbie

                                   

                                  "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