当前位置: 首页 > 知识库问答 >
问题:

Spring Boot JMS Producer中的错误:AMQ212054目标地址被阻止

陆绪
2023-03-14
AMQ212054: Destination address=springbootQueue is blocked. If the system is configured to block make sure you consume messages on this configuration.

我已经验证队列在broker.xml中没有被配置为阻塞。spring-boot-starter-artemis/artemis中有什么bug吗?

更新:my broker.xml

<?xml version='1.0'?>

<configuration xmlns="urn:activemq"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xi="http://www.w3.org/2001/XInclude"
               xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">

   <core xmlns="urn:activemq:core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:activemq:core ">

      <name>0.0.0.0</name>


      <persistence-enabled>true</persistence-enabled>

      <journal-type>ASYNCIO</journal-type>

      <paging-directory>data/paging</paging-directory>

      <bindings-directory>data/bindings</bindings-directory>

      <journal-directory>data/journal</journal-directory>

      <large-messages-directory>data/large-messages</large-messages-directory>

      <journal-datasync>true</journal-datasync>

      <journal-min-files>2</journal-min-files>

      <journal-pool-files>10</journal-pool-files>

      <journal-file-size>10M</journal-file-size>

      <journal-buffer-timeout>156000</journal-buffer-timeout>

      <journal-max-io>4096</journal-max-io>

      <disk-scan-period>5000</disk-scan-period>

      <max-disk-usage>90</max-disk-usage>

      <critical-analyzer>true</critical-analyzer>

      <critical-analyzer-timeout>120000</critical-analyzer-timeout>

      <critical-analyzer-check-period>60000</critical-analyzer-check-period>

      <critical-analyzer-policy>HALT</critical-analyzer-policy>

      <acceptors>

         <!-- Acceptor for every supported protocol -->
         <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>

         <!-- AMQP Acceptor.  Listens on default AMQP port for AMQP traffic.-->
         <acceptor name="amqp">tcp://0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>

         <!-- STOMP Acceptor. -->
         <acceptor name="stomp">tcp://0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true</acceptor>

         <!-- HornetQ Compatibility Acceptor.  Enables HornetQ Core and STOMP for legacy HornetQ clients. -->
         <acceptor name="hornetq">tcp://0.0.0.0:5445?anycastPrefix=jms.queue.;multicastPrefix=jms.topic.;protocols=HORNETQ,STOMP;useEpoll=true</acceptor>

         <!-- MQTT Acceptor -->
         <acceptor name="mqtt">tcp://0.0.0.0:1883?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true</acceptor>

      </acceptors>


      <security-settings>
         <security-setting match="#">
            <permission type="createNonDurableQueue" roles="amq"/>
            <permission type="deleteNonDurableQueue" roles="amq"/>
            <permission type="createDurableQueue" roles="amq"/>
            <permission type="deleteDurableQueue" roles="amq"/>
            <permission type="createAddress" roles="amq"/>
            <permission type="deleteAddress" roles="amq"/>
            <permission type="consume" roles="amq"/>
            <permission type="browse" roles="amq"/>
            <permission type="send" roles="amq"/>
            <!-- we need this otherwise ./artemis data imp wouldn't work -->
            <permission type="manage" roles="amq"/>
         </security-setting>
      </security-settings>

      <address-settings>
         <!-- if you define auto-create on certain queues, management has to be auto-create -->
         <address-setting match="activemq.management#">
            <dead-letter-address>DLQ</dead-letter-address>
            <expiry-address>ExpiryQueue</expiry-address>
            <redelivery-delay>0</redelivery-delay>
            <!-- with -1 only the global-max-size is in use for limiting -->
            <max-size-bytes>-1</max-size-bytes>
            <message-counter-history-day-limit>10</message-counter-history-day-limit>
            <address-full-policy>PAGE</address-full-policy>
            <auto-create-queues>true</auto-create-queues>
            <auto-create-addresses>true</auto-create-addresses>
            <auto-create-jms-queues>true</auto-create-jms-queues>
            <auto-create-jms-topics>true</auto-create-jms-topics>
         </address-setting>
         <!--default for catch all-->
         <address-setting match="#">
            <dead-letter-address>DLQ</dead-letter-address>
            <expiry-address>ExpiryQueue</expiry-address>
            <redelivery-delay>0</redelivery-delay>
            <!-- with -1 only the global-max-size is in use for limiting -->
            <max-size-bytes>-1</max-size-bytes>
            <message-counter-history-day-limit>10</message-counter-history-day-limit>
            <address-full-policy>PAGE</address-full-policy>
            <auto-create-queues>true</auto-create-queues>
            <auto-create-addresses>true</auto-create-addresses>
            <auto-create-jms-queues>true</auto-create-jms-queues>
            <auto-create-jms-topics>true</auto-create-jms-topics>
         </address-setting>
      </address-settings>

    <addresses>

         <address name="DLQ">
            <anycast>
               <queue name="DLQ" />
            </anycast>
         </address>
         <address name="ExpiryQueue">
            <anycast>
               <queue name="ExpiryQueue" />
            </anycast>
         </address>
        <address name="demoQueue">
          <anycast>
        <queue name="demoQueue" />
         </anycast>        
       </address>
    </addresses>

   </core>
