Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-16532

CXFConsumer unexpectedly unregistered

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.24.2, 3.9.0
    • 3.11.0
    • camel-cxf
    • None
    • Unknown

    Description

      This issue is related to CAMEL-10914.

      Desscription:
      Route1 - CXFConsumer with endpoint address /test is already running
      Route2 - Gets started with CXFConsumer with same endpoint /test

      The expected behavior: Route2 startup fails (endpoint already registered on address). Route1 keeps running.

      Expected error on Route2 (endpoint already registered on address):
      https://github.com/apache/cxf/blob/master/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java#L918

      Due to the change in CAMEL-10914, server.destroy() will be called after failed startup:
      https://github.com/tadayosi/camel/commit/6d31d169dc17138ed02ad1164a4b2209729677fc#diff-174b6ca7cb178d3dc464aa9355d148d95fc0a3ad3f7edb60f0293fac988d3e05R100

      And it will eventually unregister the route:
      https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/endpoint/ServerImpl.java#L191

      Observed behavior:
      After failed startup of Route2, Route1 is not registered anymore (HTTP 404 when trying to call /test). I could not reproduce this with embedded Jetty, but we experience this with tomcat on production.

      Do you have any suggestion how this could be reproduced in a test using tomcat? Is there a simple way to replace jetty with tomcat?

      Attachments

        Activity

          People

            ffang Freeman Yue Fang
            mash-sap Manuel Shenavai
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: