[ 
https://issues.apache.org/jira/browse/FLINK-23295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17403198#comment-17403198
 ] 

Tzu-Li (Gordon) Tai commented on FLINK-23295:
---------------------------------------------

flink-statefun/master: 1589e03440b33c2cf785172017111cfb91762c3f

> 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
>            Priority: Major
>             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