You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/12/30 10:24:15 UTC

svn commit: r1053834 - in /synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide: samples.xml samples/sample600.xml samples/sample601.xml

Author: hiranya
Date: Thu Dec 30 09:24:14 2010
New Revision: 1053834

URL: http://svn.apache.org/viewvc?rev=1053834&view=rev
Log:
Config management samples


Added:
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample600.xml
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample601.xml
Modified:
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml

Modified: synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml?rev=1053834&r1=1053833&r2=1053834&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml (original)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml Thu Dec 30 09:24:14 2010
@@ -206,33 +206,33 @@
             <subsection name="Eventing">
                 <p>
                     <ul>
-                        <li><a href="">Sample 500: Introduction to Eventing</a></li>
-                        <li><a href="">Sample 501: Event source with static subscriptions</a></li>
-                        <li><a href="">Sample 502: Transforming events before publish</a></li>
+                        <li><a href="samples/sample500.html">Sample 500: Introduction to Eventing</a></li>
+                        <li><a href="samples/sample501.html">Sample 501: Event source with static subscriptions</a></li>
+                        <li><a href="samples/sample502.html">Sample 502: Transforming events before publish</a></li>
                     </ul>
                 </p>
             </subsection>
             <subsection name="Synapse Configuration Model">
                 <p>
                     <ul>
-                        <li><a href="#Sample600">Sample 600: File hierarchy based configuration builder</a></li>
-                        <li><a href="#Sample601">Sample 601: Using Synapse Observers</a></li>
+                        <li><a href="samples/sample600.html">Sample 600: File hierarchy based configuration builder</a></li>
+                        <li><a href="samples/sample601.html">Sample 601: Using Synapse Observers</a></li>
                     </ul>
                 </p>
             </subsection>
             <subsection name="Priority Based Mediation">
                 <p>
                     <ul>
-                        <li><a href="#Sample650">Sample 650: Introduction to priority based mediation</a></li>
-                        <li><a href="#Sample651">Sample 651: Priority based dispatching at transport level</a></li>
-                        <li><a href="#Sample652">Sample 652: Distributed transactions management</a></li>
+                        <li><a href="samples/sample650.html">Sample 650: Introduction to priority based mediation</a></li>
+                        <li><a href="samples/sample651.html">Sample 651: Priority based dispatching at transport level</a></li>
+                        <li><a href="samples/sample652.html">Sample 652: Distributed transactions management</a></li>
                     </ul>
                 </p>
             </subsection>
             <subsection name="Message Store and Dead Letter Channel">
                 <p>
                     <ul>
-                        <li><a href="#Sample700">Sample 700: Introduction to Synapse message store </a></li>
+                        <li><a href="samples/sample700.html">Sample 700: Introduction to Synapse message store </a></li>
                     </ul>
                 </p>
             </subsection>

