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.