ServixMix leaves active endpoint after undeploying service assembly
-------------------------------------------------------------------

                 Key: SM-1767
                 URL: https://issues.apache.org/activemq/browse/SM-1767
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-core
    Affects Versions: 3.3
         Environment: Mac OS 10.5, java version "1.6.0_07", ServiceMix 3.3
            Reporter: Monika Adamczyk
         Attachments: hello.tar

While I was testing configuration for a project I work on (multiple SA with 
http soap consumer proxy which represent the same abstract WSDL), I have 
noticed that one of the http endpoints doesn't get unregistered after 
corresponding SA is undeployed.
To make sure the problem is not specific to our project, I have used 2 hello 
example SA projects

Here are steps required to reproduce the problem
1. unzip the hello.tar attached to this issue, you should have two 
subdirectories: ode-jbi-hello and ode-jbi-hello1. 
2. cd to ode-jbi-hello, run mvn install and then copy 
hello-sa/target/hello-sa-0.0.1-SNAPSHOT.zip to $SERVICEMIX_HOME/hotdeploy 
directory
3. cd to ode-jbi-hello1, run mvn install and then copy 
hello-sa1/target/hello-sa1-0.0.1-SNAPSHOT.zip to $SERVICEMIX_HOME/hotdeploy 
directory
4. Both SA should deploy without any errors (different urls, endpoints and 
service names were used to ensure there is no conflict)
5. start jconsole and connect to ServiceMix
6. expand org.apache.servicemix/ServiceMix/Endpoint - you should see 4 http 
endpoints (2 internal and 2 external) for HelloWorld2.wsdl
7. rm $SERVICEMIX_HOME/hotdeploy/hello-sa-0.0.1-SNAPSHOT.zip, there will be now 
3 http endpoints (2 internal, 1 external) for HelloWorld2.wsdl
8. rm $SERVICEMIX_HOME/hotdeploy/hello-sa1-0.0.1-SNAPSHOT.zip, there will be 
now 1 http endpoint (1 internal) for HelloWorld2.wsdl

ServiceMix log output doesn't report any errors while both SA are undeployed 
and $SERVICEMIX_HOME/data/smx/service-assemblies/ directory is empty (assuming 
no other SA were deployed).

The problem is that when the same SA are redeployed again, ServiceMix throws an 
error:
javax.jbi.JBIException: An internal endpoint for service 
{urn:/HelloWorld2.wsdl}HelloService and endpoint HelloPort is already registered
The only way I managed to remove the offending endpoint was by restarting 
service mix.

I have repeated the same tests with just one hello SA and if I 
deployed/undeployed the zip file, then redeploying the same SA doesn't generate 
any errors, nor there are any unregistered endpoints.



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

Reply via email to