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