This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Our application accesses some common external EJBs implemented by third-party vendors. We have to implement timeout for every method call to an external EJB. We did a small POC on this by writing a local EJB for every external EJB and specifying a transaction timeout value on the methods of the local EJB. We wrote a dummy external EJB and put an infinite loop in one of its method. The local EJB calls this method of the external EJB and the method of the local EJB has a transaction timeout value of 5 seconds. The method in the local EJB has the transaction attribute of REQUIRED and we have tried this by giving all possible transaction attributes for the method in the external EJB. But the transaction is not timing out. What other settings we need to do ? Is there any other way of implementing timeout on EJB method calls. Also, how can we implement timeout for methods which are not in a transaction, which have a Transaction attribute of NEVER ?