in src/main/java/deltix/ember/sample/SampleSupportTools.java [27:52]
protected static void sendRequest(Consumer<Publication> callback, Config config, Consumer<ApiMessage> eventListener) throws InterruptedException {
try (MessageBus bus = MessageBusFactory.create(config)) {
// Prepare event listener prior to request submission
Duplex duplex = bus.addDuplex();
Thread consumerThread = new Thread(() -> {
MultiplexedSubscriber subscriber = new MultiplexedSubscriber(eventListener);
while ( ! Thread.currentThread().isInterrupted()) {
duplex.poll(subscriber, 128);
}
}, "Event Processor Thread");
consumerThread.start();
try {
callback.accept(duplex);
} catch (PublicationException e) {
System.err.println("Error: " + e.getMessage());
e.printStackTrace();
}
consumerThread.interrupt();
consumerThread.join();
duplex.close();
}
}