You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2007/05/02 12:45:42 UTC
svn commit: r534382 -
/activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java
Author: rajdavies
Date: Wed May 2 03:45:41 2007
New Revision: 534382
URL: http://svn.apache.org/viewvc?view=rev&rev=534382
Log:
spring clean + extend (sce)
Modified:
activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java
Modified: activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java?view=diff&rev=534382&r1=534381&r2=534382
==============================================================================
--- activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java (original)
+++ activemq/camel/trunk/camel-eg-jms-file/src/main/java/org/apache/camel/samples/jmstofile/CamelJmsToFileSample.java Wed May 2 03:45:41 2007
@@ -18,45 +18,67 @@
package org.apache.camel.samples.jmstofile;
-import static
-org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
import javax.jms.ConnectionFactory;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.CamelClient;
import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.Producer;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.file.FileExchange;
-import org.apache.camel.component.jms.JmsEndpoint;
-import org.apache.camel.component.jms.JmsExchange;
import org.apache.camel.impl.DefaultCamelContext;
-public class CamelJmsToFileSample {
-
-
- public static void main(String args[]) throws Exception {
- CamelContext context = new DefaultCamelContext();
-
+
+/**
+ * An example class for demonstrating some of the basics behind camel
+ *
+ * This example will send some text messages on to a JMS Queue, consume them and
+ * persist them to disk
+ *
+ * @version $Revision: 529902 $
+ *
+ */
+public class CamelJmsToFileSample{
+
+ public static void main(String args[]) throws Exception{
+ CamelContext context=new DefaultCamelContext();
+
//Set up the ActiveMQ JMS Components
- ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
- context.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
- //Endpoint<FileExchange> endpoint = context.getEndpoint("file://test");
-
+ ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
+ //note we can explicity name the component
+ context.addComponent("test-jms",jmsComponentAutoAcknowledge(connectionFactory));
- context.addRoutes(new RouteBuilder() {
- public void configure() {
- from("jms:queue:test.a").to("file://test");
-
+ //Add some configuration by hand ...
+ context.addRoutes(new RouteBuilder(){
+
+ public void configure(){
+ from("test-jms:queue:test.queue").to("file://test");
+ // set up a listener on the file component
+ from("file://test").process(new Processor(){
+
+ public void process(Exchange e){
+ System.out.println("Received exchange: "+e.getIn());
+ }
+ });
}
});
- //Camel client - a handy class for kicking off exchanges
+ // Camel client - a handy class for kicking off exchanges
+ CamelClient client=new CamelClient(context);
- CamelClient client = new CamelClient(context);
+ //Now everything is set up - lets start the context
context.start();
- client.sendBody("jms:queue:test.a", "foo");
+
+ //now send some test text to a component - for this case a JMS Queue
+ //The text get converted to JMS messages - and sent to the Queue test.queue
+ //The file component is listening for messages from the Queue test.queue, consumes
+ //them and stores them to disk. The content of each file will be the test test we sent here.
+ //The listener on the file component gets notfied when new files are found ...
+ //that's it!
+
+ for(int i=0;i<10;i++){
+ client.sendBody("test-jms:queue:test.queue","Test Message: "+i);
+ }
+
Thread.sleep(1000);
context.stop();
}