protected static void sendRequest()

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();
        }
    }