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