package com.venky.swf.plugins.background.extensions;
import com.venky.extension.Extension;
import com.venky.extension.Registry;
import com.venky.swf.db.Transaction;
import com.venky.swf.db.model.reflection.ModelReflector;
import com.venky.swf.plugins.background.core.TaskManager;
import com.venky.swf.plugins.background.db.model.DelayedTask;
public class AfterCommitExtension implements Extension{
private static AfterCommitExtension instance = new AfterCommitExtension();
static {
Registry.instance().registerExtension("after.commit", instance);
}
public void invoke(Object... context) {
Transaction txn = (Transaction)context[0];
if (!txn.getCache(ModelReflector.instance(DelayedTask.class)).isEmpty()){
TaskManager.instance().wakeUp();
}
}
}