[wildfly-dev] How to deal with resource refs when deploying JPA container managed entity managers (WFLY-2841)

arjan tijms arjan.tijms at gmail.com
Fri Jan 31 11:13:42 EST 2014


Hi,

On Fri, Jan 31, 2014 at 4:45 PM, Eduardo Martins <emartins at redhat.com>wrote:

> Yes, but design wise this should be done at EAR level, preventing the
> mistake of multiple components trying to bind same entry in java:app.
>

Is that really true if there only ever is the .war? E.g. in the sense as
mentioned by Adam here:
http://adam-bien.com/roller/abien/entry/is_java_ee_6_war

Also, don't EJBs inside a .war share java:comp with the web module's single
java:comp? So the entire concept of EJB beans having their own component
namespace just goes away then. I think in the modern usage pattern of EJBs
there's not much use for this anyway. If the CDI bean model effectively
replaces the EJB component model in some future Java EE release then all of
this is surely history.

Effectively, in a pure web application (.war, no .ear involved) java:comp
is effectively java:module, which should be more straightforward to
resolve, shouldn't it?


On Fri, Jan 31, 2014 at 4:45 PM, Eduardo Martins <emartins at redhat.com>wrote:

> Yes, but design wise this should be done at EAR level, preventing the
> mistake of multiple components trying to bind same entry in java:app.
>
> --E
>
> On 31 Jan 2014, at 15:08, arjan tijms <arjan.tijms at gmail.com> wrote:
>
> Hi,
>
> On Fri, Jan 31, 2014 at 3:03 PM, Eduardo Martins <emartins at redhat.com>wrote:
>
>> or use an ear and define a java:app bind  at application.xml, to be
>> shared by all modules and components?
>>
>
> If you have just a .war, you can use java:app just as well, can't you? I
> don't think there's a specific need to use an ear just for java:app.
>
> Kind regards,
> Arjan
>
>
>
>
>
>
>>
>> --E
>>
>>
>> On 31 Jan 2014, at 13:13, Scott Marlow <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>
>> >>
>> >>
>> >> 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
>> >
>> > _______________________________________________
>> > wildfly-dev mailing list
>> > wildfly-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>
>>
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20140131/26779097/attachment.html 


More information about the wildfly-dev mailing list