geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <d...@iq80.com>
Subject Re: CORBA ported from OpenEJB 2
Date Fri, 23 Feb 2007 15:08:20 GMT
On Feb 23, 2007, at 5:06 AM, Rick McGuire wrote:

> I huddled with djencks yesterday to try to figure out what needs to  
> be done, and came out of this with a lot of questions (see below).   
> We don't think this is going to be much of a deal, but we're not  
> certain on some of the specifics of implementing it.
>
> Rick
>
> David Blevins wrote:
>>
>> On Feb 9, 2007, at 10:26 PM, Dain Sundstrom wrote:
>>
>>> On Feb 9, 2007, at 2:32 PM, Rick McGuire wrote:
>>>
>>>> Dain Sundstrom wrote:
>>>>> I have ported the OpenEJB 2 CORBA code and updated it to the  
>>>>> OpenEJB 3 APIs.  The code is contained in three new modules  
>>>>> geronimo-corba, geronimo-corba-builder and geronimo-yoko.
>>>>>
>>>>> The CORBA code is highly coupled to Geronimo so I put it in  
>>>>> Geronimo.  In the future, I would like to split this code into  
>>>>> OpenEJB specific code and Geronimo specific code, but that will  
>>>>> take a lot of effort that is currently better spent on Jee5.   
>>>>> Hopefully, later this year I'll get time to split the code, but  
>>>>> CORBA typically has a really low priority
>>>>>
>>>>>
>>>>> Lastly, the code is ported, but not hooked up.  So, it isn't  
>>>>> going to work yet for the thousands of you that use CORBA :)
> djencks and I were curious as to why you changed the  
> willMergeEnvironment() methods in the 3 corba builders to always  
> return true.  We couldn't think of any reason why that would be  
> wanted, and we could think of multiple reasons why you wouldn't  
> want that to happen.  Do you remember why you decided to do that?

We covered this many times.  All naming builders were hard coded so  
they always add to the environment.  This is (was?) because the  
deployment system was trying to make this decision before the  
annotations were scanned for additional references.

>>>> For the one person here who does, what does "not hooked up"  
>>>> actually mean?  In other words, how an I going to be spending my  
>>>> time in the near future :-)
>>>
>>> I figured you would be asking me that :)
>>>
>>> All of the GBeans, interceptors, delegates, adapters, etc have  
>>> been ported over and I believe make the correct calls to the  
>>> OpenEJB 3 deployments and containers.
> I've taken a troll through those bits, and I think everything looks  
> ok...I hesitate to make a more definitive statement on anything  
> involving CORBA :-)
>
>
>>> The piece that is not hooked up is deployment.  You'll need to  
>>> hook the EjbModuleBuilder and add the TSS link GBeans.  You will  
>>> also need to enable the CSS naming builder.
> Ok, of the 3 builders that are currently there, djencks and I  
> believe CorbaRefBuilder and OpenEjbCorbaRefBuilder won't require  
> any/much modification (other than the open question of the  
> willMergeEnvironments() method).  The function that's currently  
> performed in the TSSLinkBuilder needs to be done by a  
> CORBAModuleBuilderExtension.  Do you agree?
>
> Also, the CSS naming builder still seems to be enabled.  Am I  
> missing something here?

No idea on either, but this sounds reasonable.

>> To do that part just implement the ModuleBuilderExtension  
>> interface and you can hook into all phases of the EjbModuleBuilder.
> This is probably the part I have the most questions on.  Based on  
> what I see in the two extensions that Geronimo currently has, I  
> *think* the corba extension will need to do the following:
>
> 1)  In createModule(), handle merging of the default environments  
> if we have one.  Should this be unconditional, or should we make it  
> conditional on the presence of TSSLinks as in done in 1.2.
> 2)  In addGBeans(), create the TSSLink GBeans as is currently done  
> in TSSLinkBuilder.  djencks and I couldn't figure out where we need  
> to look to find the TSSLink plan entries.  I'm guessing we retrieve  
> it from the Module somehow, but I'm not sure how or in what form it  
> will be in when retrieved.
>
> Also a couple of side questions.
> 1)  There are two different signatures for createModule(), but I  
> notice that the other extensions only override one of them.  When  
> are they called and what needs to be done here? 2)  I notice that  
> both of these pass a plan argument, in different forms (one File,  
> one Object).  Is it the responsibility of the createModule() method  
> to examine the plan and add any relevant information to the module  
> shared context?  Is that how we get the TSSLink information we'll  
> need in addGBeans()?
> 3)  What form is the plan Object passed to the second createModule 
> () signature?

I think David will have to answer these,

-dain

Mime
View raw message