package org.atomnuke;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.atomnuke.examples.eventlets.CounterEventlet;
import org.atomnuke.examples.source.EventGenerator;
import org.atomnuke.sink.eps.EventletChainSink;
import org.atomnuke.task.atom.AtomTask;
import org.atomnuke.util.TimeValue;
import org.junit.Ignore;
import org.junit.Test;
/**
*
* @author zinic
*/
public class OtherNukeKernelTest {
@Test @Ignore
public void nukeShakedownTest() throws Exception {
final NukeKernel nukeKernel = new NukeKernel();
final AtomicLong eventsProcessed = new AtomicLong(0);
final AtomTask task = nukeKernel.follow(new EventGenerator("Task 1", true), new TimeValue(1, TimeUnit.SECONDS));
final EventletChainSink relay = new EventletChainSink();
relay.enlistHandler(new CounterEventlet(eventsProcessed, false));
task.addSink(relay);
nukeKernel.start();
Thread.sleep(10000);
task.handle().cancellationRemote().cancel();
Thread.sleep(10000);
nukeKernel.destroy();
System.out.println("Processed " + eventsProcessed.get() + " events in one second.");
}
}