Dear All,
I am using JBoss 3.2.7 to deploy my application which consists of stateless session beans with CMT. I am using Hibernate 3.1.3 for persistance and MySQL 5.0.41 with InnoDB as my DB server. I am facing a strange problem.
I have one bean method where the transaction takes more than 8 minutes to complete. The web page calls the bean method and at the end of 6-7 minutes execution gets completed and page shows a success message but no rows are inserted into the database. I can see all the inserts + updates in the "all query log" of mysql and at the end there is a rollback command but stragely there are no exceptions thrown. I have googled a lot and found certain threads in JBoss forums on exception not being thrown on rollback in the case of JMS but was unable to find anything similar in the case of CMT with SLSB.
I am almost sure that transaction time out will be happening but wondering why there are no exceptions being thrown. My understanding was that when JBoss tries to commit the transacton and if it detects that transaction has timed out, it will throw an error; right?
It will be really helpful if somebody can give some pointers on this..
Here are some more details on my environment
Java - J2SDK 1.4.2_13
MySQL Driver - mysql-connector-java-3.1.12-bin.jar
Relevant attributes of hibernate.cfg.xml
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
<property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
<property name="connection.release_mode">auto</property>
<property name="transaction.flush_before_completion">true</property>
<property name="transaction.auto_close_session">true</property>
Thanks and Regards,
-- Kannan
|