Jean-Sebastien Delfino wrote:
I took a look at binding-corba/.../CorbaServiceBindingProvider in trunk.
At the moment the ORB setup is in the start method of the provider (and
there's no cleanup in the stop method). I'm not quite sure how this is
going to work with multiple services sharing the same ORB.
I'm thinking that we'll need the following to support multiple services:
- A host-corba implementation (similar to host-ejb, host-rmi or
host-http) to setup/tear the ORB when the Tuscany runtime starts/stops,
independent of the registration of particular services with the ORB.
- Logic in that host-corba to set up the ORB in a lazy fashion when the
first Corba service is registered.
- Only keep the ORB servant creation and naming bind/unbind in the
service provider class.
Makes sense?
This is a bit of a tangent but it is related - I think that the BPEL code has the same general
requirement. The current ODE runtime must be brought up and torn down independent of any individual
service component. Ideally this is done at the start and end of the node - it is a relatively
expensive process.
Thinking further, it is probably also true of the Spring runtime, although the
expense there is low.
Yours, Mike.