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&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>