If I process a small number of records, everything works, however when I try to process a "real-world" number of records, I get an "ORA-12519". At first, I thought it was an Oracle issue and after searching around and getting hits on "solutions" involving increasing Oracle sessions and processes (there are at least 125 configured), I was still getting "ORA-12519". I then tailed the TNS listener log and saw that everytime my OpenJPA process ran, it would consume all the JDBC connections as if it was using connection pooling with some high min-connections setting.
In fact, as the stack trace shows, it's only using "SimpleDriveDataSource", which I thought didn't pool connections and I don't have the DBCP jar on my classpath, so why is OpenJPA opening all these JDBC connections? Thanks, Chris 183 marketdata INFO [main] openjpa.Runtime - Starting OpenJPA 2.2.1 214 marketdata INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.OracleDictionary". Exception in thread "main" <openjpa-2.2.1-r422266:1396819 fatal store error> org.apache.openjpa.persistence.RollbackException: Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:594) at ms.algo.adapt.test.BeanIODemo.saveToDB(BeanIODemo.java:153) at ms.algo.adapt.test.BeanIODemo.beanIOTest(BeanIODemo.java:127) at ms.algo.adapt.test.BeanIODemo.main(BeanIODemo.java:50) Caused by: <openjpa-2.2.1-r422266:1396819 fatal general error> org.apache.openjpa.persistence.PersistenceException: Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4958) at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4918) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110) at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:971) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:240) at org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.getConnection(AbstractJDBCSeq.java:163) at org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.allocateInternal(NativeJDBCSeq.java:217) at org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.nextInternal(NativeJDBCSeq.java:201) at org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60) at org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160) at org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager.java:778) at org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:493) at org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:469) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:762) at org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:135) at org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:600) at org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:803) at org.apache.openjpa.kernel.SingleFieldManager.preFlushPCs(SingleFieldManager.java:762) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:664) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589) at org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505) at org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3028) at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44) at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1042) at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2114) at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2074) at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1992) at org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81) at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1516) at org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933) at org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570) ... 3 more Caused by: java.sql.SQLException: Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:517) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:557) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:233) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:556) at org.apache.openjpa.jdbc.schema.SimpleDriverDataSource.getSimpleConnection(SimpleDriverDataSource.java:84) at org.apache.openjpa.jdbc.schema.AutoDriverDataSource.getConnection(AutoDriverDataSource.java:39) at org.apache.openjpa.jdbc.schema.SimpleDriverDataSource.getConnection(SimpleDriverDataSource.java:76) at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:118) at org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:93) at org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:118) at org.apache.openjpa.jdbc.schema.DataSourceFactory$DefaultsDataSource.getConnection(DataSourceFactory.java:304) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connectInternal(JDBCStoreManager.java:982) at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:967) ... 31 more Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found at oracle.net.ns.NSProtocol.connect(NSProtocol.java:457) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1625) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:365) ... 44 more