Akka Camel:端点上没有消费者可用

时间:2016-05-31 21:06:50

标签: apache-camel akka

我是Akka的新用户,我正在尝试使用Camel组件。

我在这里简化了代码,但基本上我有一个Consumer actor,它从JMS端点消耗。

在我的集成测试中,我不希望使用JMS。相反,我希望将消息发送到消费者从中读取的端点。

因此,我正在尝试这种“直接”方法,但我得到No consumers available on endpoint: Endpoint[direct://myCamelEndpoint]. Exchange[Message: My test message]例外。

我在这里缺少什么配置?

object TestApp extends App {
  implicit val system = ActorSystem()
  val camel = CamelExtension(system)
  val producer = system.actorOf(Props[MyProducer])
  val consumer = system.actorOf(Props[MyConsumer])

  producer ! "My test message"


}

class MyProducer extends Producer {
  override def endpointUri: String = "direct:myCamelEndpoint"
}

class MyConsumer extends Consumer with ActorLogging{
  override def endpointUri: String = "direct:myCamelEndpoint"

  override def receive: Receive = {
    case event: Any => log.info("Received event {}", event)
  }
}

1 个答案:

答案 0 :(得分:1)

使用seda而不是direct,因为seda的行为更像JMS。