+1...the debugging thing has been a problem. If for no other reason this is the right thing to do. However, there will be users who care less about isolation and more about memory and speed. This gives them the choice to run exposed to get what they want.

Matt

Dain Sundstrom wrote:
On Mar 18, 2006, at 5:18 AM, John Sisson wrote:

Dain Sundstrom wrote:

Forgot to mention, I added an experimental flag to 1.1 which will turn off proxying in GBean references. This means that the injected reference will be the actual service instance and not a proxy to the service. My guess is this will break a few services that use ProxyManager.getProxyTarget(Objcet), since the reference won't be a proxy. All of these uses will have be rewritten to not assume a proxy if we want to keep use this flag.

To turn it on, you simply set the system property org.apache.geronimo.gbean.NoProxy=true. This is property is picked up by a static block in the AbstractGBeanReference class, so the property will apply for the life of the kernel class loader (normally the life of the vm).

-dain


What was the reason for this experiment?


I'd like to completely remove proxying between gbeans in the future, but I think it would lots break stuff to just flip it over right now. Proxying between GBeans is problematic because it changes the expected programming model of component writers. When you are giving out proxies instead of the instance, the user can no longer use == for comparison, and the since proxies are so much slower, the expected overhead of a call is much higher. Both of these require require changes to the component for it to run in geronimo, and if we want to have the largest component base, we're going to have to change.

Besides all of that, it is really a PITA to debug geronimo since you have to step through all of those proxies, for really no reason.

-dain



Reply via email to