Artemis 生产者的问题

Issue with producer in Artemis

你好,我正在尝试将消息生成到我的服务器中上传的队列,我正在使用 spring-boot-starter-artemis。当我从服务器端发送消息时,我的消费者没有任何问题我的应用程序可以使用它。但是当尝试生成时我得到这个异常:javax.jms.JMSException: There is no queue with name myqueueName

@Component
public class ArtemisProducer {
    @Autowired
    JmsTemplate jmsTemplate;
    
    @Value("${jms.queue.destination}")
    String destinationQueue;
    
    public void send(String msg){
        jmsTemplate.convertAndSend(destinationQueue, msg);
    }
}

配置文件:

spring.artemis.mode=native
spring.artemis.host=host
spring.artemis.port=port
spring.artemis.user=username
spring.artemis.password=password
jms.queue.destination=myqueue

异常:

  "exception": "org.springframework.jms.UncategorizedJmsException",
  "message": "Uncategorized exception occurred during JMS processing; nested exception is javax.jms.JMSException: There is no queue with name myqueue",

默认情况下,地址和队列都是自动创建的。听起来您的经纪人已禁用此功能。您应该使用以下地址设置启用自动地址和队列创建:

<auto-create-queues>true</auto-create-queues>
<auto-create-addresses>true</auto-create-addresses>

或手动创建地址和队列,例如:

<addresses>
   <address name="myqueue">
      <anycast>
         <queue name="myqueue"/>
      </anycast>
   </address>
</addresses>

它通过将 spring 版本更改为最新版本来工作。我不知道怎么回事,但这就是问题所在