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