CXF - publishing two endpoints, how to retrieve reference of embedded Jetty in CXF bundle ?

Solution Verified - Updated -

Issue

  • We have some troubles running two jetty instances in the OSGi environment.
  • We have two web servers created by following the CXF documentation, http://cxf.apache.org/docs/servlet-transport.html in the section "Using the servlet transport without Spring”.

  • Each server has its own OSGi bundle and its own port & address. When we copy these two bundles into the deploy folder, the two web services are working normally.
    The issue happens whenever we restart these bundles. The endpoint is not published anymore and we cannot access the webservice (even if the jetty server is running).

  • Here's how you can reproduce,

    • Start JBoss Fuse.
    • Create any 2 simple CXF bundle application and deploy them in the 'deploy' folder.
    • Check that the two endpoints are published:
      http://localhost:8889/soap/first?wsdl
      http://localhost:8888/soap/second?wsdl
    • Restart any one bundle
    • One endpoint is not published anymore, even if the jetty server is running.
  • Is there a limitation in CXF ? Can’t we publish two endpoints ?

  • We have embedded Jetty in our maven project bundle, but we want a way to take full control of the Jetty instance provided with Fuse. Is this possible ?

  • How can we retrieve a reference to the jetty instance embedded in JBoss Fuse ?

Environment

  • Red Hat JBoss Fuse
    • 6.x
  • Apache CXF

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content