On 22 Oct 2008, at 06:12, Dan Allen wrote:
It's actually the WarStructure that understands it. ;-)
-
http://anonsvn.jboss.org/repos/jbossas/trunk/server/src/main/org/jboss/we...
Ok, then we're going need different components.xml for JBoss 4.2 and
JBoss 5.
https://jira.jboss.org/jira/browse/JBSEAM-3579
Yes, in fact with any Java EE 5 container, we should make it a
policy in the examples to assume that the container is taking care
of the persistence unit rather than Seam. Seam should only step in
when the container isn't willing or able (such as with JBoss AS 4.2).
What? This isn't something that is mandated by the EE5 spec so how
does this work? Looking up the EMF over JNDI only works in JBoss. The
problem here isn't about EMF lookup, it's about whether the container
deploys the PU or not (JBoss 4.2 doesn't for a war, whilst JBoss 5
does).
Just as a side note, it would be really cool if we could have a way
to configure the persistence in Seam such that Seam will look for
the JNDI name and if that fails, it falls back to having Seam
bootstrap the PU. This is a matter of putting both in place and
letting Seam pick.
<persistence:managed-persistence-context name="entityManager"
auto-create="true"
persistence-unit-jndi-name="java:/appNamePU"
entity-manager-factory="#{entityManagerFactoryUsedIfNecessary}"/>
<persistence:entity-manager-factory
name="entityManagerFactoryUsedIfNecessary"
persistence-unit-name="appNamePU"
persistence-unit-jndi-name="java:/appNamePU"/>
This is not vetted yet, but by adding the persistence-unit-jndi-name
to the entity manager factory, it could disable Seam bootstrapping
if the JNDI lookup returns a hit. Then, the managed persistence
context goes through similar logic when it is being created.
-Dan
--
Dan Allen
Software consultant | Author of Seam in Action
http://mojavelinux.com
http://mojavelinux.com/seaminaction
NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than
a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters. Please don't hesitate to resend a
message if
you feel that it did not reach my attention.