geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jules Gosnell <>
Subject Spring integration...
Date Tue, 08 Feb 2005 09:55:22 GMT

So, Guys,

I've given you a few days to look over the minimal kernel patch.

As I understood it we left the thread with two real options :

1) extend the kernel to allow acceptance of an existing object for 
proxying via GBeanInstance, rather than always constructing such objects 

2) submit a dynamically crafted class and required instance (as 
constructor arg for said class). when class is instantiated and injected 
result will be a proxy that is [largely] semantically identical to (1). 
We must be able to proxy non-interfaces and final methods.

To summarise the debate over the two options :

against (1), for (2)
understandable reticence to change the kernel
concern over the kernel losing explicit ownership of the life-cycle of 
the object that it is managing

for (1), against (2)
we are talking about an extension, not a backwardly incompatible change 
to the kernel
I have demonstrated that such an extension would have minimal footprint 
and implication
(2) does not restore lifecycle ownership to the kernel
(2) is complex, less efficient and will need to be repeated anywhere 
someone needs this fn-ality
(1) is simpler, more efficient and will only need to be done once

Finding a resolution to this is, IMHO, critical to the Spring 
integration. Otherwise I would let it go.

I had a very similar problem integrating two other well known pieces of 
open source some time ago. The host had a JMX kernel and the thing that 
I was embedding had internal MBeans with their own private lifecycles. I 
persuaded the powers-that-were to allow MBeans that were not managed by 
the kernel to be exposed via it. A change was made. The extension to the 
kernel was never rescinded. In fact, at least one other integration now 
makes use of it. It enabled embedded components to open themselves up to 
the services supplied by the kernel in a way that could not be done 

I humbly await your judgement :-)


"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

 * Jules Gosnell
 * Partner
 * Core Developers Network (Europe)
 * Open Source Training & Support.

View raw message