@FunctionalInterface public interface Observer
Column
and be notified of changes to the Column via the
process(TransactionBase, Bytes, Column)
method.
In Fluo version 1.1.0 this was converted to a functional interface. This change along with the
introduction of ObserverProvider
allows Observers to be written as lambdas.
Modifier and Type | Interface and Description |
---|---|
static interface |
Observer.Context
Deprecated.
since 1.1.0. The method that used this interface was deprecated.
|
static class |
Observer.NotificationType |
static class |
Observer.ObservedColumn
Deprecated.
since 1.1.0. The method that used this class was deprecated.
|
Modifier and Type | Method and Description |
---|---|
default void |
close()
Deprecated.
since 1.1.0. Fluo will no longer call this method when observers are configured by
FluoConfiguration.setObserverProvider(String) . Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification) |
default Observer.ObservedColumn |
getObservedColumn()
Deprecated.
since 1.1.0 Fluo will no longer call this method when observers are configured by
FluoConfiguration.setObserverProvider(String) . Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification) |
default void |
init(Observer.Context context)
Deprecated.
since 1.1.0. Fluo will no longer call this method when observers are configured by
FluoConfiguration.setObserverProvider(String) . Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification) |
void |
process(TransactionBase tx,
Bytes row,
Column col)
Implemented by users to process notifications on a
Observer.ObservedColumn . |
@Deprecated default void init(Observer.Context context) throws Exception
FluoConfiguration.setObserverProvider(String)
. Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification)
context
- Observer contextException
void process(TransactionBase tx, Bytes row, Column col) throws Exception
Observer.ObservedColumn
. If a notification
occurs, this method passes the user a TransactionBase
as well as the row and
Column
where the notification occurred. The user can use the TransactionBase
to
read and write to Fluo. After this method returns, TransactionBase
will be committed
and closed by Fluo.Exception
@Deprecated default Observer.ObservedColumn getObservedColumn()
FluoConfiguration.setObserverProvider(String)
. Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification)
Observer.ObservedColumn
that will trigger this observer. During
initialization, this information is stored in zookeeper so that workers have a consistent view.
If a worker loads an Observer and the information returned differs from what is in zookeeper
then an exception will be thrown. It is safe to assume that init(Context)
will be
called before this method. If the return value of the method is derived from what is passed to
init(Context)
, then the derivation process should be deterministic.@Deprecated default void close()
FluoConfiguration.setObserverProvider(String)
. Its only called when
observers are configured the old way by
FluoConfiguration.addObserver(org.apache.fluo.api.config.ObserverSpecification)
Copyright © 2016–2017 The Apache Software Foundation. All rights reserved.