Alex Loubyansky wrote:

Hello Jim,

related entities must be in the same ejb-jar module.

alex

Tuesday, December 17, 2002, 6:40:31 PM, you wrote:

JC> Jim Clayson wrote:


Hi,

I am implementing some beans in cmp2 (jboss304+tc406) for the first time and I am trying to solve a problem which has to do with one bean being able to see another bean, which is packaged into a seperate ejb jar file, at deployment time. Perhaps this question might better fall under the topic of j2ee packaging but here's my question anyway.

I have the following relationship hierarchy I am trying to emulate:

User 1:N Property 1:N Advert


Here is the error from the consol log:

[ServiceController] Problem starting service jboss.j2ee:jndiName=ejb/Property,service=EJB
org.jboss.deployment.DeploymentException: Entity: Advert not found for: org.jboss.metadata.RelationshipRoleMetaData@7421536b
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData.<init>(JDBCRelationshipRoleMetaData.java:103)
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData.<init>(JDBCRelationMetaData.java:127)
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCApplicationMetaData.<init>(JDBCApplicationMetaData.java:149)
at org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFileLoader.java:52)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(JDBCStoreManager.java:677)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:389)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:339)
at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:198)
at org.jboss.ejb.EntityContainer.start(EntityContainer.java:376)
at org.jboss.ejb.Container.invoke(Container.java:756)
at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy5.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:398)
at java.lang.reflect.Method.invoke(Native Method)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

User (ejb-jar.xml):
<ejb-relation>
<ejb-relation-name>User-Property</ejb-relation-name>

<ejb-relationship-role>
<!-- outdented to fit on a printed page -->
<ejb-relationship-role-name>User-has-properties</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>UserBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>properties</cmr-field-name>
<cmr-field-type>java.util.Set</cmr-field-type>
</cmr-field>
</ejb-relationship-role>

<ejb-relationship-role>
<!-- outdented to fit on a printed page -->
<ejb-relationship-role-name>property-belongs-to-User</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<cascade-delete/>
<relationship-role-source>
<ejb-name>PropertyBean</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>

Property (ejb-jar.xml):

<ejb-relation>
<ejb-relation-name>Property-Adverts</ejb-relation-name>

<ejb-relationship-role>
<!-- outdented to fit on a printed page -->
<ejb-relationship-role-name>property-has-adverts</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>PropertyBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>adverts</cmr-field-name>
<cmr-field-type>java.util.Set</cmr-field-type>
</cmr-field>
</ejb-relationship-role>

<ejb-relationship-role>
<!-- outdented to fit on a printed page -->
<ejb-relationship-role-name>advert-belongs-to-property</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<cascade-delete/>
<relationship-role-source>
<ejb-name>AdvertBean</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>

Advert (ejb-jar.xml): no relationship definitions.

Note each bean is packaged in its own jar file. So it seems I would need to find a way to set up visibility of ejb jars correctly.

I'm not sure what the consequences would be of using different packaging so I have not been down that road.

I would apreciate it if anyone could give some feedback on this.

Jim



-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


JC> Hi,

JC> Here are my Manifest.mf files:

JC> user.jar:
JC> Manifest-Version: 1.0
JC> Created-By: Apache Ant 1.5
JC> Class-path: property.jar
JC> Class-path: advert.jar

JC> property.jar:
JC> Manifest-Version: 1.0
JC> Created-By: Apache Ant 1.5
JC> Class-path: advert.jar
JC> Class-path: user.jar

JC> advert.jar:
JC> Manifest-Version: 1.0
JC> Created-By: Apache Ant 1.5
JC> Class-path: user.jar
JC> Class-path: property.jar

JC> If its any use, here is some of a more recent stack trace (the relevent JC> bit) with DEBUG turned on:

