Note that there are some explanatory texts on larger screens.

plurals
  1. POApache camel send a simple message
    primarykey
    data
    text
    <p>I have a simply camel MINA server using the JAVA DSL, and I am running like the example documented here:</p> <ul> <li><a href="http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html" rel="nofollow">Running Camel standalone and have it keep running in JAVA</a></li> <li><a href="http://camel.apache.org/mina2.html" rel="nofollow">MINA 2 Component</a></li> </ul> <p>I am trying to create a sample application hosted at "mina:tcp://localhost:9991" (aka MyApp_B) that sends a very simple message to a server hosted at "mina:tcp://localhost:9990" (aka MyApp_A).</p> <p>I want is to send a simple message containing a String in the header (which is "Hellow World!") and with the address in the body.</p> <pre><code>public class MyApp_B extends Main{ public static final String MINA_HOST = "mina:tcp://localhost:9991"; public static void main(String... args) throws Exception { MyApp_B main = new MyApp_B(); main.enableHangupSupport(); main.addRouteBuilder( new RouteBuilder(){ @Override public void configure() throws Exception { from("direct:start") .setHeader("order", constant("Hello World!")) .setBody(constant(MINA_HOST)) .to("mina:tcp://localhost:9990"); } } ); System.out.println("Starting Camel MyApp_B. Use ctrl + c to terminate the JVM.\n"); main.run(); } } </code></pre> <hr> <pre><code>public class MainApp_A { public static void main(String... args) throws Exception { Main main = new Main(); main.enableHangupSupport(); main.addRouteBuilder(new RouteBuilder(){ @Override public void configure() throws Exception { from("mina:tcp://localhost:9990").bean(MyRecipientListBean.class, "updateServers").to("direct:debug"); from("direct:debug").process(new Processor() { public void process(Exchange exchange) throws Exception { System.out.println("Received order: " + exchange.getIn().getBody()); } }); } }); main.run(args); } } </code></pre> <hr> <p>Bean used by MyApp_A:</p> <pre><code>public class MyRecipientListBean { public final static String REMOVE_SERVER = "remove"; public final static String ADD_SERVER = "add"; private Set&lt;String&gt; servers = new HashSet&lt;String&gt;(); public void updateServers(@Body String serverURI, @Header("order") String order){ System.out.println("===============================================\n"); System.out.println("Received " + order + "request from server " + serverURI + "\n"); System.out.println("===============================================\n"); if(order.equals(ADD_SERVER)) servers.add(serverURI); else if(order.equals(REMOVE_SERVER)) servers.remove(serverURI); } } </code></pre> <p>I have done this code, however, the servers on the other side don't seem to receive anything. Therefore I have 2 questions: </p> <ol> <li>Am I doing something wrong? </li> <li>Is there a better way to send simple message using Camel?</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload