[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 10:27:02 EST 2014
I'm not sure that using java:app would help the need for adding
deployment hints. Unless, we detect that java:app (as a hint that
datasources will not be available early) in the datasource name and
disable entity enhancing (slowing performance).
On 01/31/2014 09:33 AM, Martin Andersson wrote:
> I agree. I don't think mapping a datasource in jboss-web.xml is such an
> exotic use case. I should just work. Also, there is no hint anywere that
> there is a property you can set to make it work.
>
> The proprietary jboss namespace is not an option since I want to be
> vendor neutral, but ear/java:app is definitely an option.
>
> Br,
> Martin Andersson
> Java EE developer at www.purplescout.se <http://www.purplescout.se>
>
> On Fri, Jan 31, 2014 at 3:03 PM, Eduardo Martins <emartins at redhat.com
> <mailto:emartins at redhat.com>> wrote:
>
> IMHO this hint should not be needed, a PU referencing a java:comp or
> java:module datasource is already a hint that the PU will need a
> resource bound by another component bundled in same jar/war.
>
> By the way I’m not really a fan of using java:comp in a PU, it sets
> an dependency on a EE component, and that doesn’t seem right.
> Wouldn't be preferable to use the original
> java:jboss/datasources/ExampleDS JNDI name, or use an ear and define
> a java:app bind at application.xml, to be shared by all modules and
> components?
>
> —E
>
>
> On 31 Jan 2014, at 13:13, Scott Marlow <smarlow at redhat.com
> <mailto:smarlow at redhat.com>> wrote:
>
> > 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> <http://www.purplescout.se>
> >>
> >>
> >> On Fri, Jan 31, 2014 at 1:55 PM, Scott Marlow
> <smarlow at redhat.com <mailto:smarlow at redhat.com>
> >> <mailto: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>>
> >>> <mailto: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>>
> >> <mailto: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>
> <mailto: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 <tel:%2B46%20732%2005%2014%2001>
> >
> > _______________________________________________
> > 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