独立使用者(SpringJMS)在ActiveMQ上创建了另一个队列

时间:2019-02-22 15:29:32

标签: java spring-boot spring-jms

我创建了一个简单的独立使用者,尝试使用ActiveMQ上的4条消息。但是,当我启动该应用程序时,它创建了另一个队列,其名称如下图所示:

enter image description here

我的项目结构如下:

enter image description here

类中的代码如下:

FebMessageConsumer类

package com.consumer.messages.febMessageConsumer;

    import org.springframework.jms.annotation.JmsListener;
    import org.springframework.stereotype.Component;

    @Component
    public class FebMessageConsumer {

        @JmsListener(destination = "CDD Feb 21 Queue")
        ///@JmsListener
        public void processFebMessage(String message) {

            System.out.println("Message Retrieved is:" +message);


        }

    }

FebMessageConsumerApplication类

package com.consumer.messages.febMessageConsumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jms.annotation.EnableJms;

@SpringBootApplication
@EnableJms
public class FebMessageConsumerApplication {

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

}

1)上面的代码有什么问题?

2)一旦一切正常,我计划将其作为WAR部署到Apache Tomcat 8.5。就像当我部署应用程序或将应用程序作为Java应用程序启动时,它将一一消耗掉所有消息吗?或者,当我启动该应用程序时,一次只消耗一条消息,然后我必须停止该应用程序,然后再次启动以消耗下一条消息?

这里是压缩项目的Google Drive Link,以备参考。

1 个答案:

答案 0 :(得分:0)

现有队列名称包含引号。

使用@JmsListener(destination = "\"CDD Feb 21 Queue\"")

它将不断地一个接一个地接收消息。