On 10/30/07, ant elder <[EMAIL PROTECTED]> wrote:
>
> If you've an SCANode that is already running (you've added composites and
> started the node) and then you add additional composites there doesn't
> seem
> to be any way to start just those newly added composites. I can call
> SCANode.start and that kind of works but it starts all the existing
> already
> started composites as well so makes a bit of a mess duplicated various
> things. Is this something thats planed to be fixed or should I go ahead
> and
> add a way to do this?
>
>    ...ant
>
Ant

When we discussed the domain/node API  a few weeks ago there was a
suggestion that we restrict to the node so that there is no fine grained
control over starting the individual artifacts that a node is responsible
for. So the lifecycle is:

create node
add contributions
add composites to domain (indicate which composites are to run)
start composites
stop composites
remove contributions
destroy node

So you spend some time configuring the node then you start it. There have
been some changes to the code recently but I believe this is how it works at
the moment. I'm looking at the code now to get back up to speed.

This is an issue for both nodes and domain. .

Firstly, as you say, in the case where you are just working with a node you
can't add a new contribution and start it once the node is running without
doing a stop() to stop all the running components first and then a start()
to restart everything. The benefit of this is at least it is a simple model
but there may be unintended consequences of doing this. I haven't tried this
yet with the new code changes but I will do shortly.

Secondly, at the domain level we have provided a method for starting
individually named composites. The intention here is that domain finds the
node with the named composite and starts it there. This suffers from the
same problem that you face if a contribution has more than one composite in
it, i.e. subsequent composite start requests can target the same node. Again
this should still work if the domain first stops the node and then starts
it.

Simon

Reply via email to