Auto Re-try EJB Transaction Logic on J2EE Enabled Distributed System
Original Publication Date: 2002-Aug-01
Included in the Prior Art Database: 2003-Jun-21
[What kind of problem does this idea try to solve?] The some failures which occur at back end systems may not be permanent failures on the J2EE (Java 2 Enterprise Edition) enabled EJB (Enterprise Java Beans) distribution transaction system. For example, there are DeadLock, LockWaitTimeout caused by a resource competition on the database system or a temporary network failure. Although it is dependent on a DBMS (DataBase Management System) implementation by a database vender, most DBMS venders provide the function of a DeadLock detection which detects a deadlock situation and forces to terminate one of the competing two threads. In this case, a user can avoid a DeadLock failure automatically by re-trying the transaction which the terminated thread executed. And it was judged as the permanent failure if it is unsuccessful to re-try the transaction two or more times. However, if it does re-try the transaction simply when a server side failure is detected, it has the possibility that the inconsistency of the business data occurs by the timing when a server side failure occurred in the flow of a business logic.