title: Apache camel send a simple message
body: <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>