On 10/30/07, ant elder <[EMAIL PROTECTED]> wrote: > > On 10/30/07, Simon Laws <[EMAIL PROTECTED]> wrote: > > > > > > > > On 10/30/07, ant elder <[EMAIL PROTECTED]> wrote: > > > > > > On 10/30/07, ant elder <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > On 10/30/07, Simon Laws <[EMAIL PROTECTED] > wrote: > > > > > > > > > > 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. > > > > > > > > > > > > I'm not clear if thats saying that the intended design is that the > > > only > > > > way to add new contributions to an existing domain is by stopping > and > > > > restarting, or that this is just a limitation of the > current code? > > > > > > > > > > Sorry typo in that, i meant node not domain, so: > > > > > > I'm not clear if thats saying that the intended design is that the > only > > > way > > > to add new contributions to an existing node is by stopping and > > > restarting, > > > or that this is just a limitation of the current code? > > > > > > ...ant > > > > > > Yes, that's how the node is intended to work today. However this is a > > simplification strategy which means that we don't need to keep track of > what > > is and isn't started in a node. There is a price to pay in terms of > > flexibility and configuration performance. This means we may find that > this > > isn't satisfactory and have to change so if this just doesn't work in > the > > hot update web app case then we need to change our direction. > > > > This seem to limiting to me and is a regression over what we had > previously, so I'd like to enhance it to support adding contributions to a > running node. Happy to take suggestions for this but otherwise I'll just > add > code to the SCANode interface. > > ...ant > Well the conversation on the list turned into a code exercise to get a better view of what works and what doesn't. So I would say go ahead. It'll give us a better view of what functions are really required rather than just what we think are required.
Simon