2017-06-14 99 views
0

使用Alpakka长期订户,我们可以创建一个使用下面的代码的任何主题的非持久订阅者:与JMS连接Alpakka

Source<String, NotUsed> jmsTopicSource = JmsSource 
    .textSource(JmsSourceSettings 
     .create(connectionFactory) 
     .withTopic("topic") 
     .withBufferSize(10) 
    ); 

有没有人有一个想法如何使这个主题订阅者耐用?

回答

1

从版本0.9开始,我不认为持久消费者的创建在Alpakka的JMS连接器中是受支持的。在内部API,JmsConnector正在呼叫Session#createConsumer

private[jms] def createConsumer()(implicit ec: ExecutionContext): Future[jms.MessageConsumer] = 
    Future { 
    session.createConsumer(destination) 
    } 

似乎没有被调用的任何方法(例如,Session#createDurableConsumer)该JMS Session对象提供了创建持久消费者的方法。

+0

好的。这是有帮助的,但有可能扩展一个alpakka API或更改它的配置使其持久? – Nir

+0

我们可以扩展GraphStage >,然后重写创建消费者的方法吗? @chunjef – Nir