Can';无法从ActiveMQ队列获取消息

Can';无法从ActiveMQ队列获取消息,activemq,Activemq,我正在运行ActiveMQ 5.14.5。我有一个队列,其中有一些挂起的消息。控制台屏幕截图: 没有活跃的消费者 控制台报告有21651条消息。但是,如果我尝试查看它们,它似乎是空的: 此外,当我尝试在我的org.apache.activemq.jms.pool.PooledConnection上调用receive()时,它会阻塞并且不接收任何消息 我相当肯定那里有消息,应该检索它们。这过去是有效的,现在已经停止了 对此有何解释?日志中没有任何错误 编辑: 我正在Clojure中使用Jav

我正在运行ActiveMQ 5.14.5。我有一个队列,其中有一些挂起的消息。控制台屏幕截图:

没有活跃的消费者

控制台报告有21651条消息。但是,如果我尝试查看它们,它似乎是空的:

此外,当我尝试在我的
org.apache.activemq.jms.pool.PooledConnection
上调用
receive()
时,它会阻塞并且不接收任何消息

我相当肯定那里有消息,应该检索它们。这过去是有效的,现在已经停止了

对此有何解释?日志中没有任何错误

编辑:

我正在Clojure中使用Java客户端。我不想分享它,因为它可能会混淆问题,但它在这里。我在几个不同的线程中使用一个池工厂。但是我认为上面使用控制台的示例是自包含的

(let [factory (org.apache.activemq.ActiveMQConnectionFactory.
                 "Username"
                 "Password"
                 "URI")
      pooled-connection-factory (org.apache.activemq.jms.pool.PooledConnectionFactory.)]
  (.setConnectionFactory pooled-connection-factory factory)
  (.start pooled-connection-factory)
  (with-open [connection (.createConnection factory)]
    (let [session (.createSession connection false, javax.jms.Session/AUTO_ACKNOWLEDGE)
          destination (.createQueue session (:queue-name config))
          consumer (.createConsumer session destination)]
      (.start connection)
      (loop [message (.receive consumer)]
        (println (.getText ^org.apache.activemq.command.ActiveMQTextMessage message))
        (recur (.receive consumer))))))

已退出队列的消息大于已加入队列的消息??奇怪,清除队列,然后重试,我重新启动。这就解释了数字上的差异。你能分享你的代码吗?我怀疑您没有调用connection.start(),抱歉,代码在Clojure中,但它使用的是Java API。我不想分享它,因为尽管它很简单,但它可能会把事情搞混。我正在调用
.start()
,而这段代码在过去工作得很好。它突然停止工作了。你不同意我应该能够在网络控制台中看到消息吗?