We are using JBoss 4.0.4 with Oracle 10g. We are using ojdbc14.jar as the driver.
I have a session bean for which transaction attribute is
<trans-attribute>NotSupported</trans-attribute>
When this session bean calls a stored procedure, if the stored procedure takes a long time, i.e more than an hour, we get an exception -
java.sql.SQLException: Io exception : Connection reset
We narrowed it down and found that exception happens at exactly 60 minutes.
Yes, no one should expect to run a stored procedure which takes more one hour and I have asked developers to fix it. However I want to find out why it happened. If we wrap the stored procedure call in a session bean method with "RequiresNew", this seems to work.
Is there any parameter which controls this timeout? The Transaction-timeout in jboss-service.xml is set to high number (180 minutes) so there must be some other parameter.
What am I missing? (oracle-ds.xml is attached).
<datasources> <local-tx-datasource> <jndi-name>expMDataSource</jndi-name> <connection-url>jdbc:oracle:thin:@000.000.00.00:0001:1xxdev</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>xxxx</user-name> <password>xxxx</password> <idle-timeout-minutes>0</idle-timeout-minutes> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name> <new-connection-sql>select '1' from dual</new-connection-sql> <check-valid-connection-sql>select '1' from dual</check-valid-connection-sql> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <blocking-timeout-millis>36000</blocking-timeout-millis> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource> </datasources>