本示例暂时使用了GridFS的存储方式,目前还没有很好的考虑大数据量下,瓦片索引的机制
PackageManager.java
import java.io.File;
import java.net.UnknownHostException;
import java.util.Queue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import com.mongodb.DB;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.gridfs.GridFS;
import com.mongodb.gridfs.GridFSInputFile;
public class PackageManager {
private final ExecutorService mThreadPool;
private final Queue<File> mQueue = new LinkedBlockingQueue<File>();
Mongo mg;
DB db;
GridFS gridFS;
// ===========================================================
// Constructors
// ===========================================================
public PackageManager(final int mThreads) {
this.mThreadPool = Executors.newFixedThreadPool(mThreads);
try {
mg = new Mongo();
//mg = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
db = mg.getDB("beijingImg");
gridFS= new GridFS(db);
}
// ==========================================