public class ContextListener implements ServletContextListener {
private ScheduledExecutorService webjob_scheduler;
private ScheduledExecutorService localjob_scheduler;
+ private ScheduledExecutorService update_scheduler;
CassandraNativeConnector db = new CassandraNativeConnector();
static PropertyHelper ph = ProteoCachePropertyHelperManager.getPropertyHelper();
private static Logger log = Logger.getLogger(ContextListener.class);
public static boolean READ_WEB_JPRED = false;
public static boolean READ_LOCALFILE_JPRED = false;
+ public static boolean FILL_NEWTABLE = false;
private static boolean initBooleanValue(String key) {
assert key != null;
System.out.println("ProteoCache session start......");
// connect to the db and create table if needed
db.Connect();
- CassandraNewTableWriter updater = new CassandraNewTableWriter();
-
- // updater.FillParameters();
- // updater.FillNewTable();
+ final CassandraNewTableWriter updater = new CassandraNewTableWriter();
READ_WEB_JPRED = initBooleanValue("cassandra.jpred.web.update");
READ_LOCALFILE_JPRED = initBooleanValue("cassandra.jpred.local.update");
+ FILL_NEWTABLE = initBooleanValue("cassandra.newtables.update");
+
+ if (FILL_NEWTABLE) {
+ System.out.println("Initializating new table update scheduler");
+ update_scheduler = Executors.newSingleThreadScheduledExecutor();
+ update_scheduler.schedule(new Runnable() {
+ @Override
+ public void run() {
+ updater.FillNewTable();
+ }
+ }, 10, TimeUnit.SECONDS);
+ }
if (READ_WEB_JPRED) {
// get data from real Jpred production server
if (READ_LOCALFILE_JPRED) {
localjob_scheduler.shutdownNow();
}
+ update_scheduler.shutdownNow();
}
}