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()
明确删除它
我生成一个 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()