我正在为消息编写传输适配器(我从java本机方法接收消息并将其发送到RabbitMQ的队列)并且我不能丢失任何消息(例如,与RabbitMQ服务器的连接不可用)。当进程或发送失败时,我需要为我的消息提供持久性存储。现在我使用mapDB库及其队列实现
public void send(byte[] message){
queue.add(message);
db.commit();
//do process and send the message
queue.poll();//message sent success, we can remove it from storage
db.commit();
}
但它的实施做得很长。请为此案例提供最佳实施建议。
邮件必须按照正确的顺序排列。