[ 
https://issues.apache.org/jira/browse/OPENJPA-932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Curtis updated OPENJPA-932:
--------------------------------

    Attachment: OPENJPA-932.patch

The bug is that we parse all URLs matching the provided resource name, but only 
return the PU names from the last URL that was parsed. We should be saving the 
results after each time we parse a URL and returning ALL results.

In addition to the bug fix I added some error detection. If there are 
persistence unit name collisions for the provided resource name, a WARNING 
message will be logged.  See below for a snippet from a test run.

...
     [java] 297  WARN   [main] openjpa.Persistence - The persistence unit 
"jpa.connection-pool" was found in the following resources 
"[file:/C:/jpa/workspace-samples/projects/j
pa.connection.pool/bin/META-INF/persistence.xml, 
jar:file:/C:/jpa/workspace-samples/projects/lib/test-bad.jar!/META-INF/persistence.xml]".
 Please correct the problem as it may
have unexpected results.
...

> Runtime enhancer doesn't work propery if there is a trailing persistence.xml 
> file on the classpath.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-932
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-932
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.2.0, 2.0.0-M1, 2.0.0
>            Reporter: Rick Curtis
>         Attachments: OPENJPA-932.patch
>
>
> I have an application where I am using runtime class enhancement via the 
> javaagent and I set openjpa.RuntimeUnenhancedClasses=unsupported. My 
> application works fine when running on 1.1.0 but when I moved to 1.2.0 (and 
> 2.0.0) I started getting errors because my classes aren't being enhanced. 
> After debugging I determined that I had a jar on the end of my classpath that 
> had a META-INF/persistence.xml file in it. The extra persistence.xml file has 
> no PUs defined, and should have been ignored. When I removed that jar from my 
> classpath things starting working again. It also works if I put my 
> META-INF/persistence.xml file on the end of my classpath.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to