All Classes and Interfaces
Class
Description
Abstract component to handle reading ID ranges from a source and populating a Queue for further
retrieval.
Abstract implementation of a ReindexQueue that delegates its work to any implementation of a
BlockingQueue.
Builds documents from indexables based on
FieldDefinitions
for their
IndexableType
.Abstract processor for updating indexables sharing the same contextId.
An abstract message listener that triggers when a full index message is received.
Mechanism to safely access or update process state across threads within a single JVM.
Abstract component to allow reading data in batch from a data source or web service, converting
those values, and putting them on a
ReindexQueue
.Abstract provider which stores queues in a map based on their
IndexableType
.An abstract message listener that is triggered from a scheduled job event to reindex
Indexables
starting from a configured timeframe.Represents an abstract
Runnable
object for data off of a ReindexQueue
and
processing the data.Event to notify that a batch of
Indexables
have been processed.Listens for
BatchCompletedEvent
, and updates the ProcessStateHolder
with the
number of items processed.Convenience class to hold a list of IDs for processing as a batch.
This is a component to optionally configure a ThreadPoolTaskExecutor.
Core Spring Configuration for this module.
Helper methods used to support building the document for indexing.
Basic tenant representation used only to retrieve locales.
Default non-distributed implementation of
AbstractDelegatingQueue
, backed by an
ArrayBlockingQueue
.This component allows for the tracking of a lock reference for a single process ID or reference.
A local QueueProvider that uses a
DefaultLocalArrayBlockingDelegatingQueue
.Default implementation of the ProcessStateService interface.
Default semaphore provider to allow shared access to a semaphore between the
SearchIndexMasterProcessLauncher
and the WorkerCompletedEventListener
.Interface to indicate if the component is distributable.
Documents builder to be used when building data to be indexed.
Responsible for further contributing to a populated search document.
Helper methods used to support building the document for indexing.
Pre-process indexables sharing the same contextId.
Generic, lightweight API for publishing events.
Spring cloud data channel description for messaging input.
Clear the
FieldDefinition
cache in IndexerSearchService
if a production change
has been made to a field definition.This is an abstract component to allow for the full reindexing of a specific index.
Abstract implementation of SearchIndexWorkerProcessLauncher.
Standard interface to allow components to return the IndexableType that they can operate on.
Identifies a
DocumentBuilder
which only applies to a specific indexable type.Identifies a
DocumentBuilderContributor
which only applies to a specific indexable type.Properties that influence cache settings for the indexer service
Configuration for engaging default Broadleaf support for Apache Ignite cache
Properties used for indexer configuration.
The service client to use when interacting with the search service.
IndexerSearchService<T extends com.broadleafcommerce.search.api.domain.FieldDefinition>
Service used by the search indexer to interact with the search service.
Used by search indexer to retrieve locales from the tenant service.
Indicates an error locking or unlocking the reindex process.
Basic LockService interface, specifically to be used by the Index processes to ensure that no
other threads or nodes can start a specific full index process.
Null implementation for ReindexJob tracking if no implementation that supports persistence is
defined.
Alternative to
DefaultClientCredentialsTokenResponseClient
that uses WebClient
and allows for access token response that contain additional non-String parameters.Event to notify that the reindex process has been completed.
Listens for
ProcessCompletedEvent
, and ends the current process state.Event to notify that an error occurred during the reindex process.
Listens for
ProcessFailedEvent
, and instructs the ProcessStateHolder
to fail
fast.Event to indicate that a reindex process has started for a given
IndexableType
.Listens for
ProcessStartedEvent
.This component is a container for allowing thread-safe access to state across a global, in JVM
process (e.g.
Component to track the state of a given reindex process.
Event to indicate if the reindex process completed without errors.
Event to notify that a Queue is ready for use.
Listens for
QueueCreatedEvent
, and trigger the
SearchIndexWorkerProcessLauncher
to start
new workers for the queue.Event to indicate that the ID queue has been loaded and there is no more data to load.
Listens for
QueueLoadedEvent
, and update the ProcessStateHolder
with the expected
number of items to process based on the loading event.The purpose of this component is to coordinate or gather values from a data source or web service
to put on a
ReindexQueue
for processing.Component to provide access to a Queue, or specifically a
ReindexQueue
.Generic intermediary reindex implementation that delegates to implementation specific index
functionality.
Contains details of an in progress or completed full reindex.
ReindexJobRepository<D extends com.broadleafcommerce.data.tracking.core.Identifiable>
Service API for
ReindexJob
Interface to define a Queue.
Payload object representing a request to fully reindex an indexable type.
Implementation specific logic for reindexing documents in real time.
Interface for launching a reindex process.
Generic, abstract event for reindex processes.
Component to kick off any background processes, either local or remote.
Simple interface to provide shared access to a Semaphore.
Contains properties dictating SSL verification.
This component implements
OAuth2AuthorizedClientManager
and internally instantiates and
delegates to AuthorizedClientServiceOAuth2AuthorizedClientManager
.Clear the locale cache in
IndexerTenantService
if a change has been made to a tenant.Provides an event to notify that a worker has completed its work.
Listens for
WorkerCompletedEvent
, and releases the semaphore for the worker on the master
node.Provides an event to notify that a worker has started its work.
Listens for
WorkerStartedEvent
, and updates the ProcessStateHolder
node count and
total thread count for the new worker.