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.
I suppose that we could notice a reference to the java:comp or
java:module and give a warning that entity class enhancing/rewriting
will be disabled, since the deployment will fail otherwise.
What I said before is still true though (about the other situations).
In this case, we can automatically set the "don't start the persistence
unit until late as possible" flag (Install phase).
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(a)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(a)redhat.com
>> <mailto:smarlow@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...
>>
>> 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(a)redhat.com
>> <mailto:smarlow@redhat.com>
>>> <mailto:smarlow@redhat.com <mailto:smarlow@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...
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev(a)lists.jboss.org <mailto:wildfly-dev@lists.jboss.org>
>> <mailto:wildfly-dev@lists.jboss.org
>> <mailto:wildfly-dev@lists.jboss.org>>
>>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>>>
>>
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev(a)lists.jboss.org <mailto:wildfly-dev@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(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/wildfly-dev