</configuration>

共有1个答案

公西培
2023-03-14

代理可能会阻止消息发送到某个地址,原因有多种:

  1. 如果 并且地址已达到配置的
  2. 如果 ,并且达到了所有地址的
  3. 如果达到

我猜你打到3号了。因此,我建议您将最大磁盘使用率90增加到100,例如:

xml prettyprint-override"><max-disk-usage>100</max-disk-usage>
 类似资料:
  • 我有一个工作正常的JAXB马歇尔/反马歇尔进程,除了这个:有时我必须反马歇尔的文件是空的或者格式化不好,所以反马歇尔抛出一个异常。这是可以的,但是在这个异常之后,我正在解组的文件(源xml文件java对象)被阻塞。我不能用它。 我注意到,在解组异常之后,试图删除或重命名文件时出现了这种情况。如果没有异常发生,文件可以毫无问题地使用,这是应该的。 有没有办法“解除屏蔽”这些文件?我认为必须有任何方法

  • 我使用phpmailer发送电子邮件,我检查添加一些地址时,其中只有一个地址无效(不存在),例如。“asdfasfasf@asdfasdfsfsfs.commm“并发送电子邮件我看到电子邮件已发送(到正确的地址)我不知道如何在发送电子邮件之前检查其中一个地址是否错误,以便能够记录该问题。 发送和添加地址的代码如下: 提前谢谢

  • 问题内容: 我正在创建一个简单的flaskapp,然后将其部署在heroku上,这是第一次在heroku上部署python应用程序,说我对gunicorn并不陌生。 其他说明:使用虚拟环境。 烧瓶的版本Flask == 0.10.1 gunicorn == 19.3.0 使用’python run.py’ 工作 使用“开工开始”会出现以下错误 程序文件 档案结构 运行 init.py route.

  • 我正在与Django合作一个项目,该项目通过React前端上的Django Rest框架通过API提供数据。可浏览的API工作正常,但是,react前端在控制台中给出了一个错误。 我已成功安装django cors标头。 CORS策略阻止从http://127.0.0.1:8000/products/http://localhost:3000获取数据:请求的资源上不存在访问控制允许来源标头。如果不

  • 大家好,每当我尝试在Spring调用验证器时,我都会收到以下错误 请看看并帮助我解决这个错误,以前我使用登录页面的验证,它工作正常,但现在它不工作。 这是我的代码片段。 控制器 } 验证器 JSP页面

  • 我今天收到了谷歌的一封信。它应该包含验证我地址的PIN,这样我就可以支付我从Android应用程序上的广告赚来的钱。相反,它是某个公司的业务验证码--或者至少是我认为的那样。上面写着Google My Business on inside和5个字母的代码以及以下3个步骤: 访问google.com/verifymybusiness 登录您的Google帐户。 输入验证码并提交! 我已经在AdMob