use of com.virjar.vscrawler.core.resourcemanager.model.ResourceItem in project vscrawler by virjar.
the class ImeiTest method main.
public static void main(String[] args) {
ResourceQueue resourceQueue = new ResourceQueue("android_imei", new RamQueueStorePlanner(), ResourceSetting.create().setLock(true), new ResourceLoader() {
private BufferedReader reader = new BufferedReader(new InputStreamReader(ImeiTest.class.getResourceAsStream("/imei.txt")));
private static final int batchSize = 100;
private boolean closed = false;
@Override
public boolean loadResource(Collection<ResourceItem> resourceItems) {
if (closed) {
return false;
}
String line;
int readSize = 0;
try {
while ((line = reader.readLine()) != null) {
ResourceItem resourceItem = new ResourceItem();
resourceItem.setData(line);
resourceItem.setKey(line.split(",")[0].trim());
resourceItems.add(resourceItem);
readSize++;
if (readSize > batchSize) {
return true;
}
}
IOUtils.closeQuietly(reader);
closed = true;
return false;
} catch (IOException ioe) {
ioe.printStackTrace();
IOUtils.closeQuietly(reader);
closed = true;
return false;
}
}
});
ResourceManager resourceManager = ResourceManagerFactory.create().registryResourceQueue(resourceQueue).build();
int allocatedTimes = 0;
int notAllocatedTimes = 0;
for (int i = 0; i < 1000; i++) {
ResourceItem resourceItem = resourceManager.allocate("android_imei");
if (resourceItem != null) {
if (i < 50) {
resourceManager.feedBack("android_imei", resourceItem.getKey(), true);
} else if (i < 100) {
resourceManager.feedBack("android_imei", resourceItem.getKey(), false);
} else if (i < 150) {
resourceManager.forbidden("android_imei", resourceItem.getKey());
}
allocatedTimes++;
System.out.println(resourceItem.getData());
} else {
notAllocatedTimes++;
System.out.println("none");
}
}
System.out.println("allocatedTimes: " + allocatedTimes + " notAllocatedTimes: " + notAllocatedTimes);
}
Aggregations