独立消费者 (SpringJMS) 在 ActiveMQ 上创建了另一个队列
Standalone Consumer (SpringJMS) created another Queue on ActiveMQ
我创建了一个简单的独立使用者,试图使用 ActiveMQ 上的 4 条消息。但是当我启动应用程序时,它创建了另一个具有相同名称的队列,如下图所示:
我的项目结构如下所示:
classes 中的代码如下所示:
class 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);
}
}
class 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 压缩项目以供参考。
现有队列名称包含引号。
使用@JmsListener(destination = "\"CDD Feb 21 Queue\"")
.
它会不断收到一条一条消息。
我创建了一个简单的独立使用者,试图使用 ActiveMQ 上的 4 条消息。但是当我启动应用程序时,它创建了另一个具有相同名称的队列,如下图所示:
我的项目结构如下所示:
classes 中的代码如下所示:
class 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);
}
}
class 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 压缩项目以供参考。
现有队列名称包含引号。
使用@JmsListener(destination = "\"CDD Feb 21 Queue\"")
.
它会不断收到一条一条消息。