Azure服务总线与Java Spring Boot

3j86kqsm  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(63)

我正在尝试在wildfly 27中执行springboot应用程序,以连接并侦听来自Azure服务总线的JMS消息。
同样的代码在使用嵌入式tomcat时也能正常工作,但是如果我排除tomcat并在wildfly中部署同样的war文件,它就不能工作了。

错误原因:无法创建持久订阅-未设置客户端ID

我如何让它在WildFly中工作?

@SpringBootApplication
@EnableJms
public class JiraServiceBusApplication  extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(JiraServiceBusApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(JiraServiceBusApplication.class);
    }
    
}

@JmsListener(destination = TOPIC_NAME, containerFactory = "topicJmsListenerContainerFactory",
        subscription = SUBSCRIPTION_NAME, concurrency = "1")
public void receiveMessage(Message message) throws JMSException {

spring.jms.servicebus.connection-string=Endpoint=sb://xxxxxxxx.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxxxxxxxxxxxxxx+ASbJ7sBvY=
spring.jms.servicebus.topic-client-id=xxxxxxxxx-xxxxxxxxx-xxxxxxxx
spring.jms.servicebus.pricing-tier=standard

字符串

70gysomp

70gysomp1#

在将Sping Boot 与嵌入式Tomcat服务器一起使用时,连接由嵌入式服务器本身管理。

  • 当部署到WildFly时,连接由应用服务器管理,您可能需要相应地配置JMS连接工厂和客户端ID。

JMS配置到WildFly:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:10.0">
    <server name="default">
        <jms-connection-factories>
            <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
            <pooled-connection-factory name="activemq-ra" transaction="true" connectors="in-vm"/>
            <!-- Add your custom connection factory configuration here -->
        </jms-connection-factories>
    </server>
</subsystem>

字符串

  • 在消息传递子系统中,找到JMS目的地的<jms-queue><jms-topic>配置。
<jms-topic name="yourTopic">
    <entry name="java:/jms/yourTopic"/>
    <durable>true</durable>
</jms-topic>

  • 打开WildFly配置目录中的standalone.xml文件,在配置中找到<subsystem xmlns="urn:jboss:domain:messaging-activemq:4.0">部分。


的数据


相关问题