cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (Confluence)" <conflue...@apache.org>
Subject [CONF] Apache CXF Documentation > 3.0 Migration Guide
Date Tue, 20 Aug 2013 06:21:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/en/2176/1/1/_/styles/combined.css?spaceKey=CXF20DOC&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide">3.0
Migration Guide</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~dkulp">Daniel
Kulp</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" > <br>* The direct dependency
on a javax.mail implementation has been removed and the CXF maven poms will not pull one in
transitively anymore. For MOST users, this is not a problem.  However, if your application
uses MTOM or Soap w/Attachments or similar that requires some of the DataContentHandlers that
are part of the mail implementations, you may need to re-add this to your classpath. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">
<br>* DynamicClientFactory was moved from the JAXB databinding to the Simple frontend.
 However, users are strongly encouraged to use the JaxWsDynamicClientFactory subclass. <br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="3.0MigrationGuide-3.0MigrationGuide"></a>3.0 Migration
Guide</h2>

<p>Right now, 3.0 is in early planning stages.   This page is mostly collecting lists
of things we are planning on changing.  It is by no means an exhaustive list and it may completely
change depending on what gets done and such.</p>

<ul>
	<li>Combine the PhaseInterceptor and Interceptor interfaces and the PhaseInterceptorChain
and InterceptorChain into a single set.   CXF only can really use the "Phase" versions and
the others cause confusion and extra, unneeded interfaces.</li>
</ul>


<ul>
	<li>Likely move some of the other Abstract classes and such from kernel.   For example,
we now have a transports-common module.   Move the AbstractDestination and stuff there.</li>
</ul>


<ul>
	<li>Go through all the @Deprecated things and remove them.   Likewise, remove unused
method params (I know there are a couple on the Destination API) and such.</li>
</ul>


<ul>
	<li>POSSIBLY update various API's to pass in the Bus (or other objects) if  needed
instead of holding it as an instance variable.   That would allow singleton instances for
things like the transports and such.   For example, it would be good to register a "FooCXFTransport"
as an OSGi service that we could lookup later.   Right now, we couldn't do that unless you
only used a global bus, which isn't exactly what the purpose of the Bus is.</li>
</ul>


<ul>
	<li>Move feature impls out of API and into core. Currently feature and interceptor
classes are in different packages. Which makes it difficult to modularize them. So we should
rather have one package per feature where feature class and interceptor classes are located</li>
</ul>


<ul>
	<li>Add new code generator frontend to add CXF specific constructors and methods.</li>
</ul>



<h3><a name="3.0MigrationGuide-Workfinished"></a>Work finished</h3>

<ul>
	<li>Combined api/core into just a cxf-core.  All "wsdl" related stuff has been moved
to a new cxf-wsdl bundle to remove the wsdl4j requirement for JAX-RS applications.</li>
</ul>


<ul>
	<li>CXFBusImpl has been removed.   The only subclass was the ExtensionMangerBus (SpringBus
and Blueprint/osgi stuff subclassed that) so the functionality was pushed up into ExtensionMangerBus.
 Some of the "common" methods were put directly on the Bus interface to make using the Bus
cleaner (no casts to the impl).</li>
</ul>


<ul>
	<li>The unused "run()" method on Bus was removed.</li>
</ul>


<ul>
	<li>Merge BaseDataReader/DataReader and the same for the writer getting rid of the
"Base" versions that are unreferenced.</li>
</ul>


<ul>
	<li>The 2 unused params on Destination.getBackChannel were removed.  They were unused
and normally passed in as null.</li>
</ul>


<ul>
	<li>Dropped support for Karaf 2.2.x.  Karaf 2.3.x is now required.</li>
</ul>


<ul>
	<li>Make AbstractFeature subclass WebServiceFeature and update the JAX-WS frontend
to look for them.</li>
</ul>


<ul>
	<li>Remove QueryHandlers -&gt; these were originally used for the ?wsdl processing
(and is still used for ?js).  However, that stuff is better done directly on the interceptor
chains as interceptors to allow user supplied interceptors to also handle them.   I'd like
to just remove these.  (obviously update the ?js stuff)  Would simplify the CXFServlet a bit.</li>
</ul>


<ul>
	<li>Removed all the /META-INF/cxf/cxf-extension-XYZ.xml files.  They have been deprecated
an not needed for a long time.</li>
</ul>


<ul>
	<li>Updated ConduitInitiator and DestinationFactory to pass Bus as parameter to the
various methods.</li>
</ul>


<ul>
	<li>Removed support for the old bus-extensions.xml file (in favor of the current and
much faster bus-extensions.txt)</li>
</ul>


<ul>
	<li>Move ALL XML parsing and writing to StaxUtils and DOM based utilities to DOMUtils.
 The XMLUtils class that used SAX based parsing and Transformer based writing has been eliminated.
  This simplifies the code as well as increases security as we can provide better limits and
have more control with the StAX based IO.</li>
</ul>


<ul>
	<li>AddressingProperties has been turned from an interface to a concrete class that
can be created directly with "new".  AddressingPropertiesImpl has been removed.</li>
</ul>


<ul>
	<li>Many of our interfaces/classes that held onto constants were either removed or
moved.  In particular XmlSchemaConstants was removed (use the Constants from the XmlSchema
library directly), WSDLConstants was moved from api to rt-wsdl, SOAPConstants was removed
(most are available in WSDLConstants).  Goal is to reduce some memory usage and help startup
time and reduce a lot of duplication.</li>
</ul>


<ul>
	<li>The direct dependency on a javax.mail implementation has been removed and the CXF
maven poms will not pull one in transitively anymore. For MOST users, this is not a problem.
 However, if your application uses MTOM or Soap w/Attachments or similar that requires some
of the DataContentHandlers that are part of the mail implementations, you may need to re-add
this to your classpath.</li>
</ul>


<ul>
	<li>DynamicClientFactory was moved from the JAXB databinding to the Simple frontend.
 However, users are strongly encouraged to use the JaxWsDynamicClientFactory subclass.</li>
</ul>

    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;" class="grey">
                        <a href="https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=CXF20DOC">Stop
watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://cwiki.apache.org/confluence/users/editmyemailsettings.action">Change
email notification preferences</a>
</div>
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=25203937&revisedVersion=17&originalVersion=16">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/3.0+Migration+Guide?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message