- ACTION_OUTPUT - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- ACTION_REQUEST - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- ACTION_REQUEST_UNPROCESSED - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- ACTION_RESPONSE - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- ActionApp<A> - Class in io.simplesource.saga.action.app
-
An ActionApp is the main component in an KStream action processor application.
- ActionAppContext<A> - Class in io.simplesource.saga.action.app
-
An ActionAppContext represents the context with all the details required to set up an
action processor stream.
- ActionAppContext() - Constructor for class io.simplesource.saga.action.app.ActionAppContext
-
- ActionCommand<A> - Class in io.simplesource.saga.model.action
-
An ActionCommand
is a data class with the information needed:
to uniquely identify the execution of the action and know whether it has been processed or not.
to determine which action processor to use to process an action.
by the action processor to process the action.
- ActionCommand() - Constructor for class io.simplesource.saga.model.action.ActionCommand
-
- actionCommand - Variable in class io.simplesource.saga.model.messages.ActionRequest
-
The Action command specifies the details of the command required for processing by the action processor.
- actionErrors - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaActionStateChanged
-
- ActionId - Class in io.simplesource.saga.model.action
-
An ActionId
uniquely identifies an action in the saga dependency graph.
- ActionId() - Constructor for class io.simplesource.saga.model.action.ActionId
-
- actionId - Variable in class io.simplesource.saga.model.action.SagaAction
-
The Action id uniquely identifies the action within the Saga dependency graph.
- actionId - Variable in class io.simplesource.saga.model.messages.ActionRequest
-
The action id uniquely identifies an action in the saga dependency graph.
- actionId - Variable in class io.simplesource.saga.model.messages.ActionResponse
-
The action id uniquely identifies an action in the saga dependency graph.
- actionId - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaActionStateChanged
-
- actionId() - Method in interface io.simplesource.saga.model.serdes.ActionSerdes
-
Serde for the action id.
- ActionProcessorBuildStep<A> - Interface in io.simplesource.saga.action.app
-
Represents a step in the process of building an action processor
app.
- ActionRequest<A> - Class in io.simplesource.saga.model.messages
-
An action request, published by the saga coordinator in the action request topic.
- ActionRequest() - Constructor for class io.simplesource.saga.model.messages.ActionRequest
-
- ActionResponse<A> - Class in io.simplesource.saga.model.messages
-
An action response, published by the action processor that receive the corresponding
ActionResponse
in the action response topic.
- ActionResponse() - Constructor for class io.simplesource.saga.model.messages.ActionResponse
-
- actions - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.TransitionList
-
- actions - Variable in class io.simplesource.saga.model.saga.Saga
-
Actions are stored in a map by ActionId
.
- ActionSerdes<A> - Interface in io.simplesource.saga.model.serdes
-
The serdes required to serialize and deserialize the action request and response topics.
- actionSerdes(Serde<A>, String, boolean) - Static method in class io.simplesource.saga.serialization.avro.AvroSerdes
-
Create action serdes (serdes required for serializing to and from action request and response topics)
- actionSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Generic
-
Create action serdes (serdes required for serializing to and from action request and response topics)
- actionSerdes(String) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Specific
-
- actionSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Specific
-
Create action serdes (serdes required for serializing to and from action request and response topics)
- actionSpec - Variable in class io.simplesource.saga.action.app.ActionAppContext
-
- actionSpec - Variable in class io.simplesource.saga.action.async.AsyncContext
-
- actionSpec - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingContext
-
- ActionSpec<A> - Class in io.simplesource.saga.model.specs
-
Represents the details common to all action processors
- ActionSpec() - Constructor for class io.simplesource.saga.model.specs.ActionSpec
-
- ActionStatus - Enum in io.simplesource.saga.model.action
-
An enum representing the current state of an action within a saga
- actionStatus - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaActionStateChanged
-
- ActionTopic() - Constructor for class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- actionTopicBaseName(String) - Static method in class io.simplesource.saga.shared.topics.TopicUtils
-
- actionTopicNamer - Variable in class io.simplesource.saga.action.async.AsyncContext
-
- actionTopicNamer - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingContext
-
- actionType - Variable in class io.simplesource.saga.action.async.AsyncSpec
-
Each action processor must have a unique action type associated with it.
- actionType - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingSpec
-
The Action type.
- actionType - Variable in class io.simplesource.saga.action.http.HttpSpec
-
- actionType - Variable in class io.simplesource.saga.model.action.ActionCommand
-
Every action processor has an associated action type.
- actionType - Variable in class io.simplesource.saga.model.action.UndoCommand
-
The Action type for the undo command.
- addAction(String, A) - Method in class io.simplesource.saga.client.dsl.SagaDSL.SagaBuilder
-
Adds an action with a random Id and no undo action command, creating a sub saga with a single action.
- addAction(String, A, A) - Method in class io.simplesource.saga.client.dsl.SagaDSL.SagaBuilder
-
Adds an action with a random Id and an undo action command, creating a sub saga with a single action.
- addAction(ActionId, String, A) - Method in class io.simplesource.saga.client.dsl.SagaDSL.SagaBuilder
-
Adds an action with no undo action command, creating a sub saga with a single action.
- addAction(ActionId, String, A, A) - Method in class io.simplesource.saga.client.dsl.SagaDSL.SagaBuilder
-
Adds an action with an undo action command, creating a sub saga with a single action.
- addShutdownHook(StreamAppUtils.ShutdownHandler) - Static method in class io.simplesource.saga.shared.app.StreamAppUtils
-
- aggregateName - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingSpec
-
The Simple Sourcing aggregate name.
- all - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.ActionTopic
-
- all - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.CommandTopic
-
- all - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- allTopics() - Method in class io.simplesource.saga.shared.topics.TopicConfig
-
Builds a list of topic creations, which contains both the topic namer and the topic spec
- allTopics(TopicConfig) - Static method in class io.simplesource.saga.shared.topics.TopicCreation
-
Creates a list of topic creation items from a topic config, resolving topic names and topic specs
- andThen(SagaDSL.SubSaga<A>) - Method in class io.simplesource.saga.client.dsl.SagaDSL.SubSaga
-
Defines a dependency between two saga actions (or two sub-sagas).
- appInput - Variable in class io.simplesource.saga.shared.app.StreamBuildContext
-
- apply(AsyncSpec<A, D, K, O, R>, TopicConfigBuilder.BuildSteps, ScheduledExecutorService) - Static method in class io.simplesource.saga.action.async.AsyncBuilder
-
- apply(AsyncSpec<A, D, K, O, R>, TopicConfigBuilder.BuildSteps) - Static method in class io.simplesource.saga.action.async.AsyncBuilder
-
- apply(AsyncSpec<A, D, K, O, R>) - Static method in class io.simplesource.saga.action.async.AsyncBuilder
-
- apply(AsyncSpec<A, D, K, O, R>, ScheduledExecutorService) - Static method in class io.simplesource.saga.action.async.AsyncBuilder
-
- apply(D, O) - Method in interface io.simplesource.saga.action.async.AsyncSpec.UndoFunction
-
- apply(EventSourcingSpec<A, D, K, C>, TopicConfigBuilder.BuildSteps, TopicConfigBuilder.BuildSteps) - Static method in class io.simplesource.saga.action.eventsourcing.EventSourcingBuilder
-
A static function that returns an action processor build step that:
1.
- apply(EventSourcingSpec<A, D, K, C>) - Static method in class io.simplesource.saga.action.eventsourcing.EventSourcingBuilder
-
- apply(K, C) - Method in interface io.simplesource.saga.action.eventsourcing.EventSourcingSpec.UndoFunction
-
The UndoFunction is a mechanism to take the result of the async invocation and turning it into an
undo action command.
- apply(HttpSpec<A, K, B, O, R>, TopicConfigBuilder.BuildSteps, ScheduledExecutorService) - Static method in class io.simplesource.saga.action.http.HttpBuilder
-
A static function that delegates the
AsyncBuilder
to provide an implementation of an
action processor that can process http web service calls asynchronously as part of a saga.
- apply(HttpSpec<A, D, K, O, R>, TopicConfigBuilder.BuildSteps) - Static method in class io.simplesource.saga.action.http.HttpBuilder
-
- apply(HttpSpec<A, D, K, O, R>) - Static method in class io.simplesource.saga.action.http.HttpBuilder
-
- apply(HttpSpec<A, D, K, O, R>, ScheduledExecutorService) - Static method in class io.simplesource.saga.action.http.HttpBuilder
-
- apply(HttpRequest<K, B>, O) - Method in interface io.simplesource.saga.action.http.HttpSpec.UndoFunction
-
The UndoFunction is a mechanism to take the result of the async http invocation and turning it into an
undo action command.
- apply(String) - Method in interface io.simplesource.saga.shared.topics.TopicNamer
-
Create a full topic name for a topic type
- applyStep(ActionAppContext<A>) - Method in interface io.simplesource.saga.action.app.ActionProcessorBuildStep
-
- applyStep(StreamBuildContext<I>) - Method in interface io.simplesource.saga.shared.app.StreamBuildStep
-
- applyStep(PropertiesBuilder) - Method in interface io.simplesource.saga.shared.properties.PropertiesBuilder.BuildSteps
-
- applyStep(TopicConfigBuilder) - Method in interface io.simplesource.saga.shared.topics.TopicConfigBuilder.BuildSteps
-
- aSerdes() - Method in class io.simplesource.saga.action.eventsourcing.EventSourcingContext
-
- AsyncBuilder - Class in io.simplesource.saga.action.async
-
A class with a single static function that returns an action processor build step for an async action.
- AsyncBuilder() - Constructor for class io.simplesource.saga.action.async.AsyncBuilder
-
- AsyncContext<A,D,K,O,R> - Class in io.simplesource.saga.action.async
-
- AsyncContext() - Constructor for class io.simplesource.saga.action.async.AsyncContext
-
- asyncFunction - Variable in class io.simplesource.saga.action.async.AsyncSpec
-
- asyncHttpFunction - Variable in class io.simplesource.saga.action.http.HttpSpec
-
- AsyncResult<D,K,O,R> - Class in io.simplesource.saga.action.async
-
Represents the information required to consume the output
returned by an async action, convert it to the result type R
, and
save it to an output topic.
- AsyncResult() - Constructor for class io.simplesource.saga.action.async.AsyncResult
-
- asyncSpec - Variable in class io.simplesource.saga.action.async.AsyncContext
-
- AsyncSpec<A,D,K,O,R> - Class in io.simplesource.saga.action.async
-
A value class with the information required to define an async action processor.
- AsyncSpec() - Constructor for class io.simplesource.saga.action.async.AsyncSpec
-
- AsyncSpec.UndoFunction<A,D,O> - Interface in io.simplesource.saga.action.async
-
The UndoFunction is a mechanism to take the result of the async invocation and turn it into an
undo action command.
- AvroSerdes - Class in io.simplesource.saga.serialization.avro
-
Factory methods for Avro Serdes.
- AvroSerdes() - Constructor for class io.simplesource.saga.serialization.avro.AvroSerdes
-
- AvroSerdes.Generic - Interface in io.simplesource.saga.serialization.avro
-
Factory methods which can be used where A
is a subclass of GenericRecord
.
- AvroSerdes.Specific - Interface in io.simplesource.saga.serialization.avro
-
Factory methods which can be used where A
is a subclass of SpecificRecord
.
- random() - Static method in class io.simplesource.saga.model.action.ActionId
-
Returns an random ActionId
- random() - Static method in class io.simplesource.saga.model.saga.SagaId
-
Generates a randon saga ID.
- repeat(int, Duration) - Static method in interface io.simplesource.saga.model.saga.RetryStrategy
-
This strategy retries a certain number of times, with a fixed delay between attempts.
- request() - Method in interface io.simplesource.saga.model.serdes.ActionSerdes
-
Serde for an action request.
- request() - Method in interface io.simplesource.saga.model.serdes.SagaClientSerdes
-
Serde for the saga request.
- response() - Method in interface io.simplesource.saga.model.serdes.ActionSerdes
-
Serde for an action response.
- response() - Method in interface io.simplesource.saga.model.serdes.SagaClientSerdes
-
Serde for the saga response.
- responseWindow - Variable in class io.simplesource.saga.model.specs.SagaSpec
-
Represents the response window for the Saga API.
- result - Variable in class io.simplesource.saga.model.messages.ActionResponse
-
The result, consisting of a SagaError
if processing fail and indicating success if processing succeeds.
- result - Variable in class io.simplesource.saga.model.messages.SagaResponse
-
Either and error if the saga failed to execute successfully, or the sequence number, which indicates the number of steps executed in the completed saga.
- resultSpec - Variable in class io.simplesource.saga.action.async.AsyncSpec
-
This is required for cases where the result is written to an output topic, or where an undo function is
defined based on the return value.
- retryCount - Variable in class io.simplesource.saga.model.action.SagaAction
-
Th number of times that processing of an action has been re-attempted.
- RetryPublisher<A> - Interface in io.simplesource.saga.saga.app
-
A functional interface to support retrying action processing
- RetryStrategy - Interface in io.simplesource.saga.model.saga
-
This interface specifies how the saga coordinator should attempt retries, both how many times and how long between them
- run(PropertiesBuilder.BuildSteps) - Method in class io.simplesource.saga.action.app.ActionApp
-
Builds and runs the stream.
- run() - Method in class io.simplesource.saga.saga.app.SagaApp
-
Run the SagaApp with the given stream app configuration.
- run(PropertiesBuilder.BuildSteps) - Method in class io.simplesource.saga.shared.app.StreamApp
-
Run the SourcingApp with the given configuration steps
- runStreamApp(Properties, Topology) - Static method in class io.simplesource.saga.shared.app.StreamAppUtils
-
- Saga<A> - Class in io.simplesource.saga.model.saga
-
The internal representation of a saga.
- Saga() - Constructor for class io.simplesource.saga.model.saga.Saga
-
- SAGA_BASE_NAME - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SAGA_REQUEST - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SAGA_RESPONSE - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SAGA_RESPONSE_TOPIC_MAP - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SAGA_STATE - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SAGA_STATE_TRANSITION - Static variable in class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- SagaAction<A> - Class in io.simplesource.saga.model.action
-
The representation of an action within a Saga
- SagaAction() - Constructor for class io.simplesource.saga.model.action.SagaAction
-
- SagaActionStateChanged() - Constructor for class io.simplesource.saga.model.messages.SagaStateTransition.SagaActionStateChanged
-
- SagaAPI<A> - Interface in io.simplesource.saga.model.api
-
The Saga API, used for submitting saga requests and asynchronously waiting for the result of the saga execution/
- SagaApp<A> - Class in io.simplesource.saga.saga.app
-
SagaApp (the "Saga Coordinator") accepts a dependency graph of saga actions.
- SagaBuilder() - Constructor for class io.simplesource.saga.client.dsl.SagaDSL.SagaBuilder
-
- SagaClientBuilder<A> - Class in io.simplesource.saga.client.api
-
The saga client builder is used to create a
SagaAPI
.
- SagaClientBuilder() - Constructor for class io.simplesource.saga.client.api.SagaClientBuilder
-
- SagaClientSerdes<A> - Interface in io.simplesource.saga.model.serdes
-
The serdes required to serialize and deserialize the saga request and response topics.
- sagaClientSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Generic
-
Saga client serdes (serdes required for the saga request and response topics)
- sagaClientSerdes(Serde<A>, String, boolean) - Static method in class io.simplesource.saga.serialization.avro.AvroSerdes
-
Saga client serdes (serdes required for the saga request and response topics)
- sagaClientSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Specific
-
Saga client serdes (serdes required for the saga request and response topics)
- SagaClientSpec<A> - Class in io.simplesource.saga.model.specs
-
Represents the details required to create a saga client instance
- SagaClientSpec() - Constructor for class io.simplesource.saga.model.specs.SagaClientSpec
-
- SagaDSL - Class in io.simplesource.saga.client.dsl
-
The saga DSL is used be the client to build a saga.
- SagaDSL() - Constructor for class io.simplesource.saga.client.dsl.SagaDSL
-
- SagaDSL.SagaBuilder<A> - Class in io.simplesource.saga.client.dsl
-
A SagaBuilder is used to add actions by creating a subsaga consisting of a single action, and to build the saga once the definition steps are complete.
- SagaDSL.SubSaga<A> - Class in io.simplesource.saga.client.dsl
-
A Subsaga
is a subset of a saga consisting of one or more action, with dependencies defined between them.
- sagaError - Variable in class io.simplesource.saga.model.saga.Saga
-
If the saga fails, the cumulative list of errors that occurred in the processing for the saga.
- SagaError - Class in io.simplesource.saga.model.saga
-
Represents an error in saga processing
- SagaError.Reason - Enum in io.simplesource.saga.model.saga
-
Represents the reason for an action processor or saga failing.
- sagaErrors - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaStatusChanged
-
- sagaId - Variable in class io.simplesource.saga.model.messages.ActionRequest
-
The saga id uniquely identifies the saga, and is used as the key for the action request and responses.
- sagaId - Variable in class io.simplesource.saga.model.messages.ActionResponse
-
The saga id uniquely identifies the saga, and is used as the key for the action request and responses.
- sagaId - Variable in class io.simplesource.saga.model.messages.SagaRequest
-
The saga id uniquely identifies the saga, and is used as the key for the saga request and responses.
- sagaId - Variable in class io.simplesource.saga.model.messages.SagaResponse
-
The saga id uniquely identifies the saga, and is used as the key for the saga request and responses.
- sagaId - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaActionStateChanged
-
- sagaId - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaStatusChanged
-
- sagaId - Variable in class io.simplesource.saga.model.saga.Saga
-
The Saga id uniquely identifies the saga.
- SagaId - Class in io.simplesource.saga.model.saga
-
A saga id uniquely identifies the saga.
- SagaId() - Constructor for class io.simplesource.saga.model.saga.SagaId
-
- sagaId() - Method in interface io.simplesource.saga.model.serdes.ActionSerdes
-
Serde for the saga id.
- sagaId() - Method in interface io.simplesource.saga.model.serdes.SagaClientSerdes
-
Serde for the saga id.
- SagaRequest<A> - Class in io.simplesource.saga.model.messages
-
A request to execute a saga, published by client (either directly, or via the
SagaAPI
in the
saga request topic, and consumed by the saga coordinator.
- SagaRequest() - Constructor for class io.simplesource.saga.model.messages.SagaRequest
-
- SagaResponse - Class in io.simplesource.saga.model.messages
-
A response from saga execution, published by the saga coordinator in the saga response topic after saga completes (successfully, or with error).
- SagaResponse() - Constructor for class io.simplesource.saga.model.messages.SagaResponse
-
- SagaSerdes<A> - Interface in io.simplesource.saga.model.serdes
-
The serdes required to serialize and deserialize the saga state and state transition topics, as well as the request and response topics.
- sagaSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Generic
-
Saga serdes (saga client topics, as well as the saga internal state and state transition topics)
- sagaSerdes(Serde<A>, String, boolean) - Static method in class io.simplesource.saga.serialization.avro.AvroSerdes
-
Saga serdes (saga client topics, as well as the saga internal state and state transition topics)
- sagaSerdes(String, boolean) - Static method in interface io.simplesource.saga.serialization.avro.AvroSerdes.Specific
-
Saga serdes (saga client topics, as well as the saga internal state and state transition topics)
- SagaSpec<A> - Class in io.simplesource.saga.model.specs
-
Represents the details required to create a saga coordinator
- SagaSpec() - Constructor for class io.simplesource.saga.model.specs.SagaSpec
-
- sagaState - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SetInitialState
-
- SagaStateTransition<A> - Interface in io.simplesource.saga.model.messages
-
SagaStateTransition interface.
- SagaStateTransition.SagaActionStateChanged<A> - Class in io.simplesource.saga.model.messages
-
A transition representing state changes of a Saga caused by updates to state of an action
- SagaStateTransition.SagaStatusChanged<A> - Class in io.simplesource.saga.model.messages
-
A transition representing state changes of a Saga caused by updating a sagas status
- SagaStateTransition.SetInitialState<A> - Class in io.simplesource.saga.model.messages
-
A transition for setting the initial state of the Saga
- SagaStateTransition.TransitionList<A> - Class in io.simplesource.saga.model.messages
-
A transition representing multiple state changes to a saga
- sagaStatus - Variable in class io.simplesource.saga.model.messages.SagaStateTransition.SagaStatusChanged
-
- SagaStatus - Enum in io.simplesource.saga.model.saga
-
Represents the overall status of the saga.
- SagaStatusChanged() - Constructor for class io.simplesource.saga.model.messages.SagaStateTransition.SagaStatusChanged
-
- SagaTopic() - Constructor for class io.simplesource.saga.shared.topics.TopicTypes.SagaTopic
-
- send(String, SagaId, SagaStateTransition<A>) - Method in interface io.simplesource.saga.saga.app.RetryPublisher
-
- send(String, K, V) - Method in class io.simplesource.saga.shared.kafka.KafkaPublisher
-
- sequence - Variable in class io.simplesource.saga.model.saga.Saga
-
The sequence number of the saga, indicating the number of saga state transitions that have occurred.
- sequenceMapper - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingSpec
-
The Sequence mapper maps the decoded input type to the last read aggregate sequence.
- serdes - Variable in class io.simplesource.saga.model.specs.ActionSpec
-
The Serdes.
- serdes - Variable in class io.simplesource.saga.model.specs.SagaClientSpec
-
The serdes required for all the saga request and response topics.
- serdes - Variable in class io.simplesource.saga.model.specs.SagaSpec
-
The serdes required for all the saga coordinator topics (request and response as well as state and state transition topics).
- SerdeUtils - Class in io.simplesource.saga.serialization.utils
-
A utility class with methods that enable the derivation of a serde from a serde from an another type.
- SerdeUtils() - Constructor for class io.simplesource.saga.serialization.utils.SerdeUtils
-
- SetInitialState() - Constructor for class io.simplesource.saga.model.messages.SagaStateTransition.SetInitialState
-
- shutDown() - Method in interface io.simplesource.saga.shared.app.StreamAppUtils.ShutdownHandler
-
- shutdownExecutorService(ExecutorService) - Static method in class io.simplesource.saga.shared.app.StreamAppUtils
-
- shutdownHandlers - Variable in class io.simplesource.saga.shared.app.StreamBuildResult
-
- specificAvroSerde(String, Boolean) - Static method in class io.simplesource.saga.serialization.avro.SpecificSerdeUtils
-
- specificAvroSerde(String, Boolean, SchemaRegistryClient) - Static method in class io.simplesource.saga.serialization.avro.SpecificSerdeUtils
-
- SpecificSerdeUtils - Class in io.simplesource.saga.serialization.avro
-
- SpecificSerdeUtils() - Constructor for class io.simplesource.saga.serialization.avro.SpecificSerdeUtils
-
- state() - Method in interface io.simplesource.saga.model.serdes.SagaSerdes
-
Serde for the saga state.
- status - Variable in class io.simplesource.saga.model.action.SagaAction
-
The status of the action.
- status - Variable in class io.simplesource.saga.model.saga.Saga
-
The status of the saga.
- StreamApp<I> - Class in io.simplesource.saga.shared.app
-
StreamApp is a generic method for specifying the steps involved in building and running a KStream app that enables:
Defining some initial configuration that is applicable to the entire build process
Specifying the stream topology for the application in an arbitrary sequence of steps
Specifying which topics are needed to define te topology
Specifying topic configuration information in a flexible way
Collating the list of required topics, and providing and overriding configuration information for their creation
Providing a flexible configuration mechanism for setting Kafka properties
Creating the missing topics prior to running the stream
Running the stream application
Handling and cleanup / freeing of resources post termination of the stream
It is a functional abstraction on top of the Kafka Stream builder DSL that delays the execution of the stream build steps and allows for decorating the process with extra information.
- StreamApp(I) - Constructor for class io.simplesource.saga.shared.app.StreamApp
-
- StreamAppUtils - Class in io.simplesource.saga.shared.app
-
- StreamAppUtils() - Constructor for class io.simplesource.saga.shared.app.StreamAppUtils
-
- StreamAppUtils.ShutdownHandler - Interface in io.simplesource.saga.shared.app
-
- StreamBuildContext<I> - Class in io.simplesource.saga.shared.app
-
- StreamBuildContext() - Constructor for class io.simplesource.saga.shared.app.StreamBuildContext
-
- StreamBuildResult - Class in io.simplesource.saga.shared.app
-
- StreamBuildResult() - Constructor for class io.simplesource.saga.shared.app.StreamBuildResult
-
- StreamBuildSpec - Class in io.simplesource.saga.shared.app
-
- StreamBuildSpec() - Constructor for class io.simplesource.saga.shared.app.StreamBuildSpec
-
- StreamBuildStep<I> - Interface in io.simplesource.saga.shared.app
-
- submitSaga(SagaRequest<A>) - Method in class io.simplesource.saga.client.api.KafkaSagaAPI
-
- submitSaga(SagaRequest<A>) - Method in interface io.simplesource.saga.model.api.SagaAPI
-
Initiates a saga.
- SubSaga() - Constructor for class io.simplesource.saga.client.dsl.SagaDSL.SubSaga
-
- timeout - Variable in class io.simplesource.saga.action.async.AsyncSpec
-
The timeout.
- timeout - Variable in class io.simplesource.saga.action.eventsourcing.EventSourcingSpec
-
The Timeout.
- timeout - Variable in class io.simplesource.saga.action.http.HttpSpec
-
- TopicConfig - Class in io.simplesource.saga.shared.topics
-
TopicConfig represents configuration information for topic names and for topic properties for topic creation
- TopicConfig() - Constructor for class io.simplesource.saga.shared.topics.TopicConfig
-
- TopicConfigBuilder - Class in io.simplesource.saga.shared.topics
-
- TopicConfigBuilder.BuildSteps - Interface in io.simplesource.saga.shared.topics
-
A functional interface representing a configuration step that is applied to a topic builder
- TopicCreation - Class in io.simplesource.saga.shared.topics
-
A data class that encompasses both the topic name and the configuration for topic creation
- TopicCreation() - Constructor for class io.simplesource.saga.shared.topics.TopicCreation
-
- topicCreations - Variable in class io.simplesource.saga.shared.app.StreamBuildResult
-
- topicName - Variable in class io.simplesource.saga.action.http.HttpRequest
-
- topicName - Variable in class io.simplesource.saga.shared.topics.TopicCreation
-
The topic name.
- TopicNamer - Interface in io.simplesource.saga.shared.topics
-
Several types of topics (eg.
- topicNamerOverride(TopicNamer, Map<String, String>) - Static method in class io.simplesource.saga.shared.topics.TopicUtils
-
- topics - Variable in class io.simplesource.saga.shared.app.StreamBuildSpec
-
- TopicSerdes<K,V> - Class in io.simplesource.saga.model.serdes
-
A generic interface representing the serdes required to serialize and deserialize an arbitrary topic.
- TopicSerdes() - Constructor for class io.simplesource.saga.model.serdes.TopicSerdes
-
- topicSpec - Variable in class io.simplesource.saga.shared.topics.TopicCreation
-
The topic spec for topic creation.
- topicSpecs - Variable in class io.simplesource.saga.shared.topics.TopicConfig
-
A map of topic specs per action type.
- topicTypes - Variable in class io.simplesource.saga.shared.topics.TopicConfig
-
A list of topic types that this topic config applies to the family of topics
- TopicTypes - Class in io.simplesource.saga.shared.topics
-
A collation of the different topic types for various families of topics.
- TopicTypes() - Constructor for class io.simplesource.saga.shared.topics.TopicTypes
-
- TopicTypes.ActionTopic - Class in io.simplesource.saga.shared.topics
-
Topic types for action processors
- TopicTypes.CommandTopic - Class in io.simplesource.saga.shared.topics
-
Topic types for event sourcing commands
- TopicTypes.SagaTopic - Class in io.simplesource.saga.shared.topics
-
Topic types for the saga coordinator
- TopicUtils - Class in io.simplesource.saga.shared.topics
-
- TopicUtils() - Constructor for class io.simplesource.saga.shared.topics.TopicUtils
-
- topologyBuildStep - Variable in class io.simplesource.saga.shared.app.StreamBuildSpec
-
- topologySupplier - Variable in class io.simplesource.saga.shared.app.StreamBuildResult
-
- toString() - Method in class io.simplesource.saga.model.action.ActionId
-
- toString() - Method in class io.simplesource.saga.model.saga.SagaId
-
- transition() - Method in interface io.simplesource.saga.model.serdes.SagaSerdes
-
Serde for the saga state transitions.
- TransitionList() - Constructor for class io.simplesource.saga.model.messages.SagaStateTransition.TransitionList
-
- tuple2(Serde<A>, Serde<B>) - Static method in class io.simplesource.saga.shared.serdes.TupleSerdes
-
A utility method for creating a serde on-the-fly for a pair Tuple2<A, B>
whenever a serde is available for A
and B
.
- TupleSerdes - Class in io.simplesource.saga.shared.serdes
-
A generic utility class for creating composite serdes.
- TupleSerdes() - Constructor for class io.simplesource.saga.shared.serdes.TupleSerdes
-
- value - Variable in class io.simplesource.saga.model.serdes.TopicSerdes
-
Serde for the value
- valueOf(String) - Static method in enum io.simplesource.saga.action.http.HttpRequest.HttpVerb
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.simplesource.saga.model.action.ActionStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.simplesource.saga.model.saga.SagaError.Reason
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.simplesource.saga.model.saga.SagaStatus
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum io.simplesource.saga.shared.properties.PropertiesBuilder.Target
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum io.simplesource.saga.action.http.HttpRequest.HttpVerb
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum io.simplesource.saga.model.action.ActionStatus
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum io.simplesource.saga.model.saga.SagaError.Reason
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum io.simplesource.saga.model.saga.SagaStatus
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- values() - Static method in enum io.simplesource.saga.shared.properties.PropertiesBuilder.Target
-
Returns an array containing the constants of this enum type, in
the order they are declared.
- verb - Variable in class io.simplesource.saga.action.http.HttpRequest
-
- withAction(String, TopicConfigBuilder.BuildSteps) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Adds a single action, specifying the topic configuration for the request and response topics for that action type
- withActionProcessor(ActionProcessorBuildStep<A>) - Method in class io.simplesource.saga.action.app.ActionApp
-
Adds an action processor build step to the application.
- withActions(Collection<String>, TopicConfigBuilder.BuildSteps) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Adds multiple actions, specifying the topic configuration for the request and response topics for all action types
- withActions(String...) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Adds multiple actions, using default topic configuration
- withActions(TopicConfigBuilder.BuildSteps, String...) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Adds a variable length argument list of action types, specifying the topic configuration for the request and response topics for all action types
- withBootstrapServers(String) - Method in class io.simplesource.saga.shared.properties.PropertiesBuilder
-
- withBuildStep(StreamBuildStep<I>) - Method in class io.simplesource.saga.shared.app.StreamApp
-
- withClientId(String) - Method in class io.simplesource.saga.client.api.SagaClientBuilder
-
With client id saga client builder.
- withDefaultTopicSpec(int, int, int) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Sets the topic spec by default topic to be the topic spec with the specified partitions and replication factor, as well as the setting the topic retention
- withExecutor(ScheduledExecutorService) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Sets an executor for the Saga app.
- withInitialStep(PropertiesBuilder.BuildSteps) - Method in interface io.simplesource.saga.shared.properties.PropertiesBuilder.BuildSteps
-
- withInitialStep(TopicConfigBuilder.BuildSteps) - Method in interface io.simplesource.saga.shared.topics.TopicConfigBuilder.BuildSteps
-
- withNamingStrategy(ResourceNamingStrategy) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Sets the the resource naming strategy for topic creation
- withNextStep(PropertiesBuilder.BuildSteps) - Method in interface io.simplesource.saga.shared.properties.PropertiesBuilder.BuildSteps
-
- withNextStep(TopicConfigBuilder.BuildSteps) - Method in interface io.simplesource.saga.shared.topics.TopicConfigBuilder.BuildSteps
-
- withProperties(PropertiesBuilder.BuildSteps) - Method in class io.simplesource.saga.client.api.SagaClientBuilder
-
Sets the config properties.
- withProperties(Properties) - Method in class io.simplesource.saga.shared.properties.PropertiesBuilder
-
- withProperties(Map<String, Object>) - Method in class io.simplesource.saga.shared.properties.PropertiesBuilder
-
- withProperty(String, Object) - Method in class io.simplesource.saga.shared.properties.PropertiesBuilder
-
- withRetryStrategy(RetryStrategy) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Sets the retry strategy that applies to all action types, unless specifically overridden
- withRetryStrategy(String, RetryStrategy) - Method in class io.simplesource.saga.saga.app.SagaApp
-
Sets the retry strategy for a specific action type
- withScheduler(ScheduledExecutorService) - Method in class io.simplesource.saga.client.api.SagaClientBuilder
-
Sets the scheduler required to schedule timeouts.
- withSerdes(SagaClientSerdes<A>) - Method in class io.simplesource.saga.client.api.SagaClientBuilder
-
Sets the Serdes required for the saga request and saga response topics.
- withStreamAppConfig(String, String) - Method in class io.simplesource.saga.shared.properties.PropertiesBuilder
-
Sets the essential properties for Kafka Streams applications (app id and bootstrap servers)
- withTopicBaseName(String) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Sets the base name for topic creation when applying the prefix resource naming strategy
- withTopicConfig(TopicConfigBuilder.BuildSteps) - Method in class io.simplesource.saga.client.api.SagaClientBuilder
-
Sets the topic configuration for naming and creating the saga request and response topics.
- withTopicNameOverride(String, String) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Overrides the topic name for a given topic type
- withTopicNamer(TopicNamer) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Explicitly sets the topic namer
- withTopicPrefix(String) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Sets the resource naming strategy to PrefixResourceNamingStrategy
with the given prefix
- withTopicSpecOverride(String, TopicSpec) - Method in class io.simplesource.saga.shared.topics.TopicConfigBuilder
-
Overrides the topic spec for a given topic type