geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <>
Subject Re: [moving-code] Read Me
Date Mon, 08 Sep 2003 06:32:52 GMT
This done now. I strongly suggest you update your source tree right 
away as a ton of code has moved.

We now have a kernel module that depends on no other modules on 
geronimo.  It has a 3MB footprint right now, but I think we can get it 
down to under 1.5MB without sacrificing and functionality.  The boot 
time required jars are now put in a bootlib directory (until jason 
finds a better place for them).

I think we need to quickly breakup the core module as it is getting 
highly coupled.  Also, we need to keep tighter control on the common 
module.  This module should be reserved for truly cross cutting 
concerns and truly tricky code.  It it is not really common code it 
shouldn't be in common and if it is easy code, we are better off 
keeping it in the classes that would have used it and avoiding the 
coupling. The kernel module should also be keep very clean, as it 
directly effects our ability to be used in small utility command, our 
embedability and boot time.

Anyway, take a good look at the new layout, and speak up if you don't 
like some of my changes.  It you want to run the server use "maven 


On Sunday, September 7, 2003, at 01:39 AM, Dain Sundstrom wrote:

> Of course this turned into a massive effort... A list of the all of 
> the code moved from core follows:
> Moved to common module
> ----------------------
> o.a.g.common.jmx
>   the entire package except AbstractManagedObject
>   (we need this one here because boot services implement these 
> interfaces)
> o.a.g.common.service
>   the entire package o.a.g.common from core module
>   AbstractManagedObject
> Moved to kernel module
> ----------------------
> o.a.g.kernel
>   Main
> o.a.g.kernel.deployment
>   the entire package o.a.g.deployment except model and repository
> o.a.g.kernel.jmx
>   JMXKernel
>   GeronimoMBean* (I'm not sure about this one, but GermonimoMBean
>       uses o.a.g.k.d.DeploymentException)
> With this structure the we get a kernel that can boot with the 
> following jars:
>   commons-collections-SNAPSHOT.jar 464k
>   commons-digester-1.5.jar 108k
>   commons-jexl-SNAPSHOT.jar 112k
>   commons-lang-SNAPSHOT.jar 168k
>   commons-logging-1.0.3.jar 32k
>   geronimo-common-DEV.jar 172k
>   geronimo-kernel-DEV.jar 96k
>   log4j-1.2.8.jar 348k
>   mx4j-SNAPSHOT.jar 388k
>   xerces-2.4.0.jar 876k
>   xml-apis-1.0.b2.jar 108k
> Which is 2.8 MB total.  I think we can remove the boot requirement on 
> xerces and the xml-apis which would put us comfortably under 2MB.  I 
> would love to get rid of commons-collections because it is a pig, but 
> digester uses one class from it.
> I'm going to sit on these changes until noon tomorrow CST (about 10 
> hours from now), to give everyone due time complain.
> -dain
> On Saturday, September 6, 2003, at 06:53 PM, Dain Sundstrom wrote:
>> Unless someone objects.  I'm going to move the boot time services 
>> code to the kernel module.  The main motivation for this is the 
>> current class loading is broken because the geronimo-core jar is 
>> booted on the system class path so any service in core must have all 
>> of the classes it depends on in the system class path.
>> I am defining any boot time services as any code necessary load an 
>> empty boot-service.xml file.  Since the boot-service.xml file can 
>> define a class loader for the service in the file, we don't need to 
>> include anything extra.  This will include the Main class and most of 
>> deployment.
>> -dain
>> /*************************
>>  * Dain Sundstrom
>>  * Partner
>>  * Core Developers Network
>>  *************************/

  * Dain Sundstrom
  * Partner
  * Core Developers Network

View raw message