activemq客户端未从队列接收消息

activemq客户端未从队列接收消息,activemq,Activemq,我们正在尝试使用ActiveMQ运行JMS应用程序,但消息接收器存在问题。请查找应用程序和测试使用的以下过程 基于调度程序的JMS应用程序启动 将永久activemq测试消息放入队列中 计划事件尝试从队列接收消息(这不是使用者,但它只是接收者jmsTemplate.receive(队列)) 即使消息在队列中,可以使用activemq控制台浏览,应用程序也看不到它,并说队列中没有收到消息。即使对于一条输入消息,这个问题也会发生,我已经尝试了支持站点上建议的所有配置选项,但没有任何效果。下面是我的a

我们正在尝试使用ActiveMQ运行JMS应用程序,但消息接收器存在问题。请查找应用程序和测试使用的以下过程

  • 基于调度程序的JMS应用程序启动
  • 将永久activemq测试消息放入队列中
  • 计划事件尝试从队列接收消息(这不是使用者,但它只是接收者jmsTemplate.receive(队列))
  • 即使消息在队列中,可以使用activemq控制台浏览,应用程序也看不到它,并说队列中没有收到消息。即使对于一条输入消息,这个问题也会发生,我已经尝试了支持站点上建议的所有配置选项,但没有任何效果。下面是我的activemq.xml代理标记的用法:

    <?xml version="1.0" encoding="UTF-8"?>
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" persistent="true" dataDirectory="${activemq.data}" schedulePeriodForDestinationPurge="10000" deleteAllMessagesOnStartup="true">
       <destinationPolicy>
          <policyMap>
             <policyEntries>
                <policyEntry queue="&gt;" maxPageSize="5000" gcInactiveDestinations="true" inactiveTimoutBeforeGC="300000">
                   <pendingMessageLimitStrategy>
                      <constantPendingMessageLimitStrategy limit="1000" />
                   </pendingMessageLimitStrategy>
                </policyEntry>
             </policyEntries>
          </policyMap>
       </destinationPolicy>
       <managementContext>
          <managementContext createConnector="false" />
       </managementContext>
       <persistenceAdapter>
          <kahaDB directory="${activemq.data}/kahadb" />
       </persistenceAdapter>
    </broker>
    
    以下是生产商代码:

     public void sendMessage(String queueName, final String jmsCorrelationId, final String message) {
            jmsTemplate.send(queueName, session -> {
                TextMessage textMessage = session.createTextMessage(message);
                if (StringUtils.isNotBlank(jmsCorrelationId)) {
                    textMessage.setJMSCorrelationID(jmsCorrelationId);
                }
                return textMessage;
            });
        }
    

    请将收到申请表的申请代码张贴出来message@tomredfern,我在问题中包含了消息生产者和接收者代码。谢谢
     public void sendMessage(String queueName, final String jmsCorrelationId, final String message) {
            jmsTemplate.send(queueName, session -> {
                TextMessage textMessage = session.createTextMessage(message);
                if (StringUtils.isNotBlank(jmsCorrelationId)) {
                    textMessage.setJMSCorrelationID(jmsCorrelationId);
                }
                return textMessage;
            });
        }