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

Reply via email to