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/08/25 15:26:23 UTC

svn commit: r989095 - in /camel/trunk/tests/camel-itest-activemq-highvolume/src/main: java/org/apache/camel/itest/highvolume/ resources/META-INF/spring/

Author: cmoulliard
Date: Wed Aug 25 13:26:23 2010
New Revision: 989095

URL: http://svn.apache.org/viewvc?rev=989095&view=rev
Log: (empty)

Added:
    camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Address.java
    camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Contact.java
    camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Person.java
Modified:
    camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Messages.java
    camel/trunk/tests/camel-itest-activemq-highvolume/src/main/resources/META-INF/spring/camel-context.xml

Added: camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Address.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Address.java?rev=989095&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Address.java (added)
+++ camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Address.java Wed Aug 25 13:26:23 2010
@@ -0,0 +1,39 @@
+package org.apache.camel.itest.highvolume;
+
+import java.io.Serializable;
+
+public class Address implements Serializable{
+	
+	private static final long serialVersionUID = 6058616766070098476L;
+	
+	private String Street;
+	private String Locality;
+	private String Number;
+	private String PostalCode;
+	
+	public String getStreet() {
+		return Street;
+	}
+	public void setStreet(String street) {
+		Street = street;
+	}
+	public String getLocality() {
+		return Locality;
+	}
+	public void setLocality(String locality) {
+		Locality = locality;
+	}
+	public String getNumber() {
+		return Number;
+	}
+	public void setNumber(String number) {
+		Number = number;
+	}
+	public String getPostalCode() {
+		return PostalCode;
+	}
+	public void setPostalCode(String postalCode) {
+		PostalCode = postalCode;
+	}
+
+}

Added: camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Contact.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Contact.java?rev=989095&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Contact.java (added)
+++ camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Contact.java Wed Aug 25 13:26:23 2010
@@ -0,0 +1,39 @@
+package org.apache.camel.itest.highvolume;
+
+import java.io.Serializable;
+
+public class Contact implements Serializable{
+	
+	private static final long serialVersionUID = -8890589951901473064L;
+
+	private String FirstName;
+	private String LastName;
+	private String Title;
+	private String Company;
+	
+	public String getFirstName() {
+		return FirstName;
+	}
+	public void setFirstName(String firstName) {
+		FirstName = firstName;
+	}
+	public String getLastName() {
+		return LastName;
+	}
+	public void setLastName(String lastName) {
+		LastName = lastName;
+	}
+	public String getTitle() {
+		return Title;
+	}
+	public void setTitle(String title) {
+		Title = title;
+	}
+	public String getCompany() {
+		return Company;
+	}
+	public void setCompany(String company) {
+		Company = company;
+	}
+
+}

Modified: camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Messages.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Messages.java?rev=989095&r1=989094&r2=989095&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Messages.java (original)
+++ camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Messages.java Wed Aug 25 13:26:23 2010
@@ -1,5 +1,8 @@
 package org.apache.camel.itest.highvolume;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
