outText("OK Comet Event " + evt.getType() + " ");
}
};
comet.addEventListener(listener);
final CometNotifier comet = this.comet;
Thread task = new Thread()
{
public void run()
{
long t1 = System.currentTimeMillis();
long t2 = t1;
long timeout = 10*1000;
while((t2 - t1) < timeout)
{
try
{
Thread.sleep(2000);
}
catch(InterruptedException ex) { }
synchronized(itsNatDoc)
{
outText("OK End Comet Task ");
}
if (comet.isStopped()) // por ejemplo cuando salgamos de la p�gina
break;
comet.notifyClient(); // No es necesario sincronizar con el documento pero no pasar�a nada
t2 = System.currentTimeMillis();
}
comet.stop(); // Si ya est� parado no hace nada
outText("Stop Notifier (thread) ");
synchronized(itsNatDoc)
{
if ((t2 - t1) >= timeout)
outText("End Thread (timeout) ");
else
outText("End Thread (notifier stopped) ");
}
}
};
task.start();
outText("Created Notifier ");
}
else
{
comet.stop();
outText("Stop Notifier (manual) ");
}
}