Skip to content

SynchronousEventNotifier.java

Mark Rotteveel edited this page Jul 19, 2015 · 1 revision
importorg.firebirdsql.event.EventManager;
importorg.firebirdsql.event.FBEventManager;
importorg.firebirdsql.gds.impl.GDSType;
importjava.sql.SQLException;
publicclassSynchronousEventNotifier {
privateEventManagereventManager;
privatestaticfinalintTIMEOUT = 10000;
publicSynchronousEventNotifier(Stringdatabase, Stringuser, Stringpass){
eventManager = newFBEventManager(GDSType.getType("PURE_JAVA"));
eventManager.setDatabase(database);
eventManager.setUser(user);
eventManager.setPassword(pass);
}
publicvoidrun(StringeventName){
inteventCount = 0;
try {
eventManager.connect();
System.out.println("Waiting for events");
while (eventCount < 3){
try {
intcount = eventManager.waitForEvent(eventName, TIMEOUT);
if (count == -1){
System.out.println("Timed out");
break;
}
eventCount += count;
System.out.println("Received " + count + " instance(s) "
+ "of event '" + eventName + "', total is "
+ eventCount);
} catch (InterruptedExceptionie){
thrownewRuntimeException(ie);
}
}
eventManager.disconnect();
} catch (SQLExceptionse){
thrownewRuntimeException(se);
}
}
publicstaticvoidmain(String [] args){
if (args.length != 4){
System.err.println("Usage: java SynchronousEventNotifier "
+ "<database path> <username> <password> <event name>");
System.exit(1);
}
Stringdatabase = args[0];
StringuserName = args[1];
Stringpassword = args[2];
StringeventName = args[3];
SynchronousEventNotifiereventNotifier =
newSynchronousEventNotifier(database, userName, password);
eventNotifier.run(eventName);
}
}

Clone this wiki locally