abstract
EventObject
that represents another
event that has occurred to a Kubernetes resource, usually as found
in an EventCache
implementation.AbstractEvent
.AbstractEvent
by forwarding it to
the Consumer.accept(Object)
method of each Consumer
registered with
this EventDistributor
.AbstractEvent
s in the supplied EventQueue
, keeping track
of the HasMetadata
it concerns along the way by
synchronizing on and writing to the Map
supplied at
construction time.AbstractEvent
from the EventQueue
supplied to the accept(EventQueue)
method,
with that EventQueue
's monitor held.Event
constructed out of the parameters
supplied to this method to this EventCache
implementation
and returns the Event
that was added.Event
constructed out of the parameters
supplied to this method to this EventQueueCollection
and
returns the Event
that was added.Consumer
to this EventDistributor
as a listener that will be notified of each
AbstractEvent
this EventDistributor
receives.Consumer
to this EventDistributor
as a listener that will be notified of each
AbstractEvent
this EventDistributor
receives.PropertyChangeListener
to this EventQueueCollection
's collection of such listeners so that it
will be notified only when the bound property bearing the
supplied name
changes.PropertyChangeListener
to this EventQueueCollection
's collection of such listeners so that it
will be notified whenever any bound property of this EventQueueCollection
changes.EventQueueCollection.SynchronizationAwaitingPropertyChangeListener.propertyChange(PropertyChangeEvent)
method hold
true.EventQueueCollection.SynchronizationAwaitingPropertyChangeListener.propertyChange(PropertyChangeEvent)
method hold
true or the indicated time has passed.EventQueueCollection
affiliated with this Controller
has
synchronized or the amount of time has elapsed.Reflector
and then closes the embedded
EventQueueCollection
, handling exceptions
appropriately.EventDistributor
during
its execution.EventQueueCollection
by
detaching any Consumer
previously attached via the EventQueueCollection.start(Consumer)
method.Reflector
by terminating any
Thread
s that it has started and invoking the Reflector.onClose()
method while holding this Reflector
's
monitor.Collection
of AbstractEvent
s and returns the result of that
operation.Reflector
, a VersionWatchable
and Listable
implementation, an
(internal) EventQueueCollection
, a Map
of known
Kubernetes resources and an EventQueue
Consumer
that mirrors Kubernetes cluster
events into a collection of
EventQueue
s and arranges for their consumption
and processing.Controller
but does not start it.Controller
but does not start it.Controller
but does not start it.Controller
but does not start it.Controller
but does not start it.Controller
but does not start it.Event
when invoked.Event
using the supplied raw materials and
returns it.Event
.EventQueue
when invoked.Logger
for use by this Controller
.Logger
for use by this EventQueue
.Logger
for use by this EventQueueCollection
.Logger
for use with this ResourceTrackingEventQueueConsumer
.SynchronizationEvent
using the supplied raw
materials and returns it.SynchronizationEvent
.true
if the supplied Object
is also an
AbstractEvent
and is equal in every respect to this one.true
if the supplied Object
is also a
SynchronizationEvent
and is equal in every respect to
this one.AbstractEvent
that represents another event that has
occurred to a Kubernetes resource, usually as found in an EventCache
implementation.Event
.Event
s representing Kubernetes resources.ResourceTrackingEventQueueConsumer
that consumes
EventQueue instances by feeding each AbstractEvent
in the EventQueue
being consumed to Consumer
s of AbstractEvent
s that have been registered.EventDistributor
.EventDistributor
.EventQueue
.EventCache
that temporarily stores Event
s in
EventQueue
s, one per named Kubernetes resource, and
provides a means for processing those
queues.EventQueueCollection
with an initial
capacity of 16
and a load factor of 0.75
that is
not interested in tracking Kubernetes resource deletions.EventQueueCollection
.EventQueueCollection
.PropertyChangeListener
specifically designed for
reacting to a change in the synchronization status of an EventQueueCollection
as represented by the firing of its synchronized
bound
Java Beans property.RuntimeException
indicating that a Consumer
started by an
EventQueueCollection
has encountered an error that might
not happen if the consumption operation is retried.PropertyChangeEvent
to registered PropertyChangeListeners if the supplied
old
and newValue
objects are non-null
and
not equal to each other.PropertyChangeEvent
to registered PropertyChangeListeners if the supplied
old
and newValue
objects are non-null
and
not equal to each other.PropertyChangeEvent
to registered PropertyChangeListeners if the supplied
old
and newValue
objects are non-null
and
not equal to each other.EventQueue
and, while holding its
monitor, invokes the Consumer.accept(Object)
method on
the supplied Consumer
for every AbstractEvent
in
this EventQueue
.Supplier.get()
contract by
removing and returning an EventQueue
if
one is available, blocking if one is not and
returning null
only if the current thread is interrupted or this EventQueueCollection
is
closing.AbstractEvent
's resource.HasMetadata
.AbstractEvent
s managed by this EventQueue
apply.Object
which will be used as the key that will
uniquely identify the supplied resource
to this EventQueueCollection
.HasMetadata
representing the prior
state of the Kubernetes resource this AbstractEvent
primarily concerns.PropertyChangeListener
s that were
registered to receive notifications for
changes to bound properties bearing the supplied name
.PropertyChangeListener
s that were
registered to receive notifications for
changes to all bound properties.HasMetadata
representing the Kubernetes
resource this AbstractEvent
concerns.AbstractEvent.Type
representing the type of this AbstractEvent
.AbstractEvent
.EventQueue
.HasMetadata
resources.true
if this EventQueue
is empty.true
if this AbstractEvent
's resource is an accurate representation of its
last known state.true
if this EventQueueCollection
has
been populated via a call to EventQueueCollection.add(Object, AbstractEvent.Type,
HasMetadata)
at some point, and if there are no EventQueue
s remaining to be removed.EventQueue
and, while holding its
monitor, returns an unmodifiable Iterator
over its
contents.Logger
used by this Controller
.Logger
for use by this EventQueue
.Logger
used by this EventQueueCollection
.Logger
for use by this ResourceTrackingEventQueueConsumer
implementation.Reflector.close()
is invoked.PropertyChangeEvent
is non-null
, has a source that is an instance of EventQueueCollection
,
has a property name equal to synchronized
and a new value equal to Boolean.TRUE
, then it is guaranteed that any calls currently
blocked on the EventQueueCollection.SynchronizationAwaitingPropertyChangeListener.await()
or EventQueueCollection.SynchronizationAwaitingPropertyChangeListener.await(long,
TimeUnit)
methods will unblock, and subsequent invocations of
those methods will never block again.EventCache
so as to logically
"reflect" the contents of Kubernetes into the cache.Reflector
.Reflector
.Reflector
.Reflector
.PropertyChangeListener
from this
EventQueueCollection
so that it will no longer be
notified of changes to bound properties bearing the supplied
name
.PropertyChangeListener
from this
EventQueueCollection
so that it will no longer be
notified of any changes to bound properties.Collection
of resources.EventQueueCollection
to reflect only the Kubernetes resources
contained in the supplied Collection
.Consumer
of EventQueue
s that tracks the
Kubernetes resources they contain before allowing subclasses to
process their individual Event
s.ResourceTrackingEventQueueConsumer
.Reflector
should synchronize.true
if this EventDistributor
should
synchronize with its upstream source.EventQueue
.Thread
that, until EventQueueCollection.close()
is
called, removes EventQueue
s from this EventQueueCollection
and supplies them to the supplied Consumer
, and returns a Future
representing this task.operation
supplied at construction time,
lists appropriate Kubernetes
resources, and then, on a separate Thread
, sets up a watch on them, calling EventCache.replace(Collection, Object)
and EventCache.add(Object, AbstractEvent.Type, HasMetadata)
methods
as appropriate.AbstractEvent
that describes an EventCache
synchronization event.SynchronizationEvent
.EventCache
implementation's state with
its downstream consumers, if any.knownObjects
object
supplied at
construction time, if there is one, and, for every Kubernetes
resource found within at the time of this call, adds a SynchronizationEvent
for it with an AbstractEvent.Type
of AbstractEvent.Type.MODIFICATION
.String
representation of this AbstractEvent
.String
representation of this EventQueue
.EventQueueCollection.TransientException
.EventQueueCollection.TransientException
.EventQueueCollection.TransientException
.EventQueueCollection.TransientException
.Copyright © 2017–2021, microBean™. All rights reserved.