?? 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 + -