[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 08:13:30 EST 2014


Great, thanks for reporting the issue Martin!  Great to bring more 
awareness of the deployment problem and workaround.

Scott
On 01/31/2014 08:04 AM, Martin Andersson wrote:
> Thanks a lot!
>
> I can confirm that the app works now.
>
> Br,
> Martin Andersson
> Java EE developer at www.purplescout.se <http://www.purplescout.se>
>
>
> On Fri, Jan 31, 2014 at 1:55 PM, Scott Marlow <smarlow at redhat.com
> <mailto:smarlow at redhat.com>> wrote:
>
>     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>
>      > <mailto: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>
>     <mailto:wildfly-dev at lists.jboss.org
>     <mailto:wildfly-dev at lists.jboss.org>>
>      > https://lists.jboss.org/mailman/listinfo/wildfly-dev
>      >
>      >
>
>     _______________________________________________
>     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
>
>
>
>
> --
> Hälsningar,
> Martin Andersson
> Purple Scout AB
> +46 732 05 14 01



More information about the wildfly-dev mailing list