geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <>
Subject GBean now JMX free
Date Thu, 25 Nov 2004 22:04:38 GMT
I just committed the change to the GBean code that removes the 
dependency on JMX.  The code now only uses the Kernel and ObjectName.  
Of course the kernel is still implemented with JMX, but the GBean code 
is not aware of this.

To accomplish this, I moved most of the code in the 
org.apache.geronimo.gbean.jmx package to 
org.apache.geronimo.gbean.runtime.  We still have a GBeanMBean, but it 
contains almost no logic.  All of the code that was in the GBeanMBean 
has been moved to GBeanInstance.  The GBeanMBean is not depredated, and 
you should use GBeanData instead and let the kernel create the 
GBeanMBean for you using the loadGBean(gbeanData, classLoader).  
Additionally, you should not use GBeanInstance directly.  It is 
considered part of the internals of the GBean architecture, and is 
marked as deprecated.

I also did some of the conversion from JMX exception to Geronimo 
specific exception.  I only did this for setAttribute, getAttribute and 
invoke on the kernel.  I would finish this, but I'm already getting in 
trouble for working on a holiday :)  If someone decides to take this 
up, I suggest we think about adding some properties to the exception 
classes such as object name, attribute name, and method signature.

In the process of this, I've added two new kernel services, 
ProxyManager and LifecycleMonitor.  I have marked these both as 
depreciated, so we can review the interfaces.  We need the basic 
functionality to for GBeans, but the interfaces and implementation can 
change.  Once we are all happy with the services, we can removed the 
deprecated tag.

BTW, before I forget the rule with ProxyManager, is if you create a 
Proxy you *must* destroy it. Otherwise, we will get a memory leak.  I 
have some ideas on how to reduce the leaks, but it is good practice to 
destroy the proxy as soon as you are done with it.

Happy holidays everyone,


Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26

View raw message