[jboss-dev-forums] [Design of EJB 3.0] - Re: PU Injection across JARs (unrelated DeploymentUnits)
ALRubinger
do-not-reply at jboss.com
Wed Jan 14 02:49:38 EST 2009
An update.
Looks like the dependency issue I illustrated before is handled by the resolver; I must have misread something while debugging/testing. The concept works.
Carlo has taken the prototype done in my patch and applied InterApplicationPersistenceUnitDependencyResolver in r82833.
However, this introduces regression in org.jboss.ejb3.test.persistenceunits.unit.MultipleEarTestCase.testBadEar.
The case is defined by https://jira.jboss.org/jira/browse/JBAS-5043, and shows that InterApplicationPersistenceUnitDependencyResolver is a JBoss-specific extension which is in violation w/ spec:
"EJB3 Persistence Specification 6.2.2" wrote : When referencing a persistence unit using the unitName annotation element or persistence-unit-name deployment descriptor element, the visibility scope of the persistence unit is determined by its point of definition. A persistence unit that is defined at the level of an EJB-JAR, WAR, or application client jar is scoped to that EJB-JAR, WAR, or application jar respectively and is visible to the components defined in that jar or war. A persistence unit that is defined at the level of the EAR is generally visible to all components in the application.
So "org.jboss.ejb3.test.hbm.unit.EntityUnitTestCase.testAll" is testing a spec violation.
We can:
If we really want to test both cases, we can extract one out into a JBoss-specific test with its own server configs to explicitly set the appropriate PU Resolver. Or we could just Unit Test the cases.
Which resolver do we want to use as a default? "hbm" and the "persistenceunits.testBadEar" cases are mutually-exclusive.
S,
ALR
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4201600#4201600
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4201600
More information about the jboss-dev-forums
mailing list