Tzu-Li (Gordon) Tai created FLINK-23295:
-------------------------------------------
Summary: Introduce extension module SPI to StateFun
Key: FLINK-23295
URL: https://issues.apache.org/jira/browse/FLINK-23295
Project: Flink
Issue Type: Sub-task
Components: Stateful Functions
Reporter: Tzu-Li (Gordon) Tai
Assignee: Tzu-Li (Gordon) Tai
Fix For: statefun-3.1.0
To support pluggable extensions, e.g. custom HTTP clients for remote
invocation, we'd like to add a generic way for users to provide their own
implementations of various pluggable components.
This will take the form of {{ExtensionModule}}s, where a user that is providing
an extension implements such a module to be included into the StateFun app.
Each {{ExtensionModule}} may bind multiple extensions identified by unique
typenames. Other components of the application, such as functions and IO
modules, may access these extensions through their typenames.
The SPI would likely look like this:
{code}
public interface ExtensionModule {
void configure(Map<String, String> globalConfiguration, Binder binder);
interface Binder {
<T> void bindExtension(TypeName typeName, T extension);
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)