You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Albert Lee (JIRA)" <ji...@apache.org> on 2008/04/02 20:11:28 UTC
[jira] Created: (OPENJPA-552) Do not recognize Connection*
properties in persistence.xml in appl server container
Do not recognize Connection* properties in persistence.xml in appl server container
-----------------------------------------------------------------------------------
Key: OPENJPA-552
URL: https://issues.apache.org/jira/browse/OPENJPA-552
Project: OpenJPA
Issue Type: Bug
Components: jdbc
Affects Versions: 1.0.2, 1.0.3, 1.1.0
Reporter: Albert Lee
Assignee: Albert Lee
Fix For: 1.0.3, 1.1.0
If Connection* properties are specified in a persistence unit and there is no <jta-data-source>, <non-jta-data-source> or default data source defined,
PU name : dweb24
Root URL : file:/D:/dev/jdk/runtimes/base_v7_i7/profiles/AppSrv01/installedApps/kingoftownNode03Cell/dweb24Ear.ear/dweb24.war/WEB-INF/classes/
Tx Type : JTA
desc :
Provider : com.ibm.websphere.persistence.PersistenceProviderImpl [WSJPA-1.1.0-SNAPSHOT-r1118:1345, openjpa-1.1.0-SNAPSHOT-r420667:636531]
JTA DS : <<null>> | null
nonJTA DS : <<null>> | null
exclude Cls : false
file URLs : []
mappigFNm : []
managedClasses : [entities.Department,entities.Employee]
Properties : {openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, openjpa.ConnectionPassword=db2admin, openjpa.ConnectionUserName=db2admin, openjpa.ConnectionURL=jdbc:db2://supermatrix:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;, openjpa.jdbc.Schema=ADMINISTRATOR}
then the following exception will be thrown from DataSourceFactory.newDataSource method:
<openjpa-1.1.0-SNAPSHOT-r420667:636531 fatal user error> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1251)
at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
This called path is initiated from PersistenceProviderImpl.createContainerEntityManagerFactory. Consequentially, transformer is not being registered in the appl server container and no load time entity enhancement is performed.
openjpa.Runtime: Warn: An error occurred while registering a ClassTransformer with dweb24. The error is logged along with this warning. Load-time class transformation will not be available.
Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (OPENJPA-552) Do not recognize Connection*
properties in persistence.xml in appl server container
Posted by "Albert Lee (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Albert Lee resolved OPENJPA-552.
--------------------------------
Resolution: Fixed
> Do not recognize Connection* properties in persistence.xml in appl server container
> -----------------------------------------------------------------------------------
>
> Key: OPENJPA-552
> URL: https://issues.apache.org/jira/browse/OPENJPA-552
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.2, 1.0.3, 1.1.0
> Reporter: Albert Lee
> Assignee: Albert Lee
> Fix For: 1.0.3, 1.1.0
>
> Attachments: OPENJPA-552.10x.patch, OPENJPA-552.11x.patch
>
>
> If Connection* properties are specified in a persistence unit and there is no <jta-data-source>, <non-jta-data-source> or default data source defined,
> PU name : dweb24
> Root URL : file:/D:/dev/jdk/runtimes/base_v7_i7/profiles/AppSrv01/installedApps/kingoftownNode03Cell/dweb24Ear.ear/dweb24.war/WEB-INF/classes/
> Tx Type : JTA
> desc :
> Provider : com.ibm.websphere.persistence.PersistenceProviderImpl [WSJPA-1.1.0-SNAPSHOT-r1118:1345, openjpa-1.1.0-SNAPSHOT-r420667:636531]
> JTA DS : <<null>> | null
> nonJTA DS : <<null>> | null
> exclude Cls : false
> file URLs : []
> mappigFNm : []
> managedClasses : [entities.Department,entities.Employee]
> Properties : {openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, openjpa.ConnectionPassword=db2admin, openjpa.ConnectionUserName=db2admin, openjpa.ConnectionURL=jdbc:db2://supermatrix:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;, openjpa.jdbc.Schema=ADMINISTRATOR}
> then the following exception will be thrown from DataSourceFactory.newDataSource method:
> <openjpa-1.1.0-SNAPSHOT-r420667:636531 fatal user error> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
> at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
> at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1251)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> This called path is initiated from PersistenceProviderImpl.createContainerEntityManagerFactory. Consequentially, transformer is not being registered in the appl server container and no load time entity enhancement is performed.
> openjpa.Runtime: Warn: An error occurred while registering a ClassTransformer with dweb24. The error is logged along with this warning. Load-time class transformation will not be available.
> Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (OPENJPA-552) Do not recognize Connection*
properties in persistence.xml in appl server container
Posted by "Albert Lee (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Albert Lee updated OPENJPA-552:
-------------------------------
Attachment: OPENJPA-552.11x.patch
OPENJPA-552.10x.patch
Patch attached. Running maven test and TCK.
> Do not recognize Connection* properties in persistence.xml in appl server container
> -----------------------------------------------------------------------------------
>
> Key: OPENJPA-552
> URL: https://issues.apache.org/jira/browse/OPENJPA-552
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.2, 1.0.3, 1.1.0
> Reporter: Albert Lee
> Assignee: Albert Lee
> Fix For: 1.0.3, 1.1.0
>
> Attachments: OPENJPA-552.10x.patch, OPENJPA-552.11x.patch
>
>
> If Connection* properties are specified in a persistence unit and there is no <jta-data-source>, <non-jta-data-source> or default data source defined,
> PU name : dweb24
> Root URL : file:/D:/dev/jdk/runtimes/base_v7_i7/profiles/AppSrv01/installedApps/kingoftownNode03Cell/dweb24Ear.ear/dweb24.war/WEB-INF/classes/
> Tx Type : JTA
> desc :
> Provider : com.ibm.websphere.persistence.PersistenceProviderImpl [WSJPA-1.1.0-SNAPSHOT-r1118:1345, openjpa-1.1.0-SNAPSHOT-r420667:636531]
> JTA DS : <<null>> | null
> nonJTA DS : <<null>> | null
> exclude Cls : false
> file URLs : []
> mappigFNm : []
> managedClasses : [entities.Department,entities.Employee]
> Properties : {openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, openjpa.ConnectionPassword=db2admin, openjpa.ConnectionUserName=db2admin, openjpa.ConnectionURL=jdbc:db2://supermatrix:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;, openjpa.jdbc.Schema=ADMINISTRATOR}
> then the following exception will be thrown from DataSourceFactory.newDataSource method:
> <openjpa-1.1.0-SNAPSHOT-r420667:636531 fatal user error> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
> at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
> at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1251)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> This called path is initiated from PersistenceProviderImpl.createContainerEntityManagerFactory. Consequentially, transformer is not being registered in the appl server container and no load time entity enhancement is performed.
> openjpa.Runtime: Warn: An error occurred while registering a ClassTransformer with dweb24. The error is logged along with this warning. Load-time class transformation will not be available.
> Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (OPENJPA-552) Do not recognize Connection*
properties in persistence.xml in appl server container
Posted by "Albert Lee (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Albert Lee closed OPENJPA-552.
------------------------------
> Do not recognize Connection* properties in persistence.xml in appl server container
> -----------------------------------------------------------------------------------
>
> Key: OPENJPA-552
> URL: https://issues.apache.org/jira/browse/OPENJPA-552
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.2, 1.0.3, 1.1.0
> Reporter: Albert Lee
> Assignee: Albert Lee
> Fix For: 1.0.3, 1.1.0
>
> Attachments: OPENJPA-552.10x.patch, OPENJPA-552.11x.patch
>
>
> If Connection* properties are specified in a persistence unit and there is no <jta-data-source>, <non-jta-data-source> or default data source defined,
> PU name : dweb24
> Root URL : file:/D:/dev/jdk/runtimes/base_v7_i7/profiles/AppSrv01/installedApps/kingoftownNode03Cell/dweb24Ear.ear/dweb24.war/WEB-INF/classes/
> Tx Type : JTA
> desc :
> Provider : com.ibm.websphere.persistence.PersistenceProviderImpl [WSJPA-1.1.0-SNAPSHOT-r1118:1345, openjpa-1.1.0-SNAPSHOT-r420667:636531]
> JTA DS : <<null>> | null
> nonJTA DS : <<null>> | null
> exclude Cls : false
> file URLs : []
> mappigFNm : []
> managedClasses : [entities.Department,entities.Employee]
> Properties : {openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, openjpa.ConnectionPassword=db2admin, openjpa.ConnectionUserName=db2admin, openjpa.ConnectionURL=jdbc:db2://supermatrix:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;, openjpa.jdbc.Schema=ADMINISTRATOR}
> then the following exception will be thrown from DataSourceFactory.newDataSource method:
> <openjpa-1.1.0-SNAPSHOT-r420667:636531 fatal user error> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
> at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
> at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1251)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> This called path is initiated from PersistenceProviderImpl.createContainerEntityManagerFactory. Consequentially, transformer is not being registered in the appl server container and no load time entity enhancement is performed.
> openjpa.Runtime: Warn: An error occurred while registering a ClassTransformer with dweb24. The error is logged along with this warning. Load-time class transformation will not be available.
> Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (OPENJPA-552) Do not recognize Connection*
properties in persistence.xml in appl server container
Posted by "Albert Lee (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENJPA-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584710#action_12584710 ]
Albert Lee commented on OPENJPA-552:
------------------------------------
The cause of the problem sourced from:
PersistenceProviderImpl.java
private ClassTransformerImpl(ConfigurationProvider cp, String props,
final ClassLoader tmpLoader, OpenJPAConfiguration conf) {
cp.setInto(conf);
// don't allow connections
conf.setConnectionUserName(null); <<<<< Connection Properties are removed
conf.setConnectionPassword(null); <<<<< Connection Properties are removed
conf.setConnectionURL(null); <<<<< Connection Properties are removed
conf.setConnectionDriverName(null); <<<<< Connection Properties are removed
conf.setConnectionFactoryName(null); <<<<< Connection Properties are removed
// use the tmp loader for everything
conf.setClassResolver(new ClassResolver() {
public ClassLoader getClassLoader(Class context,
ClassLoader env) {
return tmpLoader;
}
});
conf.setReadOnly(Configuration.INIT_STATE_FREEZING);
MetaDataRepository repos = conf.getMetaDataRepositoryInstance();
So even the properties are defined in the configuration, they are removed before the MetaDataRepository instance is created. Hence no data source can be found and the described exception is thrown.
This change is introduced in r452141. We assert that these setConnection*(null) statements are not needed because:
1) If the Connection* properties need to be nulled, why are the Connection2* properties are not affected.'
2) The pu can override the intention of these setter(null) calls by specifying the <jta-data-source> and make these operations irrevalent.
Albert Lee.
> Do not recognize Connection* properties in persistence.xml in appl server container
> -----------------------------------------------------------------------------------
>
> Key: OPENJPA-552
> URL: https://issues.apache.org/jira/browse/OPENJPA-552
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.0.2, 1.0.3, 1.1.0
> Reporter: Albert Lee
> Assignee: Albert Lee
> Fix For: 1.0.3, 1.1.0
>
>
> If Connection* properties are specified in a persistence unit and there is no <jta-data-source>, <non-jta-data-source> or default data source defined,
> PU name : dweb24
> Root URL : file:/D:/dev/jdk/runtimes/base_v7_i7/profiles/AppSrv01/installedApps/kingoftownNode03Cell/dweb24Ear.ear/dweb24.war/WEB-INF/classes/
> Tx Type : JTA
> desc :
> Provider : com.ibm.websphere.persistence.PersistenceProviderImpl [WSJPA-1.1.0-SNAPSHOT-r1118:1345, openjpa-1.1.0-SNAPSHOT-r420667:636531]
> JTA DS : <<null>> | null
> nonJTA DS : <<null>> | null
> exclude Cls : false
> file URLs : []
> mappigFNm : []
> managedClasses : [entities.Department,entities.Employee]
> Properties : {openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver, openjpa.ConnectionPassword=db2admin, openjpa.ConnectionUserName=db2admin, openjpa.ConnectionURL=jdbc:db2://supermatrix:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;, openjpa.jdbc.Schema=ADMINISTRATOR}
> then the following exception will be thrown from DataSourceFactory.newDataSource method:
> <openjpa-1.1.0-SNAPSHOT-r420667:636531 fatal user error> org.apache.openjpa.util.UserException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
> at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
> at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
> at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1251)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> This called path is initiated from PersistenceProviderImpl.createContainerEntityManagerFactory. Consequentially, transformer is not being registered in the appl server container and no load time entity enhancement is performed.
> openjpa.Runtime: Warn: An error occurred while registering a ClassTransformer with dweb24. The error is logged along with this warning. Load-time class transformation will not be available.
> Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.