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

Eric Hamilton updated TOMEE-3849:
---------------------------------
    Description: 
A Java web application is unable to use the default EclipseLink JPA provider 
that is included in the TomEE Plume distributable.  JPA is only able to 
discover the OpenJPA provider within the TomEE server libraries.  Attached 
TestWeb application to reproduce the issue.  This configuration was working in 
TomEE Plume 8.0.6, and behavior was changed in 8.0.7.

 

Web application persistence.xml configured with EclipseLink JPA:
{code:java}
  <persistence-unit name="TestJPA" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
{code}
 

JPA fails to load with error:
{code:java}
javax.persistence.PersistenceException: No persistence providers available for 
"TestJPA" after trying the following discovered implementations: 
org.apache.openjpa.persistence.PersistenceProviderImpl{code}
 

Workaround is to copy the the EclipseLink library into the web application 
libraries.  Then JPA will discover both the OpenJPA and EclipseLink providers 
from the Java web application.

  was:
A Java web application is unable to use the default EclipseLink JPA provider 
that is included in the TomEE Plume distributable.  It appears that JPA is only 
able to discover the OpenJPA provider within the TomEE server libraries.  
Attached TestWeb application to reproduce the issue.  This configuration was 
working in TomEE Plume 8.0.6, and behavior was changed in 8.0.7.

 

Web application persistence.xml configured with EclipseLink JPA:
{code:java}
  <persistence-unit name="TestJPA" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
{code}
 

JPA fails to load with error:
{code:java}
javax.persistence.PersistenceException: No persistence providers available for 
"TestJPA" after trying the following discovered implementations: 
org.apache.openjpa.persistence.PersistenceProviderImpl{code}
 

Workaround is to copy the the EclipseLink library into the web application 
libraries.  Then JPA will discover both the OpenJPA and EclipseLink providers 
from the Java web application.


> EclipseLink JPA provider not discoverable in TomEE Plume libraries
> ------------------------------------------------------------------
>
>                 Key: TOMEE-3849
>                 URL: https://issues.apache.org/jira/browse/TOMEE-3849
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 8.0.7, 8.0.8, 8.0.9, 8.0.10
>            Reporter: Eric Hamilton
>            Priority: Major
>              Labels: JPA, eclipselink, openjpa
>         Attachments: TestWeb.zip
>
>
> A Java web application is unable to use the default EclipseLink JPA provider 
> that is included in the TomEE Plume distributable.  JPA is only able to 
> discover the OpenJPA provider within the TomEE server libraries.  Attached 
> TestWeb application to reproduce the issue.  This configuration was working 
> in TomEE Plume 8.0.6, and behavior was changed in 8.0.7.
>  
> Web application persistence.xml configured with EclipseLink JPA:
> {code:java}
>   <persistence-unit name="TestJPA" transaction-type="RESOURCE_LOCAL">
>     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
> {code}
>  
> JPA fails to load with error:
> {code:java}
> javax.persistence.PersistenceException: No persistence providers available 
> for "TestJPA" after trying the following discovered implementations: 
> org.apache.openjpa.persistence.PersistenceProviderImpl{code}
>  
> Workaround is to copy the the EclipseLink library into the web application 
> libraries.  Then JPA will discover both the OpenJPA and EclipseLink providers 
> from the Java web application.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to