2016-11-07 84 views
0

親愛的阿卡/駱駝大師們!camel-akka和演員的迴應

我具有以下路線:

(netty4:TCP) - >(阿卡:演員)

我使用阿卡駝模塊,其中:

阿卡:演員是類型UntypedConsumerActor的 netty4:TCP是在阿卡的getEndopointUri方法中定義的端點:演員

netty4:tcp://localhost:8000?textline=true 

當我發送字節的TCP套接字I接收例外其中電話ls該套接字通道已關閉:

Caused by: java.nio.channels.ClosedChannelException: null 
     at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source) [netty-all-4.1.4.Final.jar:4.1.4.Final] 

Message History 
--------------------------------------------------------------------------------------------------------------------------------------- 
RouteId    ProcessorId   Processor                  Elapsed (ms) 
[akka://FileDaemonS] [akka://FileDaemonS] [tcp://localhost:8000               ] [  60061] 
[akka://FileDaemonS] [to1    ] [akka://FileDaemonSystem/user/FileDaemonTcpEndpoint?autoAck=false&replyTimeout=] [  60037] 
java.util.concurrent.TimeoutException: Failed to get response from the actor [ActorEndpointPath(akka://FileDaemonSystem/user/FileDaemonTcpEndpoint)] within timeout [1 minute]. Check replyTimeout and blocking settings [Endpoint[akka://FileDaemonSystem/user/FileDaemonTcpEndpoint?autoAck=false&replyTimeout=60000+milliseconds]] 
     at akka.camel.internal.component.ActorProducer$$anonfun$1.applyOrElse(ActorComponent.scala:151) ~[akka-camel_2.11-2.4.9.jar:na] 
     at akka.camel.internal.component.ActorProducer$$anonfun$1.applyOrElse(ActorComponent.scala:148) ~[akka-camel_2.11-2.4.9.jar:na] 
     at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36) ~[scala-library-2.11.8.jar:na] 
     at scala.PartialFunction$AndThen.apply(PartialFunction.scala:186) [scala-library-2.11.8.jar:na] 
     at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) [scala-library-2.11.8.jar:na] 

我在做什麼錯?

+0

服務器按預期工作。我在FileDaemonTcpEndpoint#onReceive方法中收到消息。發送響應期間發生問題 –

回答

0

我找到了解決方案。將netty端點設置爲單向可解決問題。

netty4:tcp://localhost:8000?textline=true&sync=false