Incorrect connection URL causes NPE when using JDBC Driver
----------------------------------------------------------

                 Key: OPENJPA-656
                 URL: https://issues.apache.org/jira/browse/OPENJPA-656
             Project: OpenJPA
          Issue Type: Bug
    Affects Versions: 1.2.0
            Reporter: Jeremy Bauer
            Priority: Minor


If a JDBC URL is specified with an incorrect protocol or subprotocol in 
combination with a JDBC Driver class when configuring a PU an NPE is thrown 
within the OpenJPA code when trying to create an entity manager.  The NPE 
bubbles out to a not-so-useful PersistenceException with internal 
StoreException containing message text "null".  

For example:  (note the missing colon after the subprotocol)

openjpa.ConnectionDriverName=com.ibm.db2.jcc.DB2Driver
openjpa.ConnectionURL=jdbc:db2//my.database.com:800/MYDB  

Results in:

     [java] <openjpa-1.2.0-SNAPSHOT-r422266:667312 nonfatal general error> 
org.apache.openjpa.persistence.PersistenceException: There were errors 
initializing your configuration: <openjpa-1.2.0-SNAPSHOT-r422266:667312 fatal 
store error> org.apache.openjpa.util.StoreException: null
     [java]     at 
org.apache.openjpa.jdbc.schema.DataSourceFactory.installDBDictionary(DataSourceFactory.java:240)
     [java]     at 
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:692)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
     [java]     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:599)
     [java]     at 
org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:288)
     [java]     at 
org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1429)
     [java]     at 
org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646)
     [java]     at 
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
     [java]     at 
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
     [java]     at 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
     [java]     at 
com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:42)
     [java]     at 
com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:27)
     [java]     at 
suite.r70.base.wasvadd.wsjpa_scripts.wsenhancer.VerifyEnhancementTest.main(VerifyEnhancementTest.java:22)
     [java] Caused by: java.lang.NullPointerException
     [java]     at 
org.apache.openjpa.lib.jdbc.DelegatingConnection.getAutoCommit(DelegatingConnection.java:202)

-- 
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