问题描述
我有一个包含大约 1000 条记录的延迟队列。我的用例是读取队列并将记录写入已过期和未过期的文件。所以我尝试使用迭代器下面的代码,但它在写入后因“NoSuchElementException”异常而失败文件中的几条记录。
private final BlockingQueue<DelayedRecord> retryMessages = new DelayQueue<DelayedRecord>();
FileWriter fw = null;
try {
if (retryMessages.size() > 0) {
fw = new FileWriter("/home/file.txt");
Iterator<DelayedRecord> rr = retryMessages.iterator();
while (rr.hasNext()) {
String filename = rr.next().getRecord();
fw.write(filename);
}
} else {
LOGGER.info("No records in the queue");
}
} catch (final Exception e) {
LOGGER.warn("Error reading queue: " + e.getMessage(),e);
} finally {
//close resources
try {
fw.close();
} catch (IOException e) {
e.printstacktrace();
}
有什么指点吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)