我是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)
}
}
答案 0 :(得分:1)
使用seda而不是direct,因为seda的行为更像JMS。