You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "wangfeng (JIRA)" <tu...@ws.apache.org> on 2007/09/19 07:34:43 UTC

[jira] Updated: (TUSCANY-1756) Using EmbeddedSCADomain to deploy two contribution error

     [ https://issues.apache.org/jira/browse/TUSCANY-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

wangfeng updated TUSCANY-1756:
------------------------------

    Attachment: patch.diff
                testcase.zip

The patch add the check of component's start flag.
If the component already started,the method of start component return directly,and if the component not started,the method of stop component return directly too.when stop component,also check the stop flag of component's scopeContainer ,if the scopeContainer has stopped,return directly .

To run the testcase,please modify the field value of contribution_Dir in ContributionTestCase.java to fit your contribution source dir.

> Using EmbeddedSCADomain to deploy two contribution error
> --------------------------------------------------------
>
>                 Key: TUSCANY-1756
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1756
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Assembly Model
>    Affects Versions: Java-SCA-1.0
>         Environment: jdk 1.5.01,winxp
>            Reporter: wangfeng
>             Fix For: Java-SCA-1.0
>
>         Attachments: patch.diff, testcase.zip
>
>
> I use EmbeddedSCADomain to deploy two contribution,one contribution ready(build,activate,start) ,after that deploy the other contribution,get an exception as below:
> java.lang.IllegalStateException: Scope must be in UNINITIALIZED or STOPPED state [4]
> 	at org.apache.tuscany.sca.core.scope.AbstractScopeContainer.start(AbstractScopeContainer.java:118)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:489)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:427)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:478)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:427)
> 	at test.ContributionTestCase.setUp(ContributionTestCase.java:79)
> 	at junit.framework.TestCase.runBare(TestCase.java:128)
> 	at junit.framework.TestResult$1.protect(TestResult.java:110)
> 	at junit.framework.TestResult.runProtected(TestResult.java:128)
> 	at junit.framework.TestResult.run(TestResult.java:113)
> 	at junit.framework.TestCase.run(TestCase.java:120)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:228)
> 	at junit.framework.TestSuite.run(TestSuite.java:223)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> 	
> and also when the scopeContainer stop,get an similar exception too.
> java.lang.IllegalStateException: Scope in wrong state [6]
> 	at org.apache.tuscany.sca.core.scope.AbstractScopeContainer.stop(AbstractScopeContainer.java:136)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.stop(CompositeActivatorImpl.java:552)
> 	at org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.stop(CompositeActivatorImpl.java:436)
> 	at test.ContributionTestCase.tearDown(ContributionTestCase.java:106)
> 	at junit.framework.TestCase.runBare(TestCase.java:136)
> 	at junit.framework.TestResult$1.protect(TestResult.java:110)
> 	at junit.framework.TestResult.runProtected(TestResult.java:128)
> 	at junit.framework.TestResult.run(TestResult.java:113)
> 	at junit.framework.TestCase.run(TestCase.java:120)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:228)
> 	at junit.framework.TestSuite.run(TestSuite.java:223)
> 	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> my java snippet:
> ClassLoader cl = getClass().getClassLoader();
> EmbeddedSCADomain domain = new EmbeddedSCADomain(cl, "http://localhost");
> domain.start();
> ContributionService contributionService = domain.getContributionService();
> Contribution helloContribution = contributionService.contribute("http://import-export/export-composite", helloContribution_URL, false);
> for (Composite deployable : helloContribution.getDeployables()) {
>     domain.getDomainComposite().getIncludes().add(deployable);
>     domain.getCompositeBuilder().build(deployable);
> }
> for (Composite deployable : helloContribution.getDeployables()) {
>     domain.getCompositeActivator().activate(deployable);
>     domain.getCompositeActivator().start(deployable);
> }
> Contribution helloWorldContribution_one = contributionService.contribute("http://import-export/helloworld_one", helloWorldContribution_one_URL, false);
> for (Composite deployable : helloWorldContribution_one.getDeployables()) {
>     domain.getDomainComposite().getIncludes().add(deployable);
>     domain.getCompositeBuilder().build(deployable);
> }
> for (Composite deployable : helloWorldContribution_one.getDeployables()) {
>     domain.getCompositeActivator().activate(deployable);
>     domain.getCompositeActivator().start(deployable);
> }
> hello.composite
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> 	targetNamespace="http://hello"
> 	xmlns:hello="http://hello"
>     name="hello">
>     <service name="HelloService" promote="HelloServiceComponent"/>
> 	
>     <component name="HelloServiceComponent">
>         <implementation.java class="hello.HelloImpl" />
>     </component>
> </composite>
> helloword_one.composite
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> 	targetNamespace="http://helloworld"
> 	xmlns:helloworld="http://helloworld"
> 	xmlns:hello="http://hello"
>     name="helloworld_one">
>     <component name="SourceHelloServiceComponent_one">
>        <implementation.composite name="hello:hello"/>
>     </component>
>     <component name="HelloWorldServiceComponent_one">
>         <implementation.java class="helloworld.HelloWorldImpl" />
>         <reference name="helloServiceRef" target="SourceHelloServiceComponent_one/HelloService"/>
>     </component>
> </composite>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org