JC> 16:17:41,555 INFO [EjbModule] Starting
JC> 16:17:41,556 DEBUG [EjbModule] Application.start(), start container: JC> org.jboss.ejb.StatelessSessionContainer@35d5f529
JC> 16:17:41,557 DEBUG [StatelessSessionContainer] Begin java:comp/env for JC> EJB: UserSessionBean
JC> 16:17:41,558 DEBUG [StatelessSessionContainer] TCL: JC> java.net.URLClassLoader@2af6b529
JC> 16:17:41,559 DEBUG [StatelessSessionContainer] Binding an JC> EJBLocalReference ejb/AutoGenBean
JC> 16:17:41,560 DEBUG [StatelessSessionContainer] Binding ejb/AutoGenBean JC> to bean source: AutoGenBean
JC> 16:17:41,561 DEBUG [StatelessSessionContainer] End java:comp/env for JC> EJB: UserSessionBean
JC> 16:17:41,562 DEBUG [BaseLocalContainerInvoker] UserSessionBean cannot be JC> Bound, doesn't have local and local home interfaces
JC> 16:17:41,578 DEBUG [ProxyFactory] Bound UserSessionBean to JC> ejb/UserSessionBean
JC> 16:17:41,579 DEBUG [CachedConnectionInterceptor] start called in JC> CachedConnectionInterceptor
JC> 16:17:41,580 DEBUG [EjbModule] Application.start(), start container: JC> org.jboss.ejb.EntityContainer@57cd352a
JC> 16:17:41,585 DEBUG [EntityContainer] Begin java:comp/env for EJB: JC> AutoGenBean
JC> 16:17:41,586 DEBUG [EntityContainer] TCL: java.net.URLClassLoader@260752a
JC> 16:17:41,588 DEBUG [EntityContainer] End java:comp/env for EJB: AutoGenBean
JC> 16:17:41,594 DEBUG [BaseLocalContainerInvoker] Bound EJBLocalHome of JC> AutoGenBean to ejb/AutoGenBean
JC> 16:17:41,596 DEBUG [AutoGenBean] Initializing CMP plugin for AutoGenBean
JC> 16:17:41,643 WARN [ServiceController] Problem starting service JC> jboss.j2ee:jndiName=ejb/AutoGenBean,service=EJB
JC> 16:17:41,646 DEBUG [NestedThrowable] JC> org.jboss.util.NestedThrowable.parentTraceEnabled=true
JC> 16:17:41,665 DEBUG [NestedThrowable] JC> org.jboss.util.NestedThrowable.nestedTraceEnabled=true
JC> 16:17:41,666 DEBUG [NestedThrowable] JC> org.jboss.util.NestedThrowable.detectDuplicateNesting=true
JC> org.jboss.deployment.DeploymentException: Entity: PropertyBean not found JC> for: org.jboss.metadata.RelationshipRoleMetaData@274db524
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData.<init>(JDBCRelationshipRoleMetaData.java:103)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData.<init>(JDBCRelationMetaData.java:127)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCApplicationMetaData.<init>(JDBCApplicationMetaData.java:149)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFileLoader.java:52)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(JDBCStoreManager.java:677)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:389)
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:339)
JC> at JC> org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:198)
JC> at org.jboss.ejb.EntityContainer.start(EntityContainer.java:376)
JC> at org.jboss.ejb.Container.invoke(Container.java:756)
JC> at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
JC> at JC> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
JC> at JC> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
JC> at $Proxy5.start(Unknown Source)
JC> at JC> org.jboss.system.ServiceController.start(ServiceController.java:398)
JC> at java.lang.reflect.Method.invoke(Native Method)
JC> at JC> org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
JC> at JC> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
JC> at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
JC> at $Proxy20.start(Unknown Source)
JC> at org.jboss.ejb.EjbModule.startService(EjbModule.java:430)
JC> at JC> org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:165)
JC> at java.lang.reflect.Method.invoke(Native Method)
JC> at JC> org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
JC> at JC> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
JC> at JC> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
JC> at $Proxy5.start(Unknown Source)
JC> at JC> org.jboss.system.ServiceController.start(ServiceController.java:398)
JC> at java.lang.reflect.Method.invoke(Native Method)
JC> at JC> org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
JC> at JC> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
JC> at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
JC> at $Proxy9.start(Unknown Source)
JC> at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:395)
JC> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:807)
JC> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:799)
JC> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:621)
JC> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:585)
JC> at java.lang.reflect.Method.invoke(Native Method)
JC> at JC> org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
JC> at JC> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
JC> at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
JC> at $Proxy4.deploy(Unknown Source)
JC> at JC> org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:435)
JC> at JC> org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:656)
JC> at JC> org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:507)
JC> at JC> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:212)
JC> at JC> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:225)
JC> at JC> org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)
JC> 16:17:41,690 DEBUG [EjbModule] Application.start(), start container: JC> org.jboss.ejb.EntityContainer@48fb752a
JC> 16:17:41,691 DEBUG [EntityContainer] Begin java:comp/env for EJB: UserBean
JC> 16:17:41,692 DEBUG [EntityContainer] TCL: java.net.URLClassLoader@6508352a
JC> 16:17:41,697 DEBUG [EntityContainer] End java:comp/env for EJB: UserBean
JC> 16:17:41,713 DEBUG [BaseLocalContainerInvoker] Bound EJBLocalHome of JC> UserBean to ejb/UserBean
JC> 16:17:41,714 DEBUG [UserBean] Initializing CMP plugin for UserBean
JC> 16:17:41,722 WARN [ServiceController] Problem starting service JC> jboss.j2ee:jndiName=ejb/UserBean,service=EJB
JC> org.jboss.deployment.DeploymentException: Entity: PropertyBean not found JC> for: org.jboss.metadata.RelationshipRoleMetaData@274db524
JC> at JC> org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData.<init>(JDBCRelationshipRoleMetaData.java:103)

JC> Any help is much appreciated.

JC> Jim



Hi Alex,

Thanks for the response! (I was beginning to climb the walls) Is this documented in the J2EE spec? I looked at it and didn't see any mention. (Could be the amount of time I've spent on this, though.)

jim




-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user


Reply via email to