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:24:57 UTC
svn commit: r755265 - in /servicemix/smx4/nmr/trunk/examples/nmr:
client/src/main/java/org/apache/servicemix/nmr/examples/nmr/client/
endpoint/src/main/java/org/apache/servicemix/nmr/examples/nmr/endpoint/
endpoint/src/main/resources/META-INF/spring/
Author: gnodet
Date: Tue Mar 17 14:24:57 2009
New Revision: 755265
URL: http://svn.apache.org/viewvc?rev=755265&view=rev
Log:
Refactory a bit the client example
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
servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/resources/META-INF/spring/beans.xml
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=755265&r1=755264&r2=755265&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:24:57 2009
@@ -29,25 +29,27 @@
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
-public class Client implements InitializingBean, DisposableBean {
+public class Client implements InitializingBean, DisposableBean, Runnable {
private static final transient Log LOG = LogFactory.getLog(Client.class);
private NMR nmr;
- private SendRequestThread sendRequestThread;
+ private Thread sendRequestThread;
+ private volatile boolean run = true;
public void afterPropertiesSet() throws Exception {
- sendRequestThread = new SendRequestThread();
- sendRequestThread.setRun(true);
+ sendRequestThread = new Thread(this);
sendRequestThread.start();
}
public void destroy() throws Exception {
- sendRequestThread.setRun(false);
+ run = false;
+ if (sendRequestThread != null) {
+ sendRequestThread.interrupt();
+ }
}
-
public void setNmr(NMR nmr) {
this.nmr = nmr;
}
@@ -56,43 +58,40 @@
return nmr;
}
- class SendRequestThread extends Thread {
- private boolean run;
-
- public void run() {
- 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());
- }
+ public void run() {
+ Channel client = null;
+ try {
+ // Create the client channel
+ client = nmr.createChannel();
+ // Create a reference that will be used as the target for our exchanges
+ Reference ref = nmr.getEndpointRegistry().lookup(ServiceHelper.createMap(Endpoint.NAME, "EchoEndpoint"));
+ while (run) {
+ try {
+ // Create an exchange and send it
+ Exchange e = client.createExchange(Pattern.InOut);
+ e.setTarget(ref);
+ e.getIn().setBody("Hello");
+ client.sendSync(e);
+ LOG.info("Response from Endpoint " + e.getOut().getBody());
+ // Send back the Done status
+ e.setStatus(Status.Done);
+ client.send(e);
+ } catch (Exception e) {
+ e.printStackTrace();
+ LOG.error(e.getMessage());
}
- } finally {
- if (client != null) {
- client.close();
+ // Sleep a bit
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
}
}
- }
-
- public void setRun(boolean run) {
- this.run = run;
+ } finally {
+ if (client != null) {
+ client.close();
+ }
}
}
-
}
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=755265&r1=755264&r2=755265&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:24:57 2009
@@ -24,7 +24,9 @@
import org.apache.servicemix.nmr.api.Status;
public class EchoEndpoint implements Endpoint {
+
private static final transient Log LOG = LogFactory.getLog(EchoEndpoint.class);
+
private Channel channel;
public void process(Exchange exchange) {
Modified: servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/resources/META-INF/spring/beans.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/resources/META-INF/spring/beans.xml?rev=755265&r1=755264&r2=755265&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/resources/META-INF/spring/beans.xml (original)
+++ servicemix/smx4/nmr/trunk/examples/nmr/endpoint/src/main/resources/META-INF/spring/beans.xml Tue Mar 17 14:24:57 2009
@@ -28,8 +28,8 @@
http://www.springframework.org/schema/osgi/spring-osgi.xsd">
<!-- Echo Endpoint -->
- <bean id="echo" class="org.apache.servicemix.nmr.examples.nmr.endpoint.EchoEndpoint">
- </bean>
+ <bean id="echo" class="org.apache.servicemix.nmr.examples.nmr.endpoint.EchoEndpoint" />
+
<osgi:service ref="echo">
<osgi:interfaces>
<value>org.apache.servicemix.nmr.api.Endpoint</value>