You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Johan Parker (Jira)" <ji...@apache.org> on 2021/07/23 09:11:00 UTC
[jira] [Updated] (TOMEE-3777) org.apache.openjpa.persistence.ArgumentException: The persistence
provider is attempting to use properties in the persistence.xml file to
resolve the data source ...
[ https://issues.apache.org/jira/browse/TOMEE-3777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Johan Parker updated TOMEE-3777:
--------------------------------
Description:
{code:java}
<openjpa-3.2.0-r6f721f6 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source. A Java Database Connectivity (JDBC) driver or data source class name must be specified in the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property. The following properties are available in the configuration: "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@393fa2d".
org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:70)
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:925)
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:649)
org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1540)
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531)
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456)
org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:123)
org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:84)
org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1113)
org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1102)
org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:657)
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207)
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64)
GPMWS.getJPA(GPMWS.java:26)
{code}
using Tomee 8.0.6; openjpa3.1.2; Eclipse for java ee 2020 r12
here is the GPMWS.java
{code:java}
@Path("/")
public class GPMWS {
@GET
@Path("/getJPA")
@Produces(MediaType.APPLICATION_JSON)
public List<JPA> getJPA() {
EntityManager entityManager = JPAboot.getEntityManagerFactory().createEntityManager(); TypedQuery<JPA> query = entityManager.createNamedQuery("getJPA", JPA.class);
List<JPA> results = query.getResultList();
return results;
}
{code}
here is JPAboot.java
{code:java}
public class JPAboot {
private static final String PERSISTENCE_UNIT_NAME = "JPAPER";
private static EntityManagerFactory factory;
public static EntityManagerFactory getEntityManagerFactory() {
if (factory == null) {
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
}
return factory;
}
public static void shutdown() {
if (factory != null) {
factory.close();
}
}
}{code}
here JPA.java
{code:java}
@Entity
@Table(name = "JPAs")
@NamedQuery(name="getJPA", query="SELECT j FROM JPAs j")
public class JPA {
@Id
@Column(name = "id")
private int id;
@Column(name = "desc")
private String desc;
public JPA() { }
public JPA(int id, String desc) {
super();
this.id = id;
this.desc = desc;
}
public String getid() { return this.id; }
public String getdesc() { return this.desc; }
public void setid(int id) { this.id = id; }
public void setdesc(String desc) { this.desc = desc; }
}{code}
mysqlconnector8.0.21 jar is under WEB-INF/lib/
here is persistence.xml(which is under META-INF/)
{code:java}
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="JPAPER">
<description>openjpa</description>
<class >JPA</class >
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.mysql.cj.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost/jpatest" />
<property name="javax.persistence.jdbc.user"
value="root" />
</properties>
</persistence-unit>
</persistence>{code}
tried openjpa.ConnectionDriverName in property, still giving the same error
was:
{code:java}
<openjpa-3.2.0-r6f721f6 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source. A Java Database Connectivity (JDBC) driver or data source class name must be specified in the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property. The following properties are available in the configuration: "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@393fa2d".
org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:70)
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:925)
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:649)
org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1540)
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531)
org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456)
org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:123)
org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:84)
org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1113)
org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1102)
org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:657)
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207)
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64)
GPMWS.getJPA(GPMWS.java:26)
{code}
using Tomee 8.0.6; openjpa3.1.2; Eclipse for java ee 2020 r12
here is the GPMWS.java
{code:java}
@Path("/")
public class GPMWS {
@GET
@Path("/getJPA")
@Produces(MediaType.APPLICATION_JSON)
public List<JPA> getJPA() {
EntityManager entityManager = JPAboot.getEntityManagerFactory().createEntityManager(); TypedQuery<JPA> query = entityManager.createNamedQuery("getJPA", JPA.class);
List<JPA> results = query.getResultList();
return results;
}
{code}
here is JPAboot.java
{code:java}
public class JPAboot {
private static final String PERSISTENCE_UNIT_NAME = "JPAPER";
private static EntityManagerFactory factory;
public static EntityManagerFactory getEntityManagerFactory() {
if (factory == null) {
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
}
return factory;
}
public static void shutdown() {
if (factory != null) {
factory.close();
}
}
}{code}
here JPA.java
{code:java}
@Entity
@Table(name = "JPAs")
@NamedQuery(name="getJPA", query="SELECT j FROM JPAs j")
public class JPA {
@Id
@Column(name = "id")
private int id;
@Column(name = "desc")
private String desc;
public JPA() { }
public JPA(int id, String desc) {
super();
this.id = id;
this.desc = desc;
}
public String getid() { return this.id; }
public String getdesc() { return this.desc; }
public void setid(int id) { this.id = id; }
public void setdesc(String desc) { this.desc = desc; }
}{code}
mysqlconnector8.0.21 jar is under WEB-INF/lib/
here is persistence.xml(which is under META-INF/)
{code:java}
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="JPAPER">
<description>openjpa</description>
<class >JPA</class >
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.mysql.cj.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost/jpatest" />
<property name="javax.persistence.jdbc.user"
value="root" />
</properties>
</persistence-unit>
</persistence>{code}
> <openjpa-3.1.2-r66d2a72 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source ...
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TOMEE-3777
> URL: https://issues.apache.org/jira/browse/TOMEE-3777
> Project: TomEE
> Issue Type: Bug
> Affects Versions: 8.0.6
> Reporter: Johan Parker
> Priority: Major
>
>
> {code:java}
> <openjpa-3.2.0-r6f721f6 fatal user error> org.apache.openjpa.persistence.ArgumentException: The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source. A Java Database Connectivity (JDBC) driver or data source class name must be specified in the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property. The following properties are available in the configuration: "org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl@393fa2d".
> org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:70)
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:925)
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:649)
> org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1540)
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:531)
> org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:456)
> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:123)
> org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:84)
> org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1113)
> org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:1102)
> org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:657)
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:207)
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:166)
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.doCreateEM(EntityManagerFactoryImpl.java:282)
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:201)
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:188)
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:178)
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:64)
> GPMWS.getJPA(GPMWS.java:26)
> {code}
> using Tomee 8.0.6; openjpa3.1.2; Eclipse for java ee 2020 r12
>
> here is the GPMWS.java
> {code:java}
> @Path("/")
> public class GPMWS {
>
> @GET
> @Path("/getJPA")
> @Produces(MediaType.APPLICATION_JSON)
> public List<JPA> getJPA() {
> EntityManager entityManager = JPAboot.getEntityManagerFactory().createEntityManager(); TypedQuery<JPA> query = entityManager.createNamedQuery("getJPA", JPA.class);
> List<JPA> results = query.getResultList();
> return results;
> }
> {code}
>
> here is JPAboot.java
> {code:java}
> public class JPAboot {
> private static final String PERSISTENCE_UNIT_NAME = "JPAPER";
> private static EntityManagerFactory factory;
> public static EntityManagerFactory getEntityManagerFactory() {
> if (factory == null) {
> factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
> }
> return factory;
> }
> public static void shutdown() {
> if (factory != null) {
> factory.close();
> }
> }
> }{code}
>
> here JPA.java
> {code:java}
> @Entity
> @Table(name = "JPAs")
> @NamedQuery(name="getJPA", query="SELECT j FROM JPAs j")
> public class JPA {
> @Id
> @Column(name = "id")
> private int id;
> @Column(name = "desc")
> private String desc;
> public JPA() { }
> public JPA(int id, String desc) {
> super();
> this.id = id;
> this.desc = desc;
> }
> public String getid() { return this.id; }
> public String getdesc() { return this.desc; }
> public void setid(int id) { this.id = id; }
> public void setdesc(String desc) { this.desc = desc; }
> }{code}
>
> mysqlconnector8.0.21 jar is under WEB-INF/lib/
>
> here is persistence.xml(which is under META-INF/)
> {code:java}
> <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
> http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
> version="2.1">
> <persistence-unit name="JPAPER">
> <description>openjpa</description>
> <class >JPA</class >
> <properties>
> <property name="javax.persistence.jdbc.driver"
> value="com.mysql.cj.jdbc.Driver" />
> <property name="javax.persistence.jdbc.url"
> value="jdbc:mysql://localhost/jpatest" />
> <property name="javax.persistence.jdbc.user"
> value="root" />
> </properties>
> </persistence-unit>
> </persistence>{code}
>
> tried openjpa.ConnectionDriverName in property, still giving the same error
--
This message was sent by Atlassian Jira
(v8.3.4#803005)