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.
In LifeCycle Callback interceptors , I did not write invocationContext.proceed() has the last statment. Still the interceptors associated with the buisness method was executed and finally buisness method was executed. How is this possible ? since if invocationContext.proceed() is not the last statement then the rest of the interceptors and finally the buisness methods do not execute.
Further the "init" set in ContextData of the above lifecycle callback interceptor was not visible in the other interceptors. System.out.println("init:"+invocationContext.getContextData().get("init")); in other interceptors returned null. How is this possible?
From EJB IN Action "That is the whole point of calling the InvocationContext. proceed method in lifecycle interceptor methods as in the resource logger code. This ensures that the next lifecycle interceptor method in the invocation chain or the bean lifecycle method is triggered."