@@ -14,7 +17,7 @@ public class Messages {
 	@EndpointInject(ref="JmsQueueProducer")
     ProducerTemplate templateActiveMq;
 	
-	public void split(Exchange exchange) {
+	public void splitString(Exchange exchange) {
 		String messages = (String) exchange.getIn().getBody();
 		
 		String[] result = messages.split(",");
@@ -22,13 +25,75 @@ public class Messages {
 			templateActiveMq.sendBody(result[x]);
 		}
 	}
+	
+	public void splitObject(Exchange exchange) {
+		List<Person> persons = (List) exchange.getIn().getBody();
+		
+		for (Person person : persons) {
+			templateActiveMq.sendBody(person);
+		}
+	}
     
-    public void generate(Exchange exchange) {
+    public void generateString(Exchange exchange) {
      	StringBuilder messages = new StringBuilder();
         for (int i = 1; i < 20000; i++) {
         	messages.append("Test Message: " + i + ",");
         }
         template.sendBody(messages.toString());
     }
+    
+    public void generateObject(Exchange exchange) {
+    	Person person;
+    	List<Person> persons = new ArrayList();
+        for (int i = 1; i < 15000; i++) {
+        	person = createPerson();
+        	person.setId(i);
+        	
+        	persons.add(person);
+        }
+        
+        template.sendBody(persons);
+        
+    }
+    
+    private static Person createPerson() {
+    	Person person = new Person();
+    	Address address = new Address();
+    	Contact contact = new Contact();
+    	List<Contact> contacts = new ArrayList<Contact>();
+    	
+    	address.setLocality("ApacheWorld");
+    	address.setNumber("666");
+    	address.setPostalCode("B-1000");
+    	address.setStreet("CommitterStreet");
+    	
+    	// First contact
+    	contact.setCompany("Fuse");
+    	contact.setFirstName("Claus");
+    	contact.setLastName("Ibsen");
+    	contact.setTitle("Camel Designer");
+    	contacts.add(contact);
+    	
+    	// 2nd contact
+    	contact.setCompany("Fuse");
+    	contact.setFirstName("Guillaume");
+    	contact.setLastName("Nodet");
+    	contact.setTitle("Karaf Designer");
+    	contacts.add(contact);
+    	
+    	// 3rd contact
+    	contact.setCompany("Apache Foundation");
+    	contact.setFirstName("Jean-Baptiste");
+    	contact.setLastName("D'Onofré");
+    	contact.setTitle("ServiceMix committer");
+    	contacts.add(contact);
+    	
+    	person.setFirstName("Charles");
+    	person.setLastName("Moulliard");
+    	person.setAddress(address);
+    	person.setContacts(contacts);
+   	
+    	return person;
+    }
 
 }

Added: camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Person.java
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Person.java?rev=989095&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Person.java (added)
+++ camel/trunk/tests/camel-itest-activemq-highvolume/src/main/java/org/apache/camel/itest/highvolume/Person.java Wed Aug 25 13:26:23 2010
@@ -0,0 +1,56 @@
+package org.apache.camel.itest.highvolume;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class Person implements Serializable {
+	
+	private static final long serialVersionUID = 1411519840977233192L;
+
+	private String FirstName;
+	private String LastName;
+	private long Id;
+	private int Age;
+	private Address address;
+	private List<Contact> contacts;
+	
+	public String getFirstName() {
+		return FirstName;
+	}
+	public void setFirstName(String firstName) {
+		FirstName = firstName;
+	}
+	public String getLastName() {
+		return LastName;
+	}
+	public void setLastName(String lastName) {
+		LastName = lastName;
+	}
+	public int getAge() {
+		return Age;
+	}
+	public void setAge(int age) {
+		Age = age;
+	}
+	public Address getAddress() {
+		return address;
+	}
+	public void setAddress(Address address) {
+		this.address = address;
+	}
+	public List<Contact> getContacts() {
+		return contacts;
+	}
+	public void setContacts(List<Contact> contacts) {
+		this.contacts = contacts;
+	}
+	public long getId() {
+		return Id;
+	}
+	public void setId(long id) {
+		Id = id;
+	}
+	
+	
+
+}

Modified: camel/trunk/tests/camel-itest-activemq-highvolume/src/main/resources/META-INF/spring/camel-context.xml
URL: http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest-activemq-highvolume/src/main/resources/META-INF/spring/camel-context.xml?rev=989095&r1=989094&r2=989095&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest-activemq-highvolume/src/main/resources/META-INF/spring/camel-context.xml (original)
+++ camel/trunk/tests/camel-itest-activemq-highvolume/src/main/resources/META-INF/spring/camel-context.xml Wed Aug 25 13:26:23 2010
@@ -12,22 +12,27 @@
 	
     <endpoint id="Timer" uri="timer:messages?delay=3000&amp;period=1s"/>
     <endpoint id="Direct" uri="direct:messages"/>
-    <endpoint id="Split" uri="bean:messages?method=split"/>
-    <endpoint id="GenerateMessages" uri="bean:messages?method=generate"/>
+
+    <endpoint id="GenerateStringMessages" uri="bean:messages?method=generateString"/>
+    <endpoint id="SplitString" uri="bean:messages?method=splitString"/>
+    
+    <endpoint id="GenerateObjectMessages" uri="bean:messages?method=generateObject"/>
+    <endpoint id="SplitObject" uri="bean:messages?method=splitObject"/>
+        
     <endpoint id="JmsQueueProducer" uri="jmsProducer:topic:highVolume"/>
-    <endpoint id="JmsQueueConsumer" uri="jmsConsumer:queue:VirtualQueueConsumer.highVolume?concurrentConsumers=200"/>
+    <endpoint id="JmsQueueConsumer" uri="jmsConsumer:queue:VirtualQueueConsumer.highVolume?concurrentConsumers=500"/>
     <endpoint id="Mock" uri="mock:virtualConsumer"/>
     <endpoint id="Log" uri="log:org.apache.camel.example?level=WARN"/>
 	        
 	  <route id="ProduceMessages" trace="false">
 			<from ref="Timer"/>
-			<to ref="GenerateMessages"/>
+			<to ref="GenerateObjectMessages"/>
 		</route>
 
 		<route id="SplitandProduceMessagesOnActiveMq" trace="false">
 			<from ref="Direct"/>
 				<doTry>
-    				<to ref="Split"/>
+    				<to ref="SplitObject"/>
 					<doCatch>
 						<exception>javax.jms.ResourceAllocationException</exception>
 						<log message=">>>>>> PRODUCER SHOULD BE STOPPED"/>
@@ -35,7 +40,7 @@
 				</doTry>
 		</route>
 	    
-  	<route id="ConsumeMessages" trace="false">
+  	  <route id="ConsumeMessages" trace="false">
 	    <from ref="JmsQueueConsumer"/>
  	    <to uri="seda:log?concurrentConsumers=20"/>
 	  </route>