>>>What!?  I'm shocked.  Never would have guessed ;)
lol

>>>@Scope manager (OWB) can remove Stateful beans e....
Currently we use this code in EJBBean to create session object proxies;

String jndiName = "java:openejb/Deployment/" +
JndiBuilder.format(deploymentInfo.getDeploymentID(),
this.iface.getName());
Object object = onctext.lookup(jndiName)

If this proxy provide remove() method, we may call it using reflection.

Thanks;

--Gurkan

2010/1/21 David Blevins <[email protected]>

> Also moved to a new thread.
>
> On Jan 21, 2010, at 8:27 AM, Gurkan Erdogdu wrote:
>
>  Hi David;
>>
>> I would also like to help on JCDI integration :)
>>
>
>
> Anyway, a critical piece we'll need for the integration is some way that
> the @Scope manager (OWB) can remove Stateful beans even though these beans
> may not have a remove method.  The best way to do this is to craft up
> something a bit like the old 2.1 days when there was a standard remove
> method on every EJB proxy.
>
> We add this interface to every proxy:
>  org.apache.openejb.core.ivm.IntraVmProxy
>
> In the simplest case, we just add a remove() method to that guy.  Maybe
> more elegantly, we make a new interface just for this directly under the
> org.apache.openejb package and maybe have the IntraVmProxy interface just
> extend it.
>
> The "_invoke" method of the EjbHomeProxyHandler would be coded to ignore
> the remove method.  The "_invoke" method of the "EjbObjectProxyHandler"
> would be coded to spot it and then call the "remove(...)" method of the
> EjbObjectProxyHandler just like it would do for an EJBObject.remove call.
>
> We might have to pass a different method instance into that remove method
> for it work.  Likely it will have to be an instance of either the
> EJBLocalObject.remove method or the EJBObject.remove method for the
> container to understand it.
>
> That's the general idea anyway.  Something along these lines should work.
>
> -David
>
>


-- 
Gurkan Erdogdu
http://gurkanerdogdu.blogspot.com

Reply via email to