[jboss-user] [EJB 3.0] - Re: Reference-Problems within an ear

jaikiran do-not-reply at jboss.com
Sun Apr 13 10:01:23 EDT 2008


"Hilwi" wrote : 
  | This is an extract of the interesting things that I see on the console. First it finds my entity-beans that belong to JbsCore.jar:
  | 
  | 
  |   | [...]
  |   | 13:17:54,238 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.jabusuite.core.users.JbsUser
  |   | 13:17:54,239 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.jabusuite.core.users.JbsUserGroup
  |   | 13:17:54,242 INFO  [Ejb3Configuration] found EJB3 @MappedSuperclass: org.jabusuite.core.utils.JbsBaseObject
  |   | 13:17:54,243 INFO  [Ejb3Configuration] found EJB3 @MappedSuperclass: org.jabusuite.core.utils.JbsObject
  |   | 13:17:54,244 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.jabusuite.core.utils.UserNumber
  |   | [...]
  |   | 
  | 
  | and binds it to the correct tables. After that it deploys JbsCalendar:
  | 
  | 
  |   | 13:18:20,549 INFO  [PersistenceUnitDeployment] Starting persistence unit persistence.units:ear=OpenJbs_Server.ear,unitName=jabusuite
  |   | 13:18:20,556 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.jabusuite.calendar.Appointment
  |   | 13:18:20,558 INFO  [Configuration] Reading mappings from resource : META-INF/orm.xml
  |   | 13:18:20,558 INFO  [Ejb3Configuration] [PersistenceUnit: jabusuite] no META-INF/orm.xml found
  |   | 13:18:20,561 INFO  [AnnotationBinder] Binding entity from annotated class: org.jabusuite.calendar.Appointment
  |   | 13:18:20,562 INFO  [EntityBinder] Bind entity org.jabusuite.calendar.Appointment on table Appointment
  |   | 13:18:20,572 WARN  [ServiceController] Problem starting service persistence.units:ear=OpenJbs_Server.ear,unitName=jabusuite
  |   | org.hibernate.AnnotationException: @OneToOne or @ManyToOne on org.jabusuite.calendar.Appointment.owner references an unknown entity: org.jabusuite.core.users.JbsUser
  |   |         at org.hibernate.cfg.FkSecondPass.doSecondPass(FkSecondPass.java:56)
  |   |         at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:428)
  |   |         at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:286)
  |   |         at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)
  |   |         at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1233)
  |   |         at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154)
  |   |         at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:869)
  |   |         at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:407)
  |   |         at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
  |   |         at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
  |   |         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:103)
  |   |         at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  |   |         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  |   |         at sun.reflect.GeneratedMethodAccessor91.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:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
  |   |         at $Proxy0.start(Unknown Source)
  |   |         at org.jboss.system.ServiceController.start(ServiceController.java:417)
  |   |         at sun.reflect.GeneratedMethodAccessor9.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:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |   |         at $Proxy217.start(Unknown Source)
  |   |         at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
  |   |         at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:627)
  |   |         at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:351)
  |   |         at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
  |   |         at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  |   |         at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  |   |         at sun.reflect.GeneratedMethodAccessor91.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:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
  |   |         at $Proxy0.start(Unknown Source)
  |   |         at org.jboss.system.ServiceController.start(ServiceController.java:417)
  |   |         at sun.reflect.GeneratedMethodAccessor9.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:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |   |         at $Proxy33.start(Unknown Source)
  |   |         at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
  |   |         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.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
  |   |         at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
  |   |         at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
  |   |         at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
  |   |         at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
  |   |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |   |         at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |   |         at $Proxy34.start(Unknown Source)
  |   |         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
  |   |         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
  |   |         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
  |   |         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
  |   |         at sun.reflect.GeneratedMethodAccessor20.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:264)
  |   |         at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |   |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |   |         at $Proxy9.deploy(Unknown Source)
  |   |         at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
  |   |         at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
  |   |         at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
  |   |         at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
  |   |         at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
  |   | 13:18:20,574 INFO  [EJB3Deployer] Deployed: file:/opt/JBoss/jboss-4.2.2.GA/server/default/tmp/deploy/tmp30047OpenJbs_Server.ear-contents/JbsCalendar.jar
  |   | 13:18:20,579 INFO  [TomcatDeployer] deploy, ctxPath=/JaBuSuite_Webclient, warUrl=.../tmp/deploy/tmp30047OpenJbs_Server.ear-contents/JaBuSuite_Webclient-exp.war/
  |   | 13:18:20,795 INFO  [EARDeployer] Started J2EE application: file:/opt/JBoss/jboss-4.2.2.GA/server/default/deploy/OpenJbs_Server.ear
  |   | 13:18:20,806 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
  |   | 
  |   | --- MBeans waiting for other MBeans ---
  |   | ObjectName: persistence.units:ear=OpenJbs_Server.ear,unitName=jabusuite
  |   |   State: FAILED
  |   |   Reason: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on org.jabusuite.calendar.Appointment.owner references an unknown entity: org.jabusuite.core.users.JbsUser
  |   |   I Depend On:
  |   |     jboss.jca:service=DataSourceBinding,name=JaBuSuiteDS
  |   | 
  |   | --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
  |   | ObjectName: persistence.units:ear=OpenJbs_Server.ear,unitName=jabusuite
  |   |   State: FAILED
  |   |   Reason: org.hibernate.AnnotationException: @OneToOne or @ManyToOne on org.jabusuite.calendar.Appointment.owner references an unknown entity: org.jabusuite.core.users.JbsUser
  |   |   I Depend On:
  |   |     jboss.jca:service=DataSourceBinding,name=JaBuSuiteDS
  |   | 
  | 
  | 

This looks strange. There are some entities that are being parsed and *after that* there's a message(marked in bold) which states it (re)starting the deployment of the persistence unit.

"Hilwi" wrote : 
  | This is my persistence.xml:
  | 
  | 
  |   | <?xml version="1.0" encoding="UTF-8"?>
  |   | <persistence version="1.0" 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">
  |   |   <persistence-unit name="jabusuite" transaction-type="JTA">
  |   |     <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |   |     <jta-data-source>java:/JaBuSuiteDS</jta-data-source>
  |   |     <properties>
  |   |       <property name="hibernate.hbm2ddl.auto" value="update"/>
  |   |     </properties>
  |   |   </persistence-unit>
  |   | </persistence>
  |   | 
  | 
  | I use the same for JbsCore and JbsCalendar.
  | 
  | 

Do you mean, that you have placed this persistence.xml in *both*  JbsCore.jar and the JbsCalendar.jar? If yes, then it explains the above logs.

Ideally, if you are having the entities in more than one jar file then, you will create a single persistence.xml and place it in only one of the jar files. The persistence.xml will further have a jar-file element which will mention the name of the other jar file which contains the entities. 

For example, in your case, you can place the persistence.xml (only) in the JbsCalendar.jar  and have something like this in the persistence.xml:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <persistence version="1.0" 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">
  |   <persistence-unit name="jabusuite" transaction-type="JTA">
  |     <provider>org.hibernate.ejb.HibernatePersistence</provider>
  |     <jta-data-source>java:/JaBuSuiteDS</jta-data-source>
  |     <jar-file>../</jar-file>
  |     <jar-file>../JbsCore.jar</jar-file>
  | 
  | 
  |     <properties>
  |       <property name="hibernate.hbm2ddl.auto" value="update"/>
  |     </properties>
  |   </persistence-unit>
  | </persistence>

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4143713#4143713

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4143713



More information about the jboss-user mailing list