Community
Participate
Working Groups
>If the JRE network access is not configured properly and we get a refused connection using the non-embedded derby connector - we get a secondary ClassCastException in DefaultConnector - we should fix this. ------------test.properties ## Derby jdbc.driver.jar=${extensions.depend.dir}/derbyclient.jar db.driver=org.apache.derby.jdbc.ClientXADataSource db.url=jdbc:derby://localhost:1527/ECLIPSELINK db.user=user db.pwd=password db.platform=org.eclipse.persistence.platform.database.DerbyPlatform ------------stacktrace [junit] Caused by: org.apache.derby.client.am.DisconnectException: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect. [junit] at org.apache.derby.client.net.NetAgent.<init>(Unknown Source) [junit] at org.apache.derby.client.net.NetConnection.newAgent_(Unknown Source) [junit] at org.apache.derby.client.am.Connection.<init>(Unknown Source) [junit] at org.apache.derby.client.net.NetConnection.<init>(Unknown Source) [junit] at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source) [junit] at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source) [junit] ... 38 more [junit] Caused by: java.net.ConnectException: Connection refused: connect [junit] at java.net.PlainSocketImpl.socketConnect(Native Method) [junit] at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) [junit] at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) [junit] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) [junit] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) [junit] at java.net.Socket.connect(Socket.java:525) [junit] at java.net.Socket.connect(Socket.java:475) [junit] at java.net.Socket.<init>(Socket.java:372) [junit] at java.net.Socket.<init>(Socket.java:186) [junit] at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:206) [junit] at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source) [junit] at java.security.AccessController.doPrivileged(Native Method) [junit] ... 44 more [junit] [EL Severe]: ServerSession(1811924614)--Thread(Thread[main,5,main])--java.lang.ClassCastException: org.apache.derby.jdbc.ClientXADataSource cannot be cast to java.sql.Driver [junit] at org.eclipse.persistence.sessions.DefaultConnector.instantiateDriver(DefaultConnector.java:337) [junit] at org.eclipse.persistence.sessions.DefaultConnector.directConnect(DefaultConnector.java:162) [junit] at org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:117) [junit] at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162) [junit] at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connectInternal(DatasourceAccessor.java:327) [junit] at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.connectInternal(DatabaseAccessor.java:294) [junit] at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:415) [junit] at org.eclipse.persistence.sessions.server.ConnectionPool.buildConnection(ConnectionPool.java:155) [junit] at org.eclipse.persistence.sessions.server.ConnectionPool.startUp(ConnectionPool.java:433) [junit] at org.eclipse.persistence.sessions.server.ServerSession.connect(ServerSession.java:495) [junit] at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:632) [junit] at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:230) [junit] at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:366) [junit] at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:146) [junit] at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:202) [junit] at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:190) [junit] at org.eclipse.persistence.testing.tests.jpa.advanced.concurrency.LifecycleJUnitTest.testClearWhileEntityManagerInCommitPendingStateWithClearAfterCommit(LifecycleJUnitTest.java:192) >workaround is not to use the embedded non-tx driver - which runs fine but fails with the following for example ## Derby (embedded driver) jdbc.driver.jar=${extensions.depend.dir}/derby.jar:${extensions.depend.dir}/derbyclient.jar db.driver=org.apache.derby.jdbc.ClientDriver db.url=jdbc:derby:eclipselink;create=true db.user=app db.pwd=app db.platform=org.eclipse.persistence.platform.database.DerbyPlatform >results Name Tests Errors Failures Time(s) Time Stamp Host FullRegressionTestSuite 1611 1066 4 256.810 2009-11-03T20:02:08 xps435 [junit] Tests run: 72, Failures: 0, Errors: 2, Time elapsed: 46.581 sec testEMCloseAndOpen Error N/A java.lang.NullPointerException at org.eclipse.persistence.testing.framework.ConnectionWrapper.close(ConnectionWrapper.java:173) at org.eclipse.persistence.testing.framework.DriverWrapper.clear(DriverWrapper.java:176) at org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.testEMCloseAndOpen(EntityManagerJUnitTestSuite.java:8392) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:428) 0.078 testEMFactoryCloseAndOpen Error N/A java.lang.NullPointerException at org.eclipse.persistence.testing.framework.ConnectionWrapper.close(ConnectionWrapper.java:173) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.closeDatasourceConnection(DatabaseAccessor.java:467) at org.eclipse.persistence.internal.databaseaccess.DatasourceAccessor.disconnect(DatasourceAccessor.java:477) at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.disconnect(DatabaseAccessor.java:479) at org.eclipse.persistence.sessions.server.ConnectionPool.shutDown(ConnectionPool.java:411) at org.eclipse.persistence.sessions.server.ServerSession.logout(ServerSession.java:678) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.removeSessionFromGlobalSessionManager(EntityManagerSetupImpl.java:270) at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.undeploy(EntityManagerSetupImpl.java:1596) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:174) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.closeEntityManagerFactory(JUnitTestCase.java:398) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.closeEntityManagerFactory(JUnitTestCase.java:391) at org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.testEMFactoryCloseAndOpen(EntityManagerJUnitTestSuite.java:8423) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:428) 0.031 testNoPersistOnCommit Error Attempting to execute an operation on a closed EntityManagerFactory. java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory. at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.verifyOpen(EntityManagerFactoryImpl.java:218) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:201) at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:190) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.createEntityManager(JUnitTestCase.java:291) at org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite.testNoPersistOnCommit(EntityManagerJUnitTestSuite.java:2745) at org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBare(JUnitTestCase.java:428)
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink