Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction expiration problem with JRun 3.1

 
Ajith Kallambella
Sheriff
Posts: 5782
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We are having a problem with long running session bean methods. A facade procures the javax.transaction.UserTransaction object from the context factory and begins a JTA transaction. Three methods on three different session beans are invoked in the transaction and finally the transaction is comitted by the facade. All the session beans are marked with "Required" transaction attribute so that they all participate in the same transaction context. The sessionbean methods call various entity beans that create new records in the database.
During our testing we discovered that long running transactions where 1500 or more database records are created( cumulative across different tables, ) the transaction times out and throws "Invalid or expired transaction" exception. This normally happens near the boundry of 2 minutes. jdbc.timeout
We have tried the following remedies, but none has helped.
1) Increasing ej.ejipt.defaultTransactionTimeout to 3600 in local.properties.
2) Increasing ejipt.defaultTransactionTimeout to 3600 in local.properties.
3) Increasing ejb.sessionTimeout to 600 in local.properties.
4) Programatically setting timeout using UserTransaction.setTransactionTimeout() in the code to 3600 seconds before doing UserTransaction.begin().
5) Increasing jdbc.timeout to 10 minutes and jdbc.interval to 600( seconds? )
Dump from err.log with the exception log -

Anyone seen this before?

------------------
Ajith Kallambella M.
Sun Certified Programmer for the Java�2 Platform.
IBM Certified Developer - XML and Related Technologies, V1.
Co-author of Java 2 Certification Passport
 
Jane Griscti
Ranch Hand
Posts: 3141
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Ajith,
Found a post in Yahoo Groups that says you have to set the following property <code>ejb.ejipt.defaultTranscationTimeout</code> in either deploy.properties or local.properties. Maybe it has to be set in deploy??
Hope that helps. Couldn't find anything else that looked useful. Have you checked Allaires support site??
------------------
Jane Griscti
Sun Certified Programmer for the Java� 2 Platform
Co-author Mike Meyers' Java 2 Certification Passport
 
Ram Pra
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,
I saw the post on Yahoo groups and tried to implementthe same for defaultTransactionTimeout.
But still I get the same error.
Ajith Could you help me out of this ??
Thanks,
Prashanth
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic