You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/03/17 15:19:18 UTC

svn commit: r755262 - in /servicemix/smx4/nmr/trunk/examples/nmr: client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java

Author: gnodet
Date: Tue Mar 17 14:19:17 2009
New Revision: 755262

URL: http://svn.apache.org/viewvc?rev=755262&view=rev
Log:
Clean NMR example a bit (reuse and close the client channel)

Modified:
    servicemix/smx4/nmr/trunk/examples/nmr/client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java
    servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java

Modified: servicemix/smx4/nmr/trunk/examples/nmr/client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/examples/nmr/client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java?rev=755262&r1=755261&r2=755262&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/examples/nmr/client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java (original)
+++ servicemix/smx4/nmr/trunk/examples/nmr/client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/Client.java Tue Mar 17 14:19:17 2009
@@ -24,6 +24,7 @@
 import org.apache.servicemix.nmr.api.NMR;
 import org.apache.servicemix.nmr.api.Pattern;
 import org.apache.servicemix.nmr.api.Status;
+import org.apache.servicemix.nmr.api.Reference;
 import org.apache.servicemix.nmr.api.service.ServiceHelper;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
@@ -34,12 +35,12 @@
     private NMR nmr;
 
     private SendRequestThread sendRequestThread;
-    
+
     public void afterPropertiesSet() throws Exception {
         sendRequestThread = new SendRequestThread();
         sendRequestThread.setRun(true);
         sendRequestThread.start();
-        
+
     }
 
     public void destroy() throws Exception {
@@ -54,35 +55,44 @@
     public NMR getNmr() {
         return nmr;
     }
-    
+
     class SendRequestThread extends Thread {
         private boolean run;
+
         public void run() {
-            while (run) {
-                try {
-                    Thread.sleep(5000);
-                    if (run && nmr != null) {
-		        Channel client = nmr.createChannel();
-                	Exchange e = client.createExchange(Pattern.InOut);
-	                e.setTarget(nmr.getEndpointRegistry().lookup(ServiceHelper.createMap(Endpoint.NAME, "EchoEndpoint")));
-        	        e.getIn().setBody("Hello");
-                	client.sendSync(e);
-	                LOG.info("Response from Endpoint " + e.getOut().getBody());
-                        e.setStatus(Status.Done);
-                        client.send(e);                        
+            Channel client = null;
+            try {
+                client = nmr.createChannel();
+                Reference ref = nmr.getEndpointRegistry().lookup(ServiceHelper.createMap(Endpoint.NAME, "EchoEndpoint")); 
+                while (run) {
+                    try {
+                        Thread.sleep(5000);
+                        if (run && nmr != null) {
+                            Exchange e = client.createExchange(Pattern.InOut);
+                            e.setTarget(ref);
+                            e.getIn().setBody("Hello");
+                            client.sendSync(e);
+                            LOG.info("Response from Endpoint " + e.getOut().getBody());
+                            e.setStatus(Status.Done);
+                            client.send(e);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        LOG.error(e.getMessage());
                     }
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    LOG.error(e.getMessage());
+                }
+            } finally {
+                if (client != null) {
+                    client.close();
                 }
             }
         }
-        
+
         public void setRun(boolean run) {
             this.run = run;
         }
     }
 
-    
+
 }
 

Modified: servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java?rev=755262&r1=755261&r2=755262&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java (original)
+++ servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/EchoEndpoint.java Tue Mar 17 14:19:17 2009
@@ -26,16 +26,17 @@
 public class EchoEndpoint implements Endpoint {
     private static final transient Log LOG = LogFactory.getLog(EchoEndpoint.class);
     private Channel channel;
+
     public void process(Exchange exchange) {
         if (exchange.getStatus().equals(Status.Active)) {
-   	    LOG.info("Received in EchoEndpoint: " + exchange.getIn().getBody());
-	    exchange.getOut().setBody("Echo" + exchange.getIn().getBody(), String.class);
+            LOG.info("Received in EchoEndpoint: " + exchange.getIn().getBody());
+            exchange.getOut().setBody("Echo" + exchange.getIn().getBody(), String.class);
             channel.send(exchange);
         }
     }
 
     public void setChannel(Channel channel) {
-	this.channel = channel;
+        this.channel = channel;
     }
 
 }