📄 parsefileexceptionqueue.java
字号:
package com.datangmobile.oss.omc.pc;
import java.util.Iterator;
import java.util.LinkedList;
import com.datangmobile.oss.omc.pc.util.FileInfo;
public class ParseFileExceptionQueue {
/**
* 解析出错了的,需要重新解析的文件队列
*/
private LinkedList<FileInfo> queue = new LinkedList<FileInfo>();
private static ParseFileExceptionQueue instance = new ParseFileExceptionQueue();
/**
* 单例类
*
* @return
*/
public static ParseFileExceptionQueue getInstance() {
return instance;
}
/**
* 错误的解析(IO异常、DB异常)放入此队列中
*
* @param fileInfo
*/
public void putParseFile(FileInfo fileInfo) {
synchronized (queue) {
if (!queue.contains(fileInfo)) {
queue.addLast(fileInfo);
}
}
}
/**
* 对文件队列中的文件逐个解析,放入ParseDataFileExceptionQueue队列中,并发送给MDB处理
*
*/
public void sendFileToParse() {
// 如果DB连不上,返回
if (!ConnectDB.getInstance().isConnectSuccess()) {
return;
}
LinkedList<String> list = new LinkedList<String>();
synchronized (queue) {
list.addAll(queue);
queue.clear();
}
Iterator<String> itr = list.iterator();
while (itr.hasNext()) {
FileInfo info = itr.next();
// 放入ParseDataFileQueue队列中
ParseFileQueue.getInstance().putParseFile(info);
}
list.clear();
}
// public static void main(String[] args) {
// for (int i = 0; i < 10; i++) {
// FileInfo info = new FileInfo();
// File file = new File("" + i);
// info.setFile(file);
// putParseFile(info);
// }
// sendFileToParse();
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -