【问题标题】:Whether topicJmsListenerContainerFactory supports asynchronous Processing - Azure Spring JMS?topicJmsListenerContainerFactory 是否支持异步处理 - Azure Spring JMS?
【发布时间】:2021-04-12 02:48:15
【问题描述】:

我正在尝试从 azure 服务总线主题异步读取消息。我已经根据 MS 文档创建了 JMS 监听器

  @JmsListener(destination = TOPIC_NAME, containerFactory = "topicJmsListenerContainerFactory",
            subscription = SUBSCRIPTION_NAME)
    public void receiveMessage(User user) {
        logger.info("Received message: {}", user.getName());
    }

需要确定 topicJmsListenerContainerFactory 容器工厂是否支持异步处理?

Spring 文档说

我尝试像下面那样实现 DefaultJmsListenerContainerFactory,但是通过使用它,我无法从服务总线顶部获取任何消息。它抛出异常找不到消息传递实体。我可以使用 topicJmsListenerContainerFactory 容器工厂获取消息

@Bean
@ConditionalOnMissingBean(name = "jmsListenerContainerFactory")
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(DefaultJmsListenerContainerFactoryConfigurer Configure, ConnectionFactory connectionFactory) {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    Configure.configure(factory, connectionFactory);
    return factory;
}

参考:

https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus

How to create DefaultMessageListenerContainer in Spring-Boot?

https://docs.microsoft.com/en-us/java/api/com.azure.spring.autoconfigure.jms.servicebusjmsautoconfiguration.topicjmslistenercontainerfactory?view=azure-java-preview

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jms/annotation/JmsListener.html

有人请教一下吗?

【问题讨论】:

    标签: java azure spring-boot jms spring-jms


    【解决方案1】:

    是的。 快速浏览https://github.com/Azure/azure-sdk-for-java/blob/e81850c3fcebe0bbfe65ed3e8a1c7c0c607798cf/sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/autoconfigure/jms/ServiceBusJMSAutoConfiguration.java#L71

    提供topicJmsListenerContainerFactory 也是DefaultJmsListenerContainerFactory 类的一个实例,因为我们知道DefaultJmsListenerContainerFactory 提供了Spring JMS 的所有优点,所以它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2016-09-15
      • 2013-09-25
      • 2020-09-04
      • 2017-07-27
      • 2012-07-05
      相关资源
      最近更新 更多