Error: Creating a Connection Pool: issue with valid transaction levels
Server: SunOS 5.8 Generic_117350-27 sun4u sparc SUNW,UltraAX-MP
App Server: Sun Java System Application Server 8.2
Jar: ojdbc14.jar
Datasource Classname: oracle.jdbc.pool.OracleConnectionPoolDataSource
Resource Type: javax.sql.ConnectionPoolDataSource
Using /SUNWappserver/lib/ojdbc14.jar, when I create my connection pool in Sun Java System Application Server 8.2, I return the following error each time I try to start the domain:
[#|2006-07-28T14:53:56.169-0500|WARNING|sun-appserver-pe8.2|javax.enterprise.re source.resourceadapter|_ThreadID=11;|RAR5117 : Failed to obtain/create connection. Reason : The isolation level could not be set: READ_COMMITTED and SERIALIZABLE are the only valid transaction levels|#]
When I change the value to "SERIALIZABLE" in my domain.xml file, I receive the following error in my server.log:
Caused by: org.xml.sax.SAXParseException: Attribute "transaction-isolation-level" with value "SERIALIZABLE" must have a value from the list "read-uncommitted read-committed repeatable-read serializable ".
So, I'm stuck!
I can't use the values READ_COMMITTED or SERIALIZABLE since the valid values are "read-uncommitted read-committed repeatable-read serializable ".
Case sensitivity matters.
Any thoughts or help would be greatly appreciated.
Thanks,
--Todd
[1378 byte] By [
jtp512] at [2007-11-14]

<jdbc-connection-pool allow-non-component-callers="false" connection-validation-method="table" datasource-classname="oracle.jdbc.xa.client.OracleXADataSource" fail-all-
connections="true" idle-timeout-in-seconds="300" is-connection-validation-required="true" is-isolation-level-guaranteed="false" max-pool-size="32" max-wait-time-in-millis="
60000" name="MyPoolOracle" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.XADataSource" steady-pool-size="8" transaction-isolation
-level="serializable" validation-table-name="DUAL">
<property name="password" value="mostsecret"/>
<property name="user" value="system"/>
<property name="SID" value="xe"/>
<property name="portNumber" value="1521"/>
<property name="serverName" value="myhost"/>
<property name="URL" value="jdbc:oracle:oci:@myhost:1521:xe"/>
</jdbc-connection-pool>
What happens is that the Ping works fine with this (it does not if I change the isolation level to something not supported), but deploy fails when Toplink tries to create the tables for entities.
And the log:
[#|2007-02-22T12:50:41.357+0200|WARNING|sun-appserver-pe9.0|javax.enterprise.re source.resourceadapter|_ThreadID=18;_ThreadName=Thread-59;The isolation level could not be se
t: READ_COMMITTED and SERIALIZABLE are the only valid transaction levels;_RequestID=993fc463-133b-45bc-983b-b44c287b04d9;|RAR5117 : Failed to obtain/create connection. Reas
on : The isolation level could not be set: READ_COMMITTED and SERIALIZABLE are the only valid transaction levels|#]
[#|2007-02-22T12:50:41.358+0200|WARNING|sun-appserver-pe9.0|javax.enterprise.re source.resourceadapter|_ThreadID=18;_ThreadName=Thread-59;Error in allocating a connection. C
ause: The isolation level could not be set: READ_COMMITTED and SERIALIZABLE are the only valid transaction levels;_RequestID=993fc463-133b-45bc-983b-b44c287b04d9;|RAR5114 :
Error allocating connection : [Error in allocating a connection. Cause: The isolation level could not be set: READ_COMMITTED and SERIALIZABLE are the only valid transactio
n levels]|#]
[#|2007-02-22T12:50:41.389+0200|SEVERE|sun-appserver-pe9.0|javax.enterprise.sys tem.tools.deployment|_ThreadID=18;_ThreadName=Thread-59;_RequestID=993fc463-133b -45bc-983b-b4
4c287b04d9;|Exception occured in J2EEC Phase
com.sun.enterprise.deployment.backend.IASDeploymentException:
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: The isolation level could not be set: READ_COMMITTED and SERIALIZABLE are the only valid
transaction levelsError Code: 0
at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseExc eption.java:289)
at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:135)
at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(Datasour ceLogin.java:170)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectD atasource(DatabaseSessionImpl.java:537)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityMan agerFactoryProvider.java:180)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(Entit yManagerSetupImpl.java:191)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getSe rverSession(EntityManagerFactoryImpl.java:78)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.creat eEntityManagerImpl(EntityManagerFactoryImpl.java:113)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.creat eEntityManagerImpl(EntityManagerFactoryImpl.java:107)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEnti tyManager(EntityManagerFactoryImpl.java:76)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.loadPersisten ceUnitBundle(PersistenceProcessor.java:468)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.createTablesI nDB(PersistenceProcessor.java:325)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.processAppBun dle(PersistenceProcessor.java:190)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.processApplic ation(PersistenceProcessor.java:125)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.proces sApplication(DeploymentEventListenerImpl.java:193)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.proces sEvent(DeploymentEventListenerImpl.java:152)
at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.notify DeploymentEvent(DeploymentEventListenerImpl.java:109)
at com.sun.enterprise.deployment.backend.DeploymentEventManager.notifyDeploymentEv ent(DeploymentEventManager.java:66)
at com.sun.enterprise.deployment.backend.AppDeployer.postDeploy(AppDeployer.java:4 29)
at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:225)
at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.j ava:129)
at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:169)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPh ase.java:95)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeplo ymentService.java:871)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentSe rvice.java:266)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentSe rvice.java:739)
at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:174)
at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:210)
|#]