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.
this question is directed to those who are familiar with the subject.doAs(subject, action) way of calling business methods on EJBs.
How can I pass parameters with this construct ?!? What if my client has to call a method on the EJB, encapsulated with the ACTION class, which requires parameters ?!
Also: how does this way of calling business methods on beans fit with the service locator pattern ? After all, service locator will at least create the bean and pass the reference. All later calls on the stateful session bean from the client will have to hand this reference to the Action helper classes...
Somehow I think there is another construct which is useful for this.
Are there any other incompatibilities between ServiceLocator and this way of calling the EJBs ?
An inner class which implements the PrivilegedAction should help. An inner class can access an outter class instance memeber , so you can hold the EJB reference in the member variable of outter class. Use service locator to initialize that member variable. The Action can get the reference again and again.
Lin [ April 09, 2005: Message edited by: LIN FENG ]