You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/01/19 07:52:44 UTC

svn commit: r735619 - in /activemq/camel/trunk/examples/camel-example-spring-jms: ./ src/main/java/org/apache/camel/example/client/ src/main/java/org/apache/camel/example/server/ src/main/resources/ src/main/resources/META-INF/spring/

Author: davsclaus
Date: Sun Jan 18 22:52:43 2009
New Revision: 735619

URL: http://svn.apache.org/viewvc?rev=735619&view=rev
Log:
CAMEL-1269: Added STOP command. However graceful shutdown using JMS still hangs. 

Added:
    activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java   (contents, props changed)
      - copied, changed from r734935, activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClient.java
    activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java   (with props)
Modified:
    activemq/camel/trunk/examples/camel-example-spring-jms/pom.xml
    activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/ServerRoutes.java
    activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/META-INF/spring/camel-server.xml
    activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/camel-client.xml

Modified: activemq/camel/trunk/examples/camel-example-spring-jms/pom.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/pom.xml?rev=735619&r1=735618&r2=735619&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/pom.xml (original)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/pom.xml Sun Jan 18 22:52:43 2009
@@ -48,7 +48,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.activemq</groupId>
-            <artifactId>activemq-core</artifactId>
+            <artifactId>activemq-camel</artifactId>
         </dependency>
         <!-- END SNIPPET: e1 -->
 
@@ -122,6 +122,13 @@
             </properties>
         </profile>
         <profile>
+            <id>CamelClientStop</id>
+            <properties>
+                <!-- we start using our own class to control what we do in the main -->
+                <target.main.class>org.apache.camel.example.client.CamelClientStop</target.main.class>
+            </properties>
+        </profile>
+        <profile>
             <id>CamelClientRemoting</id>
             <properties>
                 <!-- we start using our own class to control what we do in the main -->

Copied: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java (from r734935, activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClient.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java?p2=activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java&p1=activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClient.java&r1=734935&r2=735619&rev=735619&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClient.java (original)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java Sun Jan 18 22:52:43 2009
@@ -22,12 +22,12 @@
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 /**
- * Client that uses the {@link ProducerTemplate} to easily exchange messages with the Server.
+ * Client that uses the {@link org.apache.camel.ProducerTemplate} to easily exchange messages with the Server.
  * <p/>
  * Requires that the JMS broker is running, as well as CamelServer
  */
-public final class CamelClient {
-    private CamelClient() {
+public final class CamelClientStop {
+    private CamelClientStop() {
         // Helper class
     }
 
@@ -40,13 +40,9 @@
         // get the camel template for Spring template style sending of messages (= producer)
         ProducerTemplate camelTemplate = (ProducerTemplate) context.getBean("camelTemplate");
 
-        System.out.println("Invoking the multiply with 22");
-        // as opposed to the CamelClientRemoting example we need to define the service URI in this java code
-        int response = (Integer)camelTemplate.sendBody("jms:queue:numbers", ExchangePattern.InOut, 22);
-        System.out.println("... the result is: " + response);
-
-        System.exit(0);
+        System.out.println("Invoking with STOP command");
+        camelTemplate.sendBody("activemq:queue:stop", ExchangePattern.InOnly, "STOP");
     }
     // END SNIPPET: e1
 
-}
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/client/CamelClientStop.java
------------------------------------------------------------------------------
    svn:mergeinfo = 

Added: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java?rev=735619&view=auto
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java (added)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java Sun Jan 18 22:52:43 2009
@@ -0,0 +1,16 @@
+package org.apache.camel.example.server;
+
+import org.apache.camel.spring.Main;
+import org.springframework.stereotype.Service;
+
+/**
+ * Service for stopping the server.
+ */
+@Service(value = "shutdown")
+public class GracefulShutdownService {
+
+    public void shutdown(String payload) throws Exception {
+        System.out.println("Stopping Server as we recieved a " + payload + " command");
+        Main.getInstance().stop();
+    }
+}

Propchange: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/GracefulShutdownService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/ServerRoutes.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/ServerRoutes.java?rev=735619&r1=735618&r2=735619&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/ServerRoutes.java (original)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/src/main/java/org/apache/camel/example/server/ServerRoutes.java Sun Jan 18 22:52:43 2009
@@ -42,7 +42,10 @@
         //from("jms:queue:numbers").beanRef("multiplier", "multiply");
 
         // the same as above but expressed as a URI configuration
-        //from("jms:queue:numbers").to("bean:multiplier?methodName=multiply");
+        //from("activemq:queue:numbers").to("bean:multiplier?methodName=multiply");
+
+        // the STOP command
+        from("jms:queue:stop").to("shutdown");
     }
 
 }

Modified: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/META-INF/spring/camel-server.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/META-INF/spring/camel-server.xml?rev=735619&r1=735618&r2=735619&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/META-INF/spring/camel-server.xml (original)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/META-INF/spring/camel-server.xml Sun Jan 18 22:52:43 2009
@@ -55,14 +55,9 @@
     <!-- END SNIPPET: e4 -->
 
     <!-- START SNIPPET: e5 -->
-    <!-- lets configure the Camel JMS consumer to use the ActiveMQ broker declared above -->
-    <bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
-        <property name="connectionFactory">
-            <bean class="org.apache.activemq.ActiveMQConnectionFactory">
-                <!-- use the vm protocol as the JMS broker is running in the same jvm as Camel -->
-                <property name="brokerURL" value="vm://localhost"/>
-            </bean>
-        </property>
+    <!-- lets configure the Camel ActiveMQ to use the ActiveMQ broker declared above -->
+    <bean id="jms" class="org.apache.activemq.camel.component.ActiveMQComponent">
+        <property name="brokerURL" value="tcp://localhost:61616"/>
     </bean>
     <!-- END SNIPPET: e5 -->
 

Modified: activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/camel-client.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/camel-client.xml?rev=735619&r1=735618&r2=735619&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/camel-client.xml (original)
+++ activemq/camel/trunk/examples/camel-example-spring-jms/src/main/resources/camel-client.xml Sun Jan 18 22:52:43 2009
@@ -32,12 +32,8 @@
 
     <!-- START SNIPPET: e3 -->
     <!-- Camel JMSProducer to be able to send messages to a remote Active MQ server -->
-    <bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
-        <property name="connectionFactory">
-            <bean class="org.apache.activemq.ActiveMQConnectionFactory">
-                <property name="brokerURL" value="tcp://localhost:61616"/>
-            </bean>
-        </property>
+    <bean id="jms" class="org.apache.activemq.camel.component.ActiveMQComponent">
+        <property name="brokerURL" value="tcp://localhost:61616"/>
     </bean>
     <!-- END SNIPPET: e3 -->