You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/12/16 12:54:37 UTC

svn commit: r1049942 - /synapse/branches/2.0/src/site/xdoc/upgrading.xml

Author: ruwan
Date: Thu Dec 16 11:54:36 2010
New Revision: 1049942

URL: http://svn.apache.org/viewvc?rev=1049942&view=rev
Log:
Adding the API changes into the documentation

Modified:
    synapse/branches/2.0/src/site/xdoc/upgrading.xml

Modified: synapse/branches/2.0/src/site/xdoc/upgrading.xml
URL: http://svn.apache.org/viewvc/synapse/branches/2.0/src/site/xdoc/upgrading.xml?rev=1049942&r1=1049941&r2=1049942&view=diff
==============================================================================
--- synapse/branches/2.0/src/site/xdoc/upgrading.xml (original)
+++ synapse/branches/2.0/src/site/xdoc/upgrading.xml Thu Dec 16 11:54:36 2010
@@ -193,6 +193,55 @@
             compatible configuration with the .new suffix. For example;
             <pre>sh bin/synapse-config-migrator.sh synapse-1.2/repository/conf/synapse.xml</pre></p>
           </subsection>
+          <subsection name="Custom Extensions and API changes">
+            <p>Even though there is a migration tool it just takes care of your configuration and not
+            custom extensions that you have done for example like CustomMediators or Tasks and so forth.
+            There are some API changes that affect your custom extensions unfortunately. This section
+            tries to list all the public API changes which affects the backward compatibility of the
+            custom extensions that you have been running with the 1.2 version of Synapse</p>
+            <table>
+                <tr>
+                    <th>Class</th>
+                    <th>Method</th>
+                    <th>Change Description</th>
+                </tr>
+                <tr>
+                    <td><a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorFactory.html">AbstractMediatorFactory</a></td>
+                    <td>createMediator(OMElement)</td>
+                    <td>
+                        This was the method that you have been overwriting on the 1.2 version to
+                        implement a new custom mediator factory to build the mediator by looking at
+                        the XML configuration. On the 2.0.0 version you should be extending the
+                        <a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorFactory.html#createSpecificMediator(org.apache.axiom.om.OMElement,%20java.util.Properties)">createSpecificMediator(OMElement, Properties)</a>. Note that in the process of
+                        changing the method to be extended, the method <a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorFactory.html#createMediator(org.apache.axiom.om.OMElement,%20java.util.Properties)">createMediator</a> method has been
+                        changed to be final. From a users point of view of this interface he/she
+                        should be using the createMediator method which is what Synapse does
+                    </td>
+                </tr>
+                <tr>
+                    <td><a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorSerializer.html">AbstractMediatorSerializer</a></td>
+                    <td>serializeMediator(Mediator)</td>
+                    <td>
+                        This was the method that you have been overwriting on the 1.2 version to
+                        implement a new custom mediator serializer to serialize to the XML Configuration
+                        by walking through the mediator properties. On the 2.0.0 version you should be extending the
+                        <a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorSerializer.html#serializeSpecificMediator(org.apache.synapse.Mediator)">serializeSpecificMediator(Mediator)</a>. Note that in the process of
+                        changing the method to be extended, the method <a href="apidocs/org/apache/synapse/config/xml/AbstractMediatorSerializer.html#serializeMediator(org.apache.axiom.om.OMElement,%20org.apache.synapse.Mediator)">serializeMediator</a> method has been
+                        changed to be final. From a users point of view of this interface he/she
+                        should be using the serializeMediator method which is what Synapse does</td>
+                </tr>
+            </table>
+            <p>Further to that if you have been using <a href="apidocs/org/apache/synapse/ServerManager.html">ServerManager</a> class you may have noticed that the
+            class is no more a singleton and doesn't have the static getInstance method. Also note that
+            the common utilities like data sources JMX and RMI registration stuff have been moved to a new
+            module with org.apache.synapse.commons package name.</p>
+            <p>On the configuration building front all entities are given a properties map to construct
+            its instance and that has been used to pass in any additional information required like
+            RESOLVE_ROOT, or SYNAPSE_HOME startup parameters. For example if you look at the <a href="apidocs/org/apache/synapse/config/xml/MediatorFactoryFinder.html">MediatorFactoryFinder</a>
+            class the <a href="apidocs/org/apache/synapse/config/xml/MediatorFactoryFinder.html#getMediator(org.apache.axiom.om.OMElement,%20java.util.Properties)">getMediator</a> method is expecting a properties map apart from the OMElement argument.
+            It is safe to pass in a empty properties map if you are using these methods for any testing purposes or
+            even in cases where you do not resolve dependencies</p>
+          </subsection>
         </section>
     </body>
 </document>
\ No newline at end of file