[wildfly-dev] How to deal with resource refs when deploying JPA container managed entity managers (WFLY-2841)
Scott Marlow
smarlow at redhat.com
Fri Jan 31 07:55:03 EST 2014
Hi Arjan,
Great catch! Your change and adding an persistence unit hint that the
persistence unit doesn't need to be started early:
<property name="wildfly.jpa.twophasebootstrap" value="false"/>
Helps the deployment succeed.
It looks like ResourceReferenceProcessor is running during the
Phase.POST_MODULE deployment phase, so we need to add a hint to the
persistence.xml, that helps the persistence unit deploy later.
[6]
https://github.com/wildfly/wildfly/blob/master/ee/src/main/java/org/jboss/as/ee/subsystem/EeSubsystemAdd.java#L194
Scott
On 01/31/2014 06:25 AM, arjan tijms wrote:
> Hi,
>
> I looks like there's one bug in the example.
>
> jboss-web.xml defines jdbc/MyDS
>
> But persistence.xml references java:comp/env/MyDS
>
> Shouldn't the last one be at least java:comp/env/jdbc/MyDS? Regardless,
> even with matching names it indeed doesn't work.
>
> Kind regards,
> Arjan Tijms
>
>
>
>
>
>
>
>
>
> On Thu, Jan 30, 2014 at 9:52 PM, Scott Marlow <smarlow at redhat.com
> <mailto:smarlow at redhat.com>> wrote:
>
> WFLY-2841 reports a deployment failure that occurs when a deployments
> [1] persistence.xml, tries to use a resource reference [2] for the
> datasource [3]. The error [4] mentions an unresolved (DataSource)
> service dependency that is added to the persistence unit service [5],
> instead of resolving the resource reference (and using the underlying
> DataSource).
>
> How should we handle resource references for this case? Is there a way
> to resolve the resource reference directly from deployers? Or do we
> represent the resource reference as a service?
>
> Scott
>
> [1] test app is at https://github.com/umartin/wfds/
>
> [2] jboss-web.xml
> <jboss-web>
> <context-root>/wfds</context-root>
> <resource-ref>
> <res-ref-name>jdbc/MyDS</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
>
> <jndi-name>java:jboss/datasources/ExampleDS</jndi-name>
> </resource-ref>
> </jboss-web>
>
> [3] persistence.xml pu def
> <persistence-unit name="wfdsPU" transaction-type="JTA">
> <jta-data-source>java:comp/env/MyDS</jta-data-source>
> </persistence-unit>
>
> [4] {"JBAS014771: Services with missing/unavailable dependencies" =>
> ["jboss.persistenceunit.\"wfds-1.0-SNAPSHOT.war#wfdsPU\".__FIRST_PHASE__
> is missing
> [jboss.naming.context.java.module.\"wfds-1.0-SNAPSHOT\".\"wfds-1.0-SNAPSHOT\".env.MyDS]"]}
>
>
> [5]
> https://github.com/wildfly/wildfly/blob/master/jpa/core/src/main/java/org/jboss/as/jpa/processor/PersistenceUnitServiceHandler.java#L358
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org <mailto:wildfly-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
>
More information about the wildfly-dev
mailing list