我一直在尝试通过套接字编程将数据发送到 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子句中添加一些参数。
请帮助......
答案 0 :(得分:0)
它是由mina2消费者引起的,不接受来自消息的响应。您需要在LogProcessor中设置out消息,就像这样。
exchange.getOut().getBody("response message");