Явный доступ к JMS с помощью Alpakka

В настоящее время я использую Akka-Camel для интеграции своего приложения на основе Akka с различными очередями сообщений.
Теперь, когда я хочу перейти на последнюю версию Akka, я вижу, что эта интеграция устарела.

Я пытался использовать alpakka-jsm интеграцию, но не могу понять, могу ли я выполнить явную ack работу с очередями сообщений после обработки сообщения. Существует ли эта функциональность в этом новом компоненте?


person Evan M.    schedule 31.07.2017    source источник


Ответы (1)


Alpakka 0.15 позволяет настраивать режим подтверждения в соединителе JMS. Пример, адаптированный из связанной документации:

val jmsSource: Source[Message, NotUsed] = JmsSource(
  JmsSourceSettings(connectionFactory)
    .withQueue("myqueue")
    .withAcknowledgeMode(AcknowledgeMode.ClientAcknowledge)
)

val result = jmsSource
  .map {
    case textMessage: TextMessage =>
      val text = textMessage.getText
      textMessage.acknowledge()
      text
  }
  .runWith(Sink.seq)
person Jeffrey Chung    schedule 06.12.2017