Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-489

ServixMix leaves bpel active http endpoint after undeploying service assembly

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • 1.2
    • 1.3.4
    • JBI Integration
    • None
    • Mac OS 10.5, java version "1.6.0_07", ServiceMix 3.3 ,ODE JBI 1.2

    Description

      Please note that the same issue was reported to the ServiceMix team: https://issues.apache.org/activemq/browse/SM-1767 as it is not clear which component causes the problem.

      While I was testing configuration for a project I work on (multiple SA with http soap consumer proxy which represent the same abstract WSDL of a BPEL process), 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.

      Attachments

        1. hello.tar
          80 kB
          Monika Adamczyk

        Activity

          People

            rrusin Rafal Rusin
            monika7 Monika Adamczyk
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment