在与Alpakka的交换中创建AMQP队列

在与Alpakka的交换中创建AMQP队列,akka,amqp,alpakka,Akka,Amqp,Alpakka,我想在现有exchange中创建一个队列以进行读取 另一个应用程序正在将消息发布到此exchange,并将它们分散到所有成员队列。我希望我的新应用程序成为这些消息的附加订户 以下操作将创建一个队列: implicit val system = ActorSystem("my-system") implicit val materializer = ActorMaterializer() implicit val executionCtx: ExecutionContext = system.di

我想在现有exchange中创建一个队列以进行读取

另一个应用程序正在将消息发布到此exchange,并将它们分散到所有成员队列。我希望我的新应用程序成为这些消息的附加订户

以下操作将创建一个队列:

implicit val system = ActorSystem("my-system")
implicit val materializer = ActorMaterializer()
implicit val executionCtx: ExecutionContext = system.dispatcher

val queueName: String = s"test-queue-${System.currentTimeMillis}"
val queueDeclaration = QueueDeclaration(queueName, autoDelete = true)
val amqpSource = AmqpSource(
    NamedQueueSourceSettings(AmqpConnectionUri(amqpUri), queueName)
      .withDeclarations(queueDeclaration), bufferSize = 10)
这将为交换创建一个接收器

val sink = AmqpSink.simple(AmqpSinkSettings(AmqpConnectionUri(amqpUri))
  .withExchange("exchange_name"))

但如果这是正确的方法,我不确定如何将它们结合使用。

请您澄清您的最终目标好吗?您刚才提到要在exchange中创建队列。您想对这个队列做什么?添加第二段以澄清意图@史蒂芬诺贝内蒂:你读了吗?请尝试创建该部分所述的源代码,如果不起作用,请描述失败的原因。此外,如果需要更广泛的示例,请查看Alpakka连接器的测试。谢谢@StefanoBonetti,这些示例非常有用。我需要的是
TemporaryQueueSourceSettings
,而不是
NamedQueueSourceSettings
,因为前者允许使用exchange名称。