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)

Reply via email to