@Override public List<Message> removeWithSelector(String selector) throws MailQueueException { List<Message> mList = super.removeWithSelector(selector); // Handle the blob messages for (Message m : mList) { if (m instanceof ActiveMQBlobMessage) { try { // Should get remove once this issue is closed: // https://issues.apache.org/activemq/browse/AMQ-3018 ((ActiveMQBlobMessage) m).deleteFile(); } catch (Exception e) { LOGGER.error("Unable to delete blob file for message {}", m, e); } } } return mList; }
((ActiveMQBlobMessage) blobMessage).deleteFile();
@Override public void done(boolean success) throws MailQueueException { super.done(success); if (success) { if (message instanceof ActiveMQBlobMessage && getMail().getAttribute(JAMES_REUSE_BLOB_URL) == null) { // This should get removed once this jira issue was fixed // https://issues.apache.org/activemq/browse/AMQ-1529 try { ((ActiveMQBlobMessage) message).deleteFile(); } catch (IOException | JMSException e) { LOGGER.warn("Unable to delete blob message file for mail {}", getMail().getName()); } } getMail().removeAttribute(JAMES_REUSE_BLOB_URL); } }