in src/main/java/org/apache/servicemix/store/mongo/MongoStore.java [217:264]
protected void evict() {
if (timeout != null) {
DBObject object = new BasicDBObject();
object.put(TIMESTAMP, new BasicDBObject("<", System.currentTimeMillis() - timeout));
DBCursor items = collection.find(object);
WriteResult result = collection.remove(object);
for (DBObject item : items) {
String id = null;
Object data = null;
if (item != null) {
byte[] idBytes = (byte[]) item.get(ID);
byte[] dataBytes = (byte[]) item.get(DATA);
if (data != null) {
try {
ObjectInputStream ois = null;
ois = new ObjectInputStream(new ByteArrayInputStream(idBytes));
try {
id = (String) ois.readObject();
} finally {
ois.close();
}
ois = new ObjectInputStream(new ByteArrayInputStream(dataBytes));
try {
data = ois.readObject();
ois.close();
} finally {
ois.close();
}
if(id != null) {
fireEvictedEvent(id,data);
}
} catch (IOException e) {
LOG.error("Error evicting object from store",e);
} catch (ClassNotFoundException e) {
LOG.error("Error evicting object from store",e);
}
}
}
}
}
}