Search in sources :

Example 16 with JournalConfigurationBuilder

use of com.questdb.store.factory.configuration.JournalConfigurationBuilder in project questdb by bluestreak01.

the class ClusterConsumerMain method main.

public static void main(String[] args) throws Exception {
    final JournalConfiguration configuration = new JournalConfigurationBuilder() {

        {
            $(Price.class).$ts();
        }
    }.build(args[0]);
    final Factory factory = new Factory(configuration, 1000, 1, 0);
    final JournalClient client = new JournalClient(new ClientConfig("127.0.0.1:7080,127.0.0.1:7090") {

        {
            getReconnectPolicy().setRetryCount(6);
            getReconnectPolicy().setSleepBetweenRetriesMillis(1);
            getReconnectPolicy().setLoginRetryCount(2);
        }
    }, factory);
    final Journal<Price> reader = factory.reader(new JournalKey<>(Price.class, "price-copy", PartitionBy.NONE, 1000000000));
    reader.setSequentialAccess(true);
    client.subscribe(Price.class, null, "price-copy", 1000000000, new JournalListener() {

        @Override
        public void onCommit() {
            int count = 0;
            long t = 0;
            for (Price p : JournalIterators.incrementBufferedIterator(reader)) {
                if (count == 0) {
                    t = p.getNanos();
                }
                count++;
            }
            if (t == 0) {
                System.out.println("no data received");
            } else {
                System.out.println("took: " + (System.currentTimeMillis() - t) + ", count=" + count);
            }
        }

        @Override
        public void onEvent(int event) {
            System.out.println("there was an error");
        }
    });
    client.start();
    System.out.println("Client started");
}
Also used : JournalClient(com.questdb.net.ha.JournalClient) JournalConfiguration(com.questdb.store.factory.configuration.JournalConfiguration) Price(org.questdb.examples.support.Price) JournalListener(com.questdb.store.JournalListener) Factory(com.questdb.store.factory.Factory) JournalConfigurationBuilder(com.questdb.store.factory.configuration.JournalConfigurationBuilder) ClientConfig(com.questdb.net.ha.config.ClientConfig)

Aggregations

JournalConfigurationBuilder (com.questdb.store.factory.configuration.JournalConfigurationBuilder)16 Factory (com.questdb.store.factory.Factory)13 JournalConfiguration (com.questdb.store.factory.configuration.JournalConfiguration)10 Price (org.questdb.examples.support.Price)7 ClientConfig (com.questdb.net.ha.config.ClientConfig)6 Quote (com.questdb.model.Quote)4 JournalClient (com.questdb.net.ha.JournalClient)4 JournalListener (com.questdb.store.JournalListener)4 AbstractTest (com.questdb.test.tools.AbstractTest)4 Test (org.junit.Test)4 File (java.io.File)3 CountDownLatch (java.util.concurrent.CountDownLatch)3 Quote (org.questdb.examples.support.Quote)3 JournalServer (com.questdb.net.ha.JournalServer)2 JournalWriter (com.questdb.store.JournalWriter)2 Random (java.util.Random)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 ClusterController (com.questdb.net.ha.ClusterController)1 ServerConfig (com.questdb.net.ha.config.ServerConfig)1 ServerNode (com.questdb.net.ha.config.ServerNode)1