Hi,
I am using Glassfish 2.1 with ESB.
When I do my development on my laptop, I find that I cannot use Glassfish JDBC Connection Pools, as for some reason a full Glassfish restart is required every time I redeploy a WAR that uses the pools.
So when working locally I don't use Glassfish connection pooling, but instead use Spring connection pooling.
Spring works nicely with the property defaultAutoCommit=false.
I can then invoke stored procedures, which are written such that they only do a final COMMIT if everything works.
My problem is that when I deploy to the target Solaris Glassfish environment, and I switch to using the Glassfish connection pooling, the stored procedures that I call ALWAYS get committed.
This is the data source bean:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/develop-jdbc-resource-1"/>
</bean>
This is the bit from my domain.xml that defines the connection pool:
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="true" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="oracle.jdbc.pool.OracleConnectionPoolDataSource" fail-all-connections="false" idle-timeout-in-seconds="60" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="5" name="develop-jdbc-pool-1" non-transactional-connections="true" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" transaction-isolation-level="read-committed" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
<property name="URL" value="jdbc:oracle:thin:@DEVELOP"/>
<property name="user" value="DEVELOP"/>
<property name="password" value="DEVELOPPW"/>
<property name="networkProtocol" value="tcp"/>
<property name="portNumber" value="1522"/>
<property name="ExplicitCachingEnabled" value="false"/>
<property name="MaxStatements" value="0"/>
<property name="TNSEntryName" value="DEVELOP"/>
<property name="databaseName" value="DEV1"/>
<property name="DataSourceName" value="OracleConnectionPoolDataSource"/>
<property name="LoginTimeout" value="0"/>
<property name="ImplicitCachingEnabled" value="false"/>
<property name="DefaultAutoCommit" value="false"/>
<property name="defaultAutoCommit" value="false"/>
</jdbc-connection-pool>
Can anybody help me? What am I doing incorrectly?
Thank you very much!
[Message sent by forum member 'm_jenkins']
http://forums.java.net/jive/thread.jspa?messageID=398695