Activemq - 为什么当BlobMessage已经被消费时不删除文件?

Activemq - Why Not Delete The File When BlobMessage Has Been Consumed?

我生成一个 BlobMessage 给代理,然后二进制文件将保存在 文件服务器(在码头内)。 但是,即使我使用了那个 BlobMessage 并获取了二进制文件, 保存在文件服务器中的文件仍然存在!命名的 :ID_MyConputer-3581-1189147531234-0_0_1_1_1。 为什么不删除它?

取决于您使用哪种方法创建 BlobMessage, 如果您使用 ActiveMQSession.createBlobMessage(URL url); 消息不会被代理删除,您需要在消息上设置 message.setDeletedByBroker(true);

deletedByBroker indicates whether or not the resource is deleted by the broker when the message is acknowledged

或者您可以通过调用 ActiveMQBlobMessage.deleteFile()

明确删除它