Class DatabusClient

  • All Implemented Interfaces:
    com.bazaarvoice.emodb.databus.api.Databus, java.io.Closeable, java.lang.AutoCloseable

    public class DatabusClient
    extends java.lang.Object
    implements com.bazaarvoice.emodb.databus.api.Databus, java.io.Closeable
    Thin client for accessing EmoDB Databus.
    • Constructor Summary

      Constructors 
      Constructor Description
      DatabusClient​(EmoServiceDiscovery databusDiscovery, com.bazaarvoice.emodb.client.EmoClient client, java.lang.String apiKey, dev.failsafe.RetryPolicy<java.lang.Object> retryPolicy)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acknowledge​(java.lang.String subscription, java.util.Collection<java.lang.String> eventKeys)  
      void close()  
      protected void finalize()  
      long getClaimCount​(java.lang.String subscription)  
      long getEventCount​(java.lang.String subscription)  
      long getEventCountUpTo​(java.lang.String subscription, long limit)  
      com.bazaarvoice.emodb.databus.api.MoveSubscriptionStatus getMoveStatus​(java.lang.String reference)  
      com.bazaarvoice.emodb.databus.api.ReplaySubscriptionStatus getReplayStatus​(java.lang.String reference)  
      com.bazaarvoice.emodb.databus.api.Subscription getSubscription​(java.lang.String subscription)  
      void injectEvent​(java.lang.String subscription, java.lang.String table, java.lang.String key)  
      java.util.Iterator<com.bazaarvoice.emodb.databus.api.Subscription> listSubscriptions​(java.lang.String fromSubscriptionExclusive, long limit)  
      java.lang.String moveAsync​(java.lang.String from, java.lang.String to)  
      java.util.Iterator<com.bazaarvoice.emodb.databus.api.Event> peek​(java.lang.String subscription, int limit)  
      com.bazaarvoice.emodb.databus.api.PollResult poll​(java.lang.String subscription, java.time.Duration claimTtl, int limit)  
      void purge​(java.lang.String subscription)  
      void renew​(java.lang.String subscription, java.util.Collection<java.lang.String> eventKeys, java.time.Duration claimTtl)  
      java.lang.String replayAsync​(java.lang.String subscription)  
      java.lang.String replayAsyncSince​(java.lang.String subscription, java.util.Date since)  
      void subscribe​(java.lang.String subscription, com.bazaarvoice.emodb.sor.condition.Condition tableFilter, java.time.Duration subscriptionTtl, java.time.Duration eventTtl)  
      void subscribe​(java.lang.String subscription, com.bazaarvoice.emodb.sor.condition.Condition tableFilter, java.time.Duration subscriptionTtl, java.time.Duration eventTtl, boolean includeDefaultJoinFilter)  
      void unclaimAll​(java.lang.String subscription)  
      void unsubscribe​(java.lang.String subscription)  
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DatabusClient

        public DatabusClient​(EmoServiceDiscovery databusDiscovery,
                             com.bazaarvoice.emodb.client.EmoClient client,
                             java.lang.String apiKey,
                             dev.failsafe.RetryPolicy<java.lang.Object> retryPolicy)
    • Method Detail

      • listSubscriptions

        public java.util.Iterator<com.bazaarvoice.emodb.databus.api.Subscription> listSubscriptions​(@Nullable
                                                                                                    java.lang.String fromSubscriptionExclusive,
                                                                                                    long limit)
        Specified by:
        listSubscriptions in interface com.bazaarvoice.emodb.databus.api.Databus
      • subscribe

        public void subscribe​(java.lang.String subscription,
                              com.bazaarvoice.emodb.sor.condition.Condition tableFilter,
                              java.time.Duration subscriptionTtl,
                              java.time.Duration eventTtl)
        Specified by:
        subscribe in interface com.bazaarvoice.emodb.databus.api.Databus
      • subscribe

        public void subscribe​(java.lang.String subscription,
                              com.bazaarvoice.emodb.sor.condition.Condition tableFilter,
                              java.time.Duration subscriptionTtl,
                              java.time.Duration eventTtl,
                              boolean includeDefaultJoinFilter)
        Specified by:
        subscribe in interface com.bazaarvoice.emodb.databus.api.Databus
      • unsubscribe

        public void unsubscribe​(java.lang.String subscription)
        Specified by:
        unsubscribe in interface com.bazaarvoice.emodb.databus.api.Databus
      • getSubscription

        public com.bazaarvoice.emodb.databus.api.Subscription getSubscription​(java.lang.String subscription)
                                                                       throws com.bazaarvoice.emodb.databus.api.UnknownSubscriptionException
        Specified by:
        getSubscription in interface com.bazaarvoice.emodb.databus.api.Databus
        Throws:
        com.bazaarvoice.emodb.databus.api.UnknownSubscriptionException
      • getEventCount

        public long getEventCount​(java.lang.String subscription)
        Specified by:
        getEventCount in interface com.bazaarvoice.emodb.databus.api.Databus
      • getEventCountUpTo

        public long getEventCountUpTo​(java.lang.String subscription,
                                      long limit)
        Specified by:
        getEventCountUpTo in interface com.bazaarvoice.emodb.databus.api.Databus
      • getClaimCount

        public long getClaimCount​(java.lang.String subscription)
        Specified by:
        getClaimCount in interface com.bazaarvoice.emodb.databus.api.Databus
      • peek

        public java.util.Iterator<com.bazaarvoice.emodb.databus.api.Event> peek​(java.lang.String subscription,
                                                                                int limit)
        Specified by:
        peek in interface com.bazaarvoice.emodb.databus.api.Databus
      • poll

        public com.bazaarvoice.emodb.databus.api.PollResult poll​(java.lang.String subscription,
                                                                 java.time.Duration claimTtl,
                                                                 int limit)
        Specified by:
        poll in interface com.bazaarvoice.emodb.databus.api.Databus
      • renew

        public void renew​(java.lang.String subscription,
                          java.util.Collection<java.lang.String> eventKeys,
                          java.time.Duration claimTtl)
        Specified by:
        renew in interface com.bazaarvoice.emodb.databus.api.Databus
      • acknowledge

        public void acknowledge​(java.lang.String subscription,
                                java.util.Collection<java.lang.String> eventKeys)
        Specified by:
        acknowledge in interface com.bazaarvoice.emodb.databus.api.Databus
      • replayAsync

        public java.lang.String replayAsync​(java.lang.String subscription)
        Specified by:
        replayAsync in interface com.bazaarvoice.emodb.databus.api.Databus
      • replayAsyncSince

        public java.lang.String replayAsyncSince​(java.lang.String subscription,
                                                 java.util.Date since)
        Specified by:
        replayAsyncSince in interface com.bazaarvoice.emodb.databus.api.Databus
      • getReplayStatus

        public com.bazaarvoice.emodb.databus.api.ReplaySubscriptionStatus getReplayStatus​(java.lang.String reference)
        Specified by:
        getReplayStatus in interface com.bazaarvoice.emodb.databus.api.Databus
      • moveAsync

        public java.lang.String moveAsync​(java.lang.String from,
                                          java.lang.String to)
        Specified by:
        moveAsync in interface com.bazaarvoice.emodb.databus.api.Databus
      • getMoveStatus

        public com.bazaarvoice.emodb.databus.api.MoveSubscriptionStatus getMoveStatus​(java.lang.String reference)
        Specified by:
        getMoveStatus in interface com.bazaarvoice.emodb.databus.api.Databus
      • injectEvent

        public void injectEvent​(java.lang.String subscription,
                                java.lang.String table,
                                java.lang.String key)
        Specified by:
        injectEvent in interface com.bazaarvoice.emodb.databus.api.Databus
      • unclaimAll

        public void unclaimAll​(java.lang.String subscription)
        Specified by:
        unclaimAll in interface com.bazaarvoice.emodb.databus.api.Databus
      • purge

        public void purge​(java.lang.String subscription)
        Specified by:
        purge in interface com.bazaarvoice.emodb.databus.api.Databus
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable