1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
package ppaceMaker;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import utilities.Mailing;
import utilities.PPlus;
import utilities.Utils;
import utilities.Timer;
import com.sciforma.psnext.api.PSException;
public class ConnectionDiagnosis_V5 extends Timer {
static final long start = System.currentTimeMillis();
static long now = start;
final boolean OK = true;
private static int TIME_OUT = 5;
private static final Logger logger = Logger.getLogger("PACEMAKER");
static boolean timeOut = false;
static boolean success = false;
public ConnectionDiagnosis_V5(int arg0) {
super(arg0);
// TODO Auto-generated constructor stub
}
private synchronized static void lanchtest() throws PSException {
PPlus mytest = new PPlus(true, true);
mytest.closeSession();
}
static Thread tpplus = new Thread(new Runnable() {
public void run() {
// le code qui te prend du temps
try {
lanchtest();
success = true;
tcounter.interrupt();
} catch (Exception e) {
e.printStackTrace(); // eventuelle
}
}
});
static Thread tcounter = new ConnectionDiagnosis_V5(TIME_OUT * 1000);
synchronized public void timeout() {
System.err.println("ICI?");
// Erreur de TO
logger.error("PPlus Timeout occurred.... terminating");
tpplus.interrupt();
timeOut = true;
this.stop();
}
public static void checkJobDate() {
}
public static void main(java.lang.String[] args) {
PropertyConfigurator.configure(ConnectionDiagnosis.class
.getClassLoader().getResource("conf/log4j.properties"));
logger.info("Starting Diagnosis");
tcounter.start();
tpplus.start();
while (!timeOut) {
}
logger.info("Ending Diagnosis");
Utils.timeIt(start);
}
} |
Partager