@InterfaceStability.Evolving public interface SamzaApplication<S extends ApplicationDescriptor>
SamzaApplication describes the inputs, outputs, state, configuration and the logic for processing data from
one or more streaming sources.
This is the base SamzaApplication. Implement a StreamApplication to describe the processing logic
using Samza's High Level API in terms of MessageStream operators, or a TaskApplication to describe it
using Samza's Low Level API in terms of per-message processing logic.
A SamzaApplication implementation must have a no-argument constructor, which will be used by the framework to
create new instances and call describe(ApplicationDescriptor).
Per container context may be managed using ApplicationContainerContext and set using
ApplicationDescriptor.withApplicationContainerContextFactory(org.apache.samza.context.ApplicationContainerContextFactory<?>). Similarly, per task context may be managed
using ApplicationTaskContext and set using ApplicationDescriptor.withApplicationTaskContextFactory(org.apache.samza.context.ApplicationTaskContextFactory<?>).
| Modifier and Type | Method and Description |
|---|---|
void |
describe(S appDescriptor)
Describes the inputs, outputs, state, configuration and processing logic using the provided
appDescriptor. |
void describe(S appDescriptor)
appDescriptor.appDescriptor - the ApplicationDescriptor to use for describing the application.