Akka 如何取消发布阿克卡骆驼消费者?

Akka 如何取消发布阿克卡骆驼消费者?,akka,Akka,我的《骆驼消费者》演员不会在我给它发送消息后被取消发布。这将防止应用程序关闭。如果我只是在不发送任何消息的情况下启动和停止该演员,它就会起作用。我错过了什么 示例代码: import akka.actor.Actor import Actor._ import akka.event.EventHandler import akka.camel.{CamelContextManager, CamelServiceManager, Message, Consumer} object Test {

我的《骆驼消费者》演员不会在我给它发送消息后被取消发布。这将防止应用程序关闭。如果我只是在不发送任何消息的情况下启动和停止该演员,它就会起作用。我错过了什么

示例代码:

import akka.actor.Actor
import Actor._
import akka.event.EventHandler
import akka.camel.{CamelContextManager, CamelServiceManager, Message, Consumer}

object Test {
  def main(args: Array[String]): Unit = {
    val consumer = actorOf(new Actor with Consumer {
      def endpointUri = "direct:test"

      def receive = {
        case msg: Message => println(msg.bodyAs[String])
      }
    })

    val service = CamelServiceManager.startCamelService

    service.awaitEndpointActivation(1) {
      consumer.start()
    }

    // If I comment out this row, it works
    CamelContextManager.mandatoryTemplate.requestBody("direct:test", "testing")

    service.awaitEndpointDeactivation(1) {
      consumer.stop()
    }

    service.stop

  }
}

将此消息发送给akka用户ML,并可以选择在akka汇编器处打开票据。