Added: synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample600.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample600.xml?rev=1053834&view=auto
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample600.xml (added)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample600.xml Thu Dec 30 09:24:14 2010
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  -->
+
+<document>
+    <properties>
+        <title>Apache Synapse - Sample 600</title>
+    </properties>
+    <body>
+        <section name="Sample 600: File Hierarchy Based Configuration Builder">
+            <p>
+                In this sample we will be looking at how Synapse configuration files can be
+                organized into a single rooted file hierarchy. We will be using the following set
+                of files and directories.
+            </p>
+            <div class="consoleOutput">synapse_sample_600.xml
+            |-- endpoints
+            |   `-- foo.xml
+            |-- events
+            |   `-- event1.xml
+            |-- local-entries
+            |   `-- bar.xml
+            |-- proxy-services
+            |   |-- proxy1.xml
+            |   |-- proxy2.xml
+            |   `-- proxy3.xml
+            |-- registry.xml
+            |-- sequences
+            |   |-- custom-logger.xml
+            |   |-- fault.xml
+            |   `-- main.xml
+            |-- synapse.xml
+            `-- tasks
+                `-- task1.xml</div>
+            <subsection name="Objective">
+                <p>
+                    Demonstrate the ability to load the Synapse configuration from a file hierarchy
+                </p>
+            </subsection>
+            <subsection name="Pre-requisites">
+                <p>
+                    <ul>
+                        <li>
+                            Deploy the SimpleStockQuoteService in the sample Axis2 server and start Axis2
+                        </li>
+                        <li>
+                            Start Synapse using the configuration numbered 600 (this is available
+                            in the directory at repository/conf/sample/synapse_sample_600.xml)
+                            <div class="command">
+                                Unix/Linux: sh synapse.sh -sample 600<br/>
+                                Windows: synapse.bat -sample 600
+                            </div>
+                        </li>
+                    </ul>
+                </p>
+            </subsection>
+            <subsection name="Description">
+                <p>
+                    Go to the SYNAPSE_HOME/repository/conf/sample directory and locate the subdirectory
+                    named synapse_sample_600.xml within it. When Synapse is started with the sample
+                    configuration 600, Synapse will load the configuration from this directory. You
+                    will find a number of subdirectories and a set of XML files in each of those
+                    directories. Synapse will parse all the XML files in this file hierarchy and
+                    construct the full Synapse configuration at startup. As a result when this sample
+                    is executed Synapse will start with four proxy services, several sequences, a task,
+                    an event source and some endpoint and local entry definitions.
+                </p>
+                <p>
+                    The names of the subdirectories (eg: proxy-services, sequences, endpoints) are
+                    fixed and hence cannot be changed. Also the registry definition should go into a
+                    file named registry.xml which resides at the top level of the file hierarchy. It
+                    can also be specified in the synapse.xml file at top level. This synapse.xml file
+                    can include any item that can be normally defined in a synapse.xml file. The files
+                    which define proxy services, sequences, endpoints etc can have any name. These
+                    configuration files must have the .xml extension at the end of the name. Synapse
+                    will ignore any files which do not have the .xml extension.
+                </p>
+                <p>
+                    None of the directories and files in the sample file hierachy are mandatory. You
+                    can leave entire directories out if you do not need them. For example if your
+                    configuration does not contain any proxy services you can leave the
+                    subdirectory named proxy-services out.
+                </p>
+                <p>
+                    To use this feature you should simply pass a path to an existing directory when
+                    starting the Synapse server. The SynapseServer class which is responsible for
+                    starting the server accepts a file path as an argument from where to
+                    load the configuration. Generally we pass the path to the synapse.xml file as the
+                    value of this argument. If you pass a directory path instead, Synapse configuration
+                    will be loaded from the specified directory. Note the following line on the console
+                    when Synapse is loading the configuration from a file hierarchy.
+                </p>
+                <div class="consoleOutput">2009-08-04 14:14:42,489 [-] [main]  INFO SynapseConfigurationBuilder Loaded Synapse configuration from the directory hierarchy at : /home/synapse/repository/conf/sample/synapse_sample_600.xml</div>
+                <p>
+                    This feature comes in handy when managing large Synapse configurations. It is
+                    easier to maintain a well structured file hierarchy than managing one large, flat
+                    XML file.
+                </p>
+            </subsection>
+        </section>
+        <p><a href="../samples.html">Back to Catalog</a></p>
+    </body>
+</document>
\ No newline at end of file

Added: synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample601.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample601.xml?rev=1053834&view=auto
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample601.xml (added)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample601.xml Thu Dec 30 09:24:14 2010
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+  ~  Licensed to the Apache Software Foundation (ASF) under one
+  ~  or more contributor license agreements.  See the NOTICE file
+  ~  distributed with this work for additional information
+  ~  regarding copyright ownership.  The ASF licenses this file
+  ~  to you under the Apache License, Version 2.0 (the
+  ~  "License"); you may not use this file except in compliance
+  ~  with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  -->
+
+<document>
+    <properties>
+        <title>Apache Synapse - Sample 601</title>
+    </properties>
+    <body>
+        <section name="Sample 601: Using Synapse Observers">
+            <subsection name="Objective">
+                <p>
+                    Demonstrate the ability to monitor the Synapse configuration at runtime using the
+                    SynapseObserver interface
+                </p>
+            </subsection>
+            <subsection name="Running the Sample">
+                <p>
+                    Open the synapse.properties file in the SYNAPSE_HOME/repository/conf directory
+                    using a text editor and uncomment the line which defines the simple logging
+                    Synapse observer.
+                </p>
+                <div class="consoleOutput">synapse.observers=samples.userguide.SimpleLoggingObserver</div>
+                <p>
+                    Open the log4j.properties file in the SYNAPSE_HOME/lib directory and
+                    uncomment the line which sets the INFO log level to the samples.userguide
+                    package.
+                </p>
+                <div class="consoleOutput">log4j.category.samples.userguide=INFO</div>
+                <p>
+                    Start Synapse using any of the sample configurations. The SimpleLoggingObserver
+                    will capture events that occur while constructing the Synapse configuration
+                    and log them on the console as follows.
+                </p>
+                <div class="consoleOutput">2009-08-06 14:30:24,578 [-] [main]  INFO SimpleLoggingObserver Simple logging observer initialized...Capturing Synapse events...
+ 2009-08-06 14:30:24,604 [-] [main]  INFO SimpleLoggingObserver Endpoint : a3 was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,605 [-] [main]  INFO SimpleLoggingObserver Endpoint : a2 was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,606 [-] [main]  INFO SimpleLoggingObserver Endpoint : null was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,611 [-] [main]  INFO SimpleLoggingObserver Local entry : a1 was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,649 [-] [main]  INFO SimpleLoggingObserver Proxy service : StockQuoteProxy2 was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,661 [-] [main]  INFO SimpleLoggingObserver Proxy service : StockQuoteProxy1 was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,664 [-] [main]  INFO SimpleLoggingObserver Sequence : main was added to the Synapse configuration successfully
+ 2009-08-06 14:30:24,701 [-] [main]  INFO SimpleLoggingObserver Sequence : fault was added to the Synapse configuration successfully</div>
+                <p>
+                    The SimpleLoggingObserver is implemented as follows. It does not override any of the event handler implementations
+                    in the AbstractSynapseObserver class. The AbstractSynapseObserver logs all the received events by default.
+                </p>
+                <div class="consoleOutput">package samples.userguide;
+
+import org.apache.synapse.config.AbstractSynapseObserver;
+
+public class SimpleLoggingObserver extends AbstractSynapseObserver {
+
+    public SimpleLoggingObserver() {
+        super();
+        log.info("Simple logging observer initialized...Capturing Synapse events...");
+    }
+}</div>
+            </subsection>            
+        </section>
+        <p><a href="../samples.html">Back to Catalog</a></p>
+    </body>
+</document>
\ No newline at end of file