Search in sources :

Example 1 with Args

use of com.sampullara.cli.Args in project mantis by Netflix.

the class MantisSourceJobConnector method main.

public static void main(String[] args) {
    try {
        SinkParameters params = new SinkParameters.Builder().withParameter("subscriptionId", "id1").withParameter("criterion", "select * where true").build();
        Args.parse(MantisSourceJobConnector.class, args);
        final CountDownLatch latch = new CountDownLatch(20);
        MantisSourceJobConnector sourceJobConnector = new MantisSourceJobConnector();
        MantisSSEJob job = sourceJobConnector.connectToJob("TestSourceJob", params);
        Subscription subscription = job.connectAndGetObservable().doOnNext(o -> {
            LOGGER.info("Got event:  data: " + o.getEventAsString());
            latch.countDown();
        }).subscribe();
        Subscription s2 = job.connectAndGetObservable().doOnNext(event -> {
            LOGGER.info("    2nd: Got event:  data: " + event.getEventAsString());
            latch.countDown();
        }).subscribe();
        try {
            boolean await = latch.await(300, TimeUnit.SECONDS);
            if (await)
                System.out.println("PASSED");
            else
                System.err.println("FAILED!");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        subscription.unsubscribe();
        System.out.println("Unsubscribed");
    } catch (IllegalArgumentException e) {
        Args.usage(SubmitEphemeralJob.class);
        System.exit(1);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }
}
Also used : SubmitEphemeralJob(io.mantisrx.client.examples.SubmitEphemeralJob) Properties(java.util.Properties) Logger(org.slf4j.Logger) Args(com.sampullara.cli.Args) Argument(com.sampullara.cli.Argument) SinkParameters(io.mantisrx.runtime.parameter.SinkParameters) LoggerFactory(org.slf4j.LoggerFactory) Observer(rx.Observer) MantisSSEJob(io.mantisrx.client.MantisSSEJob) SinkConnectionsStatus(io.mantisrx.client.SinkConnectionsStatus) TimeUnit(java.util.concurrent.TimeUnit) CountDownLatch(java.util.concurrent.CountDownLatch) Map(java.util.Map) Subscription(rx.Subscription) SinkParameters(io.mantisrx.runtime.parameter.SinkParameters) CountDownLatch(java.util.concurrent.CountDownLatch) Subscription(rx.Subscription) SubmitEphemeralJob(io.mantisrx.client.examples.SubmitEphemeralJob) MantisSSEJob(io.mantisrx.client.MantisSSEJob)

Aggregations

Args (com.sampullara.cli.Args)1 Argument (com.sampullara.cli.Argument)1 MantisSSEJob (io.mantisrx.client.MantisSSEJob)1 SinkConnectionsStatus (io.mantisrx.client.SinkConnectionsStatus)1 SubmitEphemeralJob (io.mantisrx.client.examples.SubmitEphemeralJob)1 SinkParameters (io.mantisrx.runtime.parameter.SinkParameters)1 Map (java.util.Map)1 Properties (java.util.Properties)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 TimeUnit (java.util.concurrent.TimeUnit)1 Logger (org.slf4j.Logger)1 LoggerFactory (org.slf4j.LoggerFactory)1 Observer (rx.Observer)1 Subscription (rx.Subscription)1