geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: how are gbean references resolved?
Date Wed, 22 Feb 2006 19:11:43 GMT
Some of how this works is about to change.  The outlines of what I  
advise should not change.  For now what you should do is start with  
geronimo trunk where there is an axis-builder configuration that  
includes the axis builder gbean.  You need to  write a celtix-builder  
configuration that includes your celtix-builder gbean.  Then make an  
assembly that includes your celtix-builder config instead of the axis- 
builder config.

There's a missing feature at the moment that the web service builder  
(axis or celtix) does not get to add to the default parents.  In the  
1.1/configid branch we are greatly modifying how the default parents  
are set up and I plan to look at this problem with web service  
builders after we get 1.1 out.  Meanwhile you will need to change the  
default parentids in the jetty, tomcat, and openejb builders.

If we need a more general pattern for web service builder let us know  
and we can change it.  I imagine there will eventually be the  
possibility of axis2/celtix/whatever specific configuration info for  
a web service.  In this case we can do something like what we do for  
jetty and tomcat and allow the schema namespace of the metadata to  
determine which builder we use.  However for now I think we should  
just switch which configuration is started.

Hope this makes some sense
david jencks

On Feb 22, 2006, at 5:15 AM, Conrad O'Dea wrote:

> Hi there,
>
> I've been looking at a way of plugging a Celtix runtime into Geronimo
> and have some questions and observations on deployment of  
> components and
> their dependencies.  Apologies in advance if I have misunderstood  or
> missed something completely.
>
> Basically my question is how are GBean references resolved?  When one
> gbean has a reference to another of a specific type, how is that  
> reference
> resolved? Some more detail follows.
>
> In order to allow Celtix to be used to deploy JAXWS web-services, the
> deployers (specifically, Tomcat, Jetty and OpenEJB) need to get a
> reference on a WebServiceBuilder GBean provided by the Celtix module.
>> From looking at the code of the various deployers and at how the  
>> created
> WebServiceContainer is used, once the correct builder is used,
> integrating Celtix should be possible (if not exactly
> straightforward :-).
>
> However, I cannot see how the GBean from Celtix can be used in
> addition/preference to that provided by the Axis module.  For each of
> the module deployers, the WebServiceBuilder reference is injected via
> the constructor.    BTW, I've tried deploying my own
> WebServiceBuilder GBean but it never gets invoked.
>
>
> Which WebServiceBuilder to inject must be described by the deployment
> plans for the deployers, I guess.  In each of the deployers mentioned
> above, the plan's parentId contains a reference to the Axis car, for
> example from the the tomcat-deployer plan.xml:
>
> <!-- tomcat deployer plan.xml -->
> <attribute
> name="defaultParentId">${pom.groupId}/j2ee-server/$ 
> {pom.currentVersion}/car,${pom.groupId}/tomcat/$ 
> {pom.currentVersion}/car,${pom.groupId}/axis/${pom.currentVersion}/car
> </attribute>
> ...
>    <references name="WebServiceBuilder">
>       <pattern>
>         <module>*</module>
>            <name>WebServiceBuilder</name>
> ...
>
>
> Is it through the defaultParentId that the kernel resolves
> WebServiceBuilder reference?
>
> If so, does that imply that to use something other than Axis to  
> provide
> a WebServiceBuilder then all of the defaultParentId attributes must be
> updated to refer to something other than Axis?  In which case, to
> integrate and use a Celtix runtime in Geronimo will require  
> changing the
> plans of any components that depend on the WebServiceBuilder.
>
> Is it possible to change the plans for the deployers to be less  
> specific
> about where the WebServiceBuilder is located?  For example to specify
> that *any* WebServiceBuilder will do?  Or even better to configure  
> it so
> that *all* registered WebServiceBuilders are tried until one succeeds?
>
> thanks
> Conrad
>
>


Mime
View raw message