Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.7.5. API Changes
Removed classes Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The following classes and interfaces have been removed in Apache CXF 3.0.x:
org.apache.cxf.Bus.run() method Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.Bus.run()
method has been removed, because it is no longer used.
org.apache.cxf.transport.Destination.getBackChannel method Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The two unused parameters of the
org.apache.cxf.transport.Destination.getBackChannel
method (normally passed as null) have been removed. That is, in previous versions, the getBackChannel
method had the following signature:
Conduit getBackChannel(Message inMessage, Message unused1, EndpointReferenceType unused2)
Conduit
getBackChannel(Message inMessage, Message unused1, EndpointReferenceType unused2)
In version 3.0.x, the
getBackChannel
method now has the following signature:
Conduit getBackChannel(Message inMessage)
Conduit
getBackChannel(Message inMessage)
Spring XML files Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
All files of the form
/META-INF/cxf/cxf-extension-ExtensionName.xml
have been removed in version 3.0.x. At one time, it was necessary to xi:include
such files into your Spring XML file, in order to use a particular extension feature. These files have not been needed and have been deprecated for a long time.
org.apache.cxf.transport.ConduitInitiator and DestinationFactory interfaces Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Some of the methods of the
org.apache.cxf.transport.ConduitInitiator
and DestinationFactory
interfaces now take an additional parameter of type, org.apache.cxf.Bus
. In particular, ConduitInitiator
defines the following method signatures in version 3.0.x:
And
DestinationFactory
defines the following method signatures in version 3.0.x:
bus-extensions.xml file Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
When implementing an extension to the CXF Bus, the
bus-extensions.xml
file is no longer supported. Instead, use the approach of defining a bus-extensions.txt
file. In the JAR file that implements your Bus extension, create the file, META-INF/cxf/bus-extensions.txt
, and in this file list the classname of the class that implements the extension. The CXF Bus will automatically instantiate your extension class when it is needed.
Refactored XML parsing utilities Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
All code for StAX-based XML parsing and writing has been moved into the
org.apache.cxf.staxutils.StaxUtils
class and DOM-based utility code to the org.apache.cxf.helpers.DOMUtils
class. The org.apache.cxf.helpers.XMLUtils
class has been eliminated.
AddressingProperties interface is now a class Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.ws.addressing.AddressingProperties
interface has been turned into a concrete class, which can be created directly using new
. The AddressingPropertiesImpl
class has been removed.
Policy classes in the org.apache.cxf.ws.policy package Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
Many of the classes in the
org.apache.cxf.ws.policy
package, such as AlternativeSelector
and PolicyEngine
, have modified method signatures, which now pass the current Message
as an additional parameter (where appropriate). This makes it possible to use the message context to select a policy alternative. However, you must keep in mind that the selected alternative is probably cached and therefore, if the contextual information changes, the alternative might not be recalculated.
New supportNotAvailableErrorsOnly property on FailoverTargetSelector Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
By default, the
org.apache.cxf.clustering.FailoverTargetSelector
class triggers failover only for HTTP 404 and HTTP 503 status errors. If you would prefer to fail over for all HTTP errors, set the new supportNotAvailableErrorsOnly
property to false
.
ServletController not overriding endpoint addresses by default Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.transport.servlet.ServletController
class does not override endpoint addresses by default, because this would have unwanted side-effects, if an endpoint is accessed through multiple paths. If you would like to revert to the old behaviour, set disable-address-updates
parameter to false
on the CXFServlet
class.
SchemaValidation annotation Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
enabled
property (previously deprecated) has been removed from the org.apache.cxf.annotations.@SchemaValidation
annotation. Use the @SchemaValidation.type
property to control the validation instead.
FactoryType annotation Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
In the
org.apache.cxf.annotations.@FactoryType
annotation, the FactoryType.Type
enumeration no longer includes the value, Spring
. In version 3.0.x, to select Spring, set factoryClass=SpringBeanFactory.class
.
org.apache.cxf.jaxrs.ext.form.Form class Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.jaxrs.ext.form.Form
has been removed in version 3.0.x. Use the JAX-RS 2.0 org.apache.cxf.jaxrs.ext.form.Form
class instead. For example, you would replace the following (obsolete) JAX-RS 1.0 code:
// JAX-RS 1.0 (obsolete) import org.apache.cxf.jaxrs.ext.form.Form; ... Form form = new Form().set("a", "b");
// JAX-RS 1.0 (obsolete)
import org.apache.cxf.jaxrs.ext.form.Form;
...
Form form = new Form().set("a", "b");
With the following JAX-RS 2.0 compliant code:
// JAX-RS 2.0 import javax.ws.rs.core.Form; ... Form form = new Form().param("a", "b");
// JAX-RS 2.0
import javax.ws.rs.core.Form;
...
Form form = new Form().param("a", "b");
org.apache.cxf.jaxrs.ext.ParameterHandler interface Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.jaxrs.ext.ParameterHandler<T>
interface has been removed in Apache CXF 3.0.x. Use the javax.ws.rs.ext.ParamConverterProvider
class instead, which can be used both on the client side and on the server side.
org.apache.cxf.jaxrs.ext.RequestHandler and ResponseHandler interfaces Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
org.apache.cxf.jaxrs.ext.RequestHandler
and ResponseHandler
filters have been removed in Apache CXF 3.0.x. Use the javax.ws.rs.container.ContainerRequestFilter
and ContainerResponseFilter
interfaces instead.
For example, to define your own
CustomerRequestFilter
and CustomResponseFilter
filter classes, you could write code like the following:
JaxWsClientProxy.getClient(proxy) and ClientProxy.getClient(proxy) Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
It is no longer necessary to call the
getClient(proxy)
method on the org.apache.cxf.jaxws.JaxWsClientProxy
class (for the JAX-WS front-end) or the org.apache.cxf.frontend.ClientProxy
class (for the simple front-end) in order to convert a proxy object to a org.apache.cxf.endpoint.Client
object. Because the proxies now implement the Client
interface directly, you can simply cast a proxy object directly to a Client
object.
javax.annotation.Resource annotation Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
The
javax.annotation.Resource
annotation can no longer be used to annotate JAX-RS context properties. For the JAX-RS binding, only the javax.ws.rs.core.Context
annotation is supported from now on.