Akka Camel и ActiveMQ: как установить режим доставки

Насколько я знаю, ActiveMQ устанавливает режим доставки на PERSISTENT по умолчанию... так как мне установить режим доставки на NON_PERSISTENT для конкретной темы при использовании Akka-Camel? Здесь ниже мой пример кода:

import akka.actor._
import akka.camel._
import org.apache.activemq.camel.component.ActiveMQComponent

case class MyMessage(body: String)

class MyProducer() extends Actor with Producer with Oneway {
  def endpointUri: String = "activemq:MyTopic"
}

class SimpleConsumer() extends Actor with Consumer {
  def endpointUri: String = "activemq:MyTopic"

  def receive = {
    case msg: CamelMessage => println(msg)
  }
}

object MyApp extends App {

  val actorSystem = ActorSystem("MyApp")
  val system = CamelExtension(actorSystem)

  system.context.addComponent(
     "activemq",
     ActiveMQComponent.activeMQComponent("nio://localhost:61616")
  )

  val consumer = actorSystem.actorOf(Props[MyConsumer])
  val producer = actorSystem.actorOf(Props[MyProducer])

  ...

  producer ! MyMessage("hello")

  ...

  actorSystem.shutdown()
}

1 ответ

Решение

Параметры задаются в URI конечной точки.

"activemq:MyTopic?deliveryPersistent=false"
Другие вопросы по тегам