You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cm...@apache.org on 2010/04/23 10:51:02 UTC

svn commit: r937195 - in /camel/trunk/examples/camel-example-loadbalancing-mina: ./ loadbalancing/ loadbalancing/src/ loadbalancing/src/main/ loadbalancing/src/main/java/ loadbalancing/src/main/java/org/ loadbalancing/src/main/java/org/apache/ loadbala...

Author: cmoulliard
Date: Fri Apr 23 08:51:01 2010
New Revision: 937195

URL: http://svn.apache.org/viewvc?rev=937195&view=rev
Log:
CAMEL-2670 : Add a new example : loadbalancing with apache camel-mina (no CORBA/RMI is required to wire ojects)

Added:
    camel/trunk/examples/camel-example-loadbalancing-mina/
    camel/trunk/examples/camel-example-loadbalancing-mina/README.txt   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/java/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/java/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml   (with props)
    camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties   (with props)

Added: camel/trunk/examples/camel-example-loadbalancing-mina/README.txt
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/README.txt?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/README.txt (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/README.txt Fri Apr 23 08:51:01 2010
@@ -0,0 +1,172 @@
+Loadbalancing with MINA Example
+===============================
+
+This example show how you can easily use the camel-mina component to design a solution allowing to distribute message 
+workload on several servers. Those servers are simple TCP/IP servers created by the Apache MINA framework and running in
+separate Java Virtual Machine. The loadbalancer pattern of Camel which is used top of them allows to send in a Round Robin model
+mode the messages created from a camel-bean component respectively to each server running on localhost:9999 and localhost:9998.
+MINA has been configured to send over the wire objects serialized and this is what is showed also in this example.
+The advantage of this apporach is that you don't need to use CORBA or Java RMI for the communication between the different jvm.
+The example has been configured to use InOut EIP pattern.
+
+The demo starts when every one minute, a Report object is created from the camel loadbalancer server. This object is send by the 
+camel loadbalancer to a MINA server and object is serialized. One of the two MINA servers (localhost:9999 and localhost:9998) receives
+the object and enrich it by setting the field reply of the Report object. The reply is send back by the MINA server to the camel loadbalancer 
+who will display in its log  the content of the Report object. 
+
+1. Description of the routes 
+============================
+
+1) Loadbalancer
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Generator"/> 
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <package>
+        com.intuit.ai.step.camel 
+    </package>
+    <route id="sendMessage">
+    	<from uri="timer://org.apache.camel.example.loadbalancer?fixedRate=true&amp;period=60000"/>
+    	<bean ref="service" method="createReport"/>
+    	<to uri="direct:loadbalance"/>
+    </route>
+    
+    <route id="loadbalancer">
+        <from uri="direct:loadbalance"/>
+        <loadBalance>
+            <roundRobin/>
+            <to uri="mina:tcp://localhost:9999?sync=true&amp;allowDefaultCodec=true"/>
+            <to uri="mina:tcp://localhost:9998?sync=true&amp;allowDefaultCodec=true"/>
+        </loadBalance>
+        <to uri="log:org.apache.camel.example?level=INFO"/>
+    </route>
+</camelContext>
+
+</beans>
+
+2) MINA 1
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Reporting"/> 
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <route id="mina1">
+        <from uri="mina:tcp://localhost:9999"/>
+        <setHeader headerName="minaServer"><constant>localhost:9999</constant></setHeader>
+		<bean ref="service" method="updateReport"/>
+    </route>
+</camelContext>
+
+</beans>
+
+2) MINA 2
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Reporting"/> 
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <route id="mina1">
+        <from uri="mina:tcp://localhost:9998"/>
+        <setHeader headerName="minaServer"><constant>localhost:9999</constant></setHeader>
+		<bean ref="service" method="updateReport"/>
+    </route>
+</camelContext>
+
+</beans>
+
+2. Test the example
+===================
+
+First compile the loadbalancing example and add it in your maven repo. 
+remark : Classes compiled in this project are used by mina1 and mina2
+
+>loadbalancing
+mvn clean install 
+
+To run the example, execute now the following command :
+
+>mina1
+mvn clean install camel:run 
+
+>mina2
+mvn clean install camel:run 
+
+>loadbalancing
+mvn camel:run 
+
+and check the result in the log of loadbalancer
+
+[pache.camel.spring.Main.main()] MainSupport                    INFO  Apache Camel 2.2.0 starting
+[pache.camel.spring.Main.main()] CamelNamespaceHandler          INFO  camel-osgi.jar/camel-spring-osgi.jar not detected in classpath
+[pache.camel.spring.Main.main()] DefaultCamelContext            INFO  Apache Camel 2.2.0 (CamelContext:camelContext) is starting
+[pache.camel.spring.Main.main()] DefaultCamelContext            INFO  JMX enabled. Using DefaultManagedLifecycleStrategy.
+[pache.camel.spring.Main.main()] DefaultCamelContext            INFO  Started 2 routes
+[pache.camel.spring.Main.main()] DefaultCamelContext            INFO  Apache Camel 2.2.0 (CamelContext:camelContext) started
+[che.camel.example.loadbalancer] example                        INFO  Exchange[BodyType:org.apache.camel.example.model.Report, Body:>> ***************
+********************************
+>> Report id : 1
+>> Report title : Report Title : 1
+>> Report content : This is a dummy report
+>> Report reply : Report updated from MINA server running on : localhost:9999
+>> ***********************************************
+]
+[che.camel.example.loadbalancer] example                        INFO  Exchange[BodyType:org.apache.camel.example.model.Report, Body:>> ***************
+********************************
+>> Report id : 2
+>> Report title : Report Title : 2
+>> Report content : This is a dummy report
+>> Report reply : Report updated from MINA server running on : localhost:9998
+>> ***********************************************
+]
+[che.camel.example.loadbalancer] example                        INFO  Exchange[BodyType:org.apache.camel.example.model.Report, Body:>> ***************
+********************************
+>> Report id : 3
+>> Report title : Report Title : 3
+>> Report content : This is a dummy report
+>> Report reply : Report updated from MINA server running on : localhost:9999
+>> ***********************************************
+]
+
+...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enjoy it
+

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.camel.example</groupId>
+  <artifactId>loadbalancing</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>A Camel Route</name>
+  <url>http://www.myorganization.org</url>
+
+  <properties>
+    <camel-version>2.2.0</camel-version>
+    <log4j-version>1.2.14</log4j-version>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-spring</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-mina</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId> 
+      <artifactId>log4j</artifactId> 
+      <version>${log4j-version}</version> 
+    </dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-api</artifactId>
+	  <version>1.5.10</version>
+	</dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-simple</artifactId>
+	  <version>1.5.6</version>
+	</dependency>
+  </dependencies>
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+
+      <!-- allows the route to be ran via 'mvn camel:run' -->
+      <plugin>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-maven-plugin</artifactId>
+        <version>${camel-version}</version>
+      </plugin>
+
+    </plugins>
+  </build>
+</project>

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java Fri Apr 23 08:51:01 2010
@@ -0,0 +1,93 @@
+/**
+ * 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.
+ */
+package org.apache.camel.example.model;
+
+import java.io.Serializable;
+
+import sun.tools.tree.ThisExpression;
+
+public class Report implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+	
+	private Integer id;
+	private String title;
+	private String content;
+	private String reply;
+	
+	/**
+	 * @return the id
+	 */
+	public Integer getId() {
+		return id;
+	}
+	/**
+	 * @param id the id to set
+	 */
+	public void setId(Integer id) {
+		this.id = id;
+	}
+	/**
+	 * @return the title
+	 */
+	public String getTitle() {
+		return title;
+	}
+	/**
+	 * @param title the title to set
+	 */
+	public void setTitle(String title) {
+		this.title = title;
+	}
+	/**
+	 * @return the content
+	 */
+	public String getContent() {
+		return content;
+	}
+	/**
+	 * @param content the content to set
+	 */
+	public void setContent(String content) {
+		this.content = content;
+	}
+	/**
+	 * @return the reply
+	 */
+	public String getReply() {
+		return reply;
+	}
+	/**
+	 * @param reply the reply to set
+	 */
+	public void setReply(String reply) {
+		this.reply = reply;
+	}
+	
+	public String toString() {
+		StringBuilder result = new StringBuilder();
+		result.append(">> ***********************************************" + "\n");
+		result.append(">> Report id : " + this.id + "\n");
+		result.append(">> Report title : " + this.title+ "\n");
+		result.append(">> Report content : " + this.content+ "\n");
+		result.append(">> Report reply : " + this.reply+ "\n");
+		result.append(">> ***********************************************" + "\n");
+		return result.toString();
+		
+	}
+
+}

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/model/Report.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java Fri Apr 23 08:51:01 2010
@@ -0,0 +1,41 @@
+/**
+ * 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.
+ */
+package org.apache.camel.example.service;
+
+import org.apache.camel.example.model.Report;
+
+public class Generator  {
+	
+	private static int count = 0;
+
+	public Report createReport() throws Exception {
+		
+		int counter = ++count;
+		
+		// Create a Report object
+		Report report = new Report();
+		report.setId(counter);
+		report.setTitle("Report Title : " + counter);
+		report.setContent("This is a dummy report");
+		
+		// Add the report to the Body
+		return report;		
+	}
+	
+	
+
+}

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Generator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java Fri Apr 23 08:51:01 2010
@@ -0,0 +1,42 @@
+/**
+ * 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.
+ */
+package org.apache.camel.example.service;
+
+import org.apache.camel.Body;
+import org.apache.camel.Exchange;
+import org.apache.camel.Header;
+import org.apache.camel.Processor;
+import org.apache.camel.example.model.Report;
+
+public class Reporting implements Processor {
+	
+	private static Integer count;
+
+	public void process(Exchange exchange) throws Exception {
+	}
+
+	public Report updateReport(@Body Report report, @Header("minaServer") String name) throws Exception {
+		
+		report.setReply("Report updated from MINA server running on : " + name);
+		
+		// send the report updated
+		return report;		
+	}
+	
+	
+
+}

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/java/org/apache/camel/example/service/Reporting.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<!-- Configures the Camel Context-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Generator"/> 
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <package>
+        com.intuit.ai.step.camel 
+    </package>
+    <route id="sendMessage">
+    	<from uri="timer://org.apache.camel.example.loadbalancer?fixedRate=true&amp;period=60000"/>
+    	<bean ref="service" method="createReport"/>
+    	<to uri="direct:loadbalance"/>
+    </route>
+    
+    <route id="loadbalancer">
+        <from uri="direct:loadbalance"/>
+        <loadBalance>
+            <roundRobin/>
+            <to uri="mina:tcp://localhost:9999?sync=true&amp;allowDefaultCodec=true"/>
+            <to uri="mina:tcp://localhost:9998?sync=true&amp;allowDefaultCodec=true"/>
+        </loadBalance>
+        <to uri="log:org.apache.camel.example?level=INFO"/>
+    </route>
+</camelContext>
+
+</beans>

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/META-INF/spring/camel-context-loadbalancer.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties Fri Apr 23 08:51:01 2010
@@ -0,0 +1,22 @@
+
+#
+# The logging properties used for eclipse testing, We want to see debug output on the console.
+#
+log4j.rootLogger=INFO, out
+
+# uncomment the following line to turn on Camel debugging
+#log4j.logger.org.apache.camel=DEBUG
+
+# uncomment the following line to turn on ActiveMQ debugging
+#log4j.logger.org.apache.activemq=DEBUG
+
+log4j.logger.org.springframework=WARN
+
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
+#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/loadbalancing/src/main/resources/log4j.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.camel.example</groupId>
+  <artifactId>mina1</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>A Camel Route</name>
+  <url>http://www.myorganization.org</url>
+
+  <properties>
+    <camel-version>2.2.0</camel-version>
+    <log4j-version>1.2.14</log4j-version>
+  </properties>
+
+  <dependencies>
+  	<dependency>
+  	  <groupId>org.apache.camel.example</groupId>
+	  <artifactId>loadbalancing</artifactId>
+	  <version>1.0-SNAPSHOT</version>
+	</dependency>  
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-spring</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-mina</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId> 
+      <artifactId>log4j</artifactId> 
+      <version>${log4j-version}</version> 
+    </dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-api</artifactId>
+	  <version>1.5.10</version>
+	</dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-simple</artifactId>
+	  <version>1.5.6</version>
+	</dependency>
+  </dependencies>
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+
+      <!-- allows the route to be ran via 'mvn camel:run' -->
+      <plugin>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-maven-plugin</artifactId>
+        <version>${camel-version}</version>
+      </plugin>
+
+    </plugins>
+  </build>
+</project>

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<!-- Configures the Camel Context-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Reporting"/> 
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <route id="mina1">
+        <from uri="mina:tcp://localhost:9999"/>
+        <setHeader headerName="minaServer"><constant>localhost:9999</constant></setHeader>
+		<bean ref="service" method="updateReport"/>
+    </route>
+</camelContext>
+
+</beans>
\ No newline at end of file

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/META-INF/spring/camel-context-mina1.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties Fri Apr 23 08:51:01 2010
@@ -0,0 +1,22 @@
+
+#
+# The logging properties used for eclipse testing, We want to see debug output on the console.
+#
+log4j.rootLogger=INFO, out
+
+# uncomment the following line to turn on Camel debugging
+#log4j.logger.org.apache.camel=DEBUG
+
+# uncomment the following line to turn on ActiveMQ debugging
+#log4j.logger.org.apache.activemq=DEBUG
+
+log4j.logger.org.springframework=WARN
+
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
+#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina1/src/main/resources/log4j.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.camel.example</groupId>
+  <artifactId>mina2</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>A Camel Route</name>
+  <url>http://www.myorganization.org</url>
+
+  <properties>
+    <camel-version>2.2.0</camel-version>
+    <log4j-version>1.2.14</log4j-version>
+  </properties>
+
+  <dependencies>
+  	<dependency>
+  	  <groupId>org.apache.camel.example</groupId>
+	  <artifactId>loadbalancing</artifactId>
+	  <version>1.0-SNAPSHOT</version>
+	</dependency>  
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-spring</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-mina</artifactId>
+      <version>${camel-version}</version>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId> 
+      <artifactId>log4j</artifactId> 
+      <version>${log4j-version}</version> 
+    </dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-api</artifactId>
+	  <version>1.5.10</version>
+	</dependency>
+	<dependency>
+	  <groupId>org.slf4j</groupId>
+	  <artifactId>slf4j-simple</artifactId>
+	  <version>1.5.6</version>
+	</dependency>
+  </dependencies>
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+
+      <!-- allows the route to be ran via 'mvn camel:run' -->
+      <plugin>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-maven-plugin</artifactId>
+        <version>${camel-version}</version>
+      </plugin>
+
+    </plugins>
+  </build>
+</project>

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml Fri Apr 23 08:51:01 2010
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<!-- Configures the Camel Context-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:camel="http://camel.apache.org/schema/spring"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring
+ http://camel.apache.org/schema/spring/camel-spring.xsd ">
+ 
+<bean id="service" class="org.apache.camel.example.service.Reporting"/>  
+
+<camelContext xmlns="http://camel.apache.org/schema/spring" trace="false">
+    <route id="mina1">
+        <from uri="mina:tcp://localhost:9998"/>
+        <setHeader headerName="minaServer"><constant>localhost:9998</constant></setHeader>
+        <bean ref="service" method="updateReport"/>
+    </route>
+</camelContext>
+
+</beans>
\ No newline at end of file

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/META-INF/spring/camel-context-mina2.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties?rev=937195&view=auto
==============================================================================
--- camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties (added)
+++ camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties Fri Apr 23 08:51:01 2010
@@ -0,0 +1,22 @@
+
+#
+# The logging properties used for eclipse testing, We want to see debug output on the console.
+#
+log4j.rootLogger=INFO, out
+
+# uncomment the following line to turn on Camel debugging
+#log4j.logger.org.apache.camel=DEBUG
+
+# uncomment the following line to turn on ActiveMQ debugging
+#log4j.logger.org.apache.activemq=DEBUG
+
+log4j.logger.org.springframework=WARN
+
+
+# CONSOLE appender not used by default
+log4j.appender.out=org.apache.log4j.ConsoleAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=[%30.30t] %-30.30c{1} %-5p %m%n
+#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+
+log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer

Propchange: camel/trunk/examples/camel-example-loadbalancing-mina/mina2/src/main/resources/log4j.properties
------------------------------------------------------------------------------
    svn:eol-style = native