Apache Camel Mina2没有使用Socket接收数据

时间:2014-12-09 09:26:05

标签: java sockets tcp apache-camel mina

我一直在尝试通过套接字编程将数据发送到 Apache Camel ,我正在尝试使用 Apache Mina2 。想法是通过TCP将数据发送给Camel。对于TCP,我使用套接字编程。这就是我的代码 Mina2

public void configure() throws Exception {
from("mina2:tcp://localhost:6789?sync=false")
    .process(new LogProcessor());
}

LogProcessor 仅使用exchange.getIn().getBody(String.class)打印收到邮件的正文

这段代码适用于Apache Mina ,如下所示:

from("mina:tcp://localhost:6789?textline=true&sync=true")
    .process(new LogProcessor());

我使用的套接字编程客户端代码如下:

  try
      {
         Socket client = new Socket();




         client.connect(new InetSocketAddress("localhost", 6789));

         OutputStream outToServer = client.getOutputStream();
         DataOutputStream out = new DataOutputStream(outToServer);
         System.out.println("After Dataoutput stream");
         out.writeBytes("Content gets received in server\n");

         client.close();
      }

同一段代码适用于 Mina ,但不适用于 Mina2 。 我无法弄清楚导致问题的原因。我是否需要在Camel的from子句中添加一些参数。

请帮助......

1 个答案:

答案 0 :(得分:0)

它是由mina2消费者引起的,不接受来自消息的响应。您需要在LogProcessor中设置out消息,就像这样。

 exchange.getOut().getBody("response message");
相关问题