Thanks, David, it is a good choice to add a new InterfaceType. I have
attached the patch to OpenEJB-1221, if any problem, please let me know.

2010/6/18 David Blevins <[email protected]>

>
> On Jun 17, 2010, at 7:03 AM, Ivan wrote:
>
> > Hi,
> >    While working with AroundTimeout implementation, I found that OpenEJB
> > treats it as a normal business method, and in EJBTimerServiceImpl, I can
> see
> > some codes like :
> >   --->
> >   try {
> >          RpcContainer container = (RpcContainer)
> deployment.getContainer();
> >          Method ejbTimeout = deployment.getEjbTimeout();
> >          container.invoke(deployment.getDeploymentID(),
> > ejbTimeout.getDeclaringClass(), ejbTimeout, new Object[] {timer},
> > timerData.getPrimaryKey());
> >        }
> >   <---
> >     In my plan, I wish to handle AroundTimeout as normal lifecycle
> > intercepor methods, it means that I need to set the Operation.TIMEOUT to
> > invocation context. But with existing codes, I do not find a chance to
> > configure it. I am wondering whether we could update the RpcContainer
> > interface and add a new invoke method ? In that method, we could
> configure
> > the Operation type.
>
> We can probably treat it as a new InterfaceType.  Maybe
> InterfaceType.TIMEOUT or something.
>
> >     Another thing is that if the user call the ejbTimeout method via
> client
> > view, which interceptor methods should be invoked, AroundInvoke or
> > AroundTimeout ? I guess that it should be AroundInvoke ?
>
> Right, it would be a plain AroundInvoke.  Basically any method, say a
> PostConstruct method, could be exposed as a business method.  In that case
> it gets treated as a plain business method.
>
>
> -David
>
>


-- 
Ivan

Reply via email to