use of net.dempsy.lifecycle.annotation.Start in project Dempsy by Dempsy.
the class TestContainer method addOutputCatchStage.
public NodeManager addOutputCatchStage() throws InterruptedException {
// =======================================================
// configure an output catcher tier
final Node out = new Node.Builder("test-app").defaultRoutingStrategyId("net.dempsy.router.simple").receiver(new BlockingQueueReceiver(new ArrayBlockingQueue<>(16))).nodeStatsCollector(new BasicNodeStatsCollector()).cluster("output-catch").mp(new MessageProcessor<OutputCatcher>(new OutputCatcher())).build();
out.validate();
final NodeManager nman = track(new NodeManager()).node(out).collaborator(track(sessionFactory.createSession())).start();
// wait until we can actually reach the output-catch cluster from the main node
assertTrue(poll(o -> {
try {
return canReach(getRouter(manager), "output-catch", new KeyExtractor().extract(new OutputMessage("foo", 1, 1)).iterator().next());
} catch (final Exception e) {
return false;
}
}));
// =======================================================
return nman;
}
use of net.dempsy.lifecycle.annotation.Start in project Dempsy by Dempsy.
the class TestContainer method setUp.
@Before
public void setUp() throws Exception {
justThrowMe = null;
throwMeInActivation = null;
track(new SystemPropertyManager()).set("container-type", containerId);
context = track(new ClassPathXmlApplicationContext(ctx));
sessionFactory = new LocalClusterSessionFactory();
final Node node = context.getBean(Node.class);
manager = track(new NodeManager()).node(node).collaborator(track(sessionFactory.createSession())).start();
statsCollector = manager.getClusterStatsCollector(new ClusterId("test-app", "test-cluster"));
container = manager.getContainers().get(0);
assertTrue(poll(manager, m -> m.isReady()));
}
Aggregations