geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <dsundst...@gluecode.com>
Subject Re: Proposal for more uniform gbean naming, similar to jsr-77 names.
Date Wed, 24 Nov 2004 19:24:01 GMT
I have been thinking about this for a while, and yesterday I came up  
with an idea...

On Oct 28, 2004, at 9:28 AM, Dain Sundstrom wrote:

> On Oct 27, 2004, at 10:48 PM, David Jencks wrote:
>
>> <gbean type="3ProngedChuckActuator" name="default"  
>> class="com.bar.foo.Illusion">
>
> +1  maybe it should be serviceType to match the objectName
>
>> <gbean properties="ServiceType=3ProngedChuckActuator,name=default"  
>> class="com.bar.foo.Illusion">
>
> This brings up the issue where I want to have a name that is a logical  
> child of a GBean.  For example:
>
> <gbean serviceType="Component" name="funk" class="x.y.z">
> geronimo.server: 
> J2EEServer=geronimo,ServiceModule=foo,serviceType=Component,name=funk
>
> <gbean serviceType="ComponentPool" Component="funk" name="fpool"  
> class="a.b.c">
> geronimo.server: 
> J2EEServer=geronimo,ServiceModule=foo,Component=funk,serviceType=Pool,n 
> ame=fpool
>
> Maybe we can construct the object name from the attributes, except for  
> the class one?

Yesterday, it occurred to me that we could construct object names, just  
like 77 does.  This means that each component has a logical parent.   
For example:

foo:j2eeType=J2EEApplication,name=MyApp,J2EEServer=MyServer

foo: 
j2eeType=EJBModule,name=MyEJBModule,J2EEApplication=MyApp,J2EEServer=MyS 
erver

foo: 
j2eeType=EntityBean,name=MyBean,EJBModule=MyEJBModule,J2EEApplication=My 
App,J2EEServer=MyServer

To achieve this style of name building we, just need to add a  
parentType and parentName attributes.  For the above names we would  
have the following xml:

<gbean type="J2EEApplication" name="MyApp" class="...">

<gbean type="EJBModule" name="MyEJBModule" parentType="J2EEApplication"  
parentName="MyApp" class="...">

<gbean type="EntityBean" name="MyBean" parentType ="EJBModule"  
parentName ="MyEJBModule" class="...">

In most cases, we you would not have the parentType and parentName, as  
the default parent would be module in which the gbean xml snippet is  
contained.

The only weird thing about this proposal, is it would require the  
parent be *visible* from the deployment code.  This would mean it would  
have to be in the same deployment unit, or possible in a parent  
configuration.  To reduce this problem, I propose that we allow a gbean  
to explicitly set its exact ObjectName (GBeanName).

-dain


Mime
View raw message