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>


Reply via email to