You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.8 KiB
72 lines
1.8 KiB
package org.leolo.rail; |
|
|
|
import java.io.FileNotFoundException; |
|
import java.io.IOException; |
|
import java.io.PrintWriter; |
|
import java.net.UnknownHostException; |
|
|
|
import org.apache.activemq.transport.stomp.StompConnection; |
|
import org.apache.activemq.transport.stomp.StompFrame; |
|
import org.apache.logging.log4j.LogManager; |
|
import org.apache.logging.log4j.Logger; |
|
import org.quartz.Scheduler; |
|
import org.quartz.SchedulerException; |
|
import org.quartz.impl.StdSchedulerFactory; |
|
|
|
public class NRDataDamon { |
|
|
|
private Logger log = LogManager.getLogger(getClass()); |
|
|
|
NetowrkRailProcessingThread nrpt; |
|
|
|
public static void main(String [] args) { |
|
Logger log = LogManager.getLogger(NRDataDamon.class); |
|
ConfigurationManager.getInstance().forEach((k,v)->{ |
|
if(k.toString().endsWith(".pwd")) { |
|
log.info("{} : {}", k , "****"); |
|
}else { |
|
log.info("{} : {}", k, v); |
|
} |
|
}); |
|
log.info("Opening database connection"); |
|
DatabaseManager.getInstance().testPool(); |
|
log.info("Database connected"); |
|
try { |
|
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); |
|
scheduler.start(); |
|
} catch (SchedulerException e) { |
|
// TODO Auto-generated catch block |
|
e.printStackTrace(); |
|
} |
|
NRDataDamon ndd = new NRDataDamon(); |
|
try { |
|
ndd.init(); |
|
ndd.run(); |
|
} catch (Exception e) { |
|
log.error(e.getMessage(), e); |
|
System.exit(-1); |
|
} |
|
} |
|
|
|
public void init() throws Exception { |
|
nrpt = new NetowrkRailProcessingThread(); |
|
nrpt.init(); |
|
nrpt.start(); |
|
} |
|
|
|
public void run() throws Exception{ |
|
while(true) { |
|
if(!nrpt.isAlive()) { |
|
log.warn("Network Rail processing thread died. Restarting..."); |
|
nrpt = new NetowrkRailProcessingThread(); |
|
nrpt.init(); |
|
nrpt.start(); |
|
} |
|
try { |
|
Thread.sleep(2500); |
|
}catch(InterruptedException e) { |
|
log.error(e.getMessage(), e); |
|
} |
|
} |
|
} |
|
}
|
|
|