On Thu, May 26, 2011 at 1:17 PM, ant elder <[email protected]> wrote: > On Thu, May 26, 2011 at 12:42 PM, Simon Laws <[email protected]> > wrote: >> I'm working on a test to look at the lifecycle events to make sure >> that they happen in the right places [1]. One of the tests looks at >> what happens when an exception is thrown in the @Init operation. It >> happens to use the domain node implementation and does the following >> when starting the composite... >> >> // start a composite >> try { >> node.startComposite("HelloworldContrib", "lifecycle.composite"); >> >> // stop a composite - it won't do this >> node.stopComposite("HelloworldContrib", "lifecycle.composite"); >> } catch (Exception exception) { >> // it's thrown from the HelloworldClientImpl @Init method >> } >> >> I did run the test to see what happens if I try and stop the composite >> after the error and the runtime reports. >> >> java.lang.IllegalStateException: not supportted for LocalOnly >> at >> org.apache.tuscany.sca.core.assembly.impl.DomainRegistryImpl.remoteCommand(DomainRegistryImpl.java:251) >> at >> org.apache.tuscany.sca.impl.NodeImpl.stopComposite(NodeImpl.java:270) >> at >> org.apache.tuscany.sca.itest.lifecycle.LifecycleTestCase.testInitExceptionShutdown(LifecycleTestCase.java:113) >> >> It looks like it tries to do remote things if it doesn't find a >> started composite when it's asked to stop one. It would be good to be >> able to call the stop operation regardless and have is just warn that >> there isn't a composite to stop. >> > > I've just changed it so that doesn't happen and now its throwing an > IllegalStateException saying "composite not started: > lifecycle.composite". Does that do more closely what you want? > > ...ant >
Sounds spot on. Let me give it a try. Thanks Simon -- Apache Tuscany committer: tuscany.apache.org Co-author of a book about Tuscany and SCA: tuscanyinaction.com
