@@ -113,29 +113,20 @@ private void initializeFunctionInstanceInjector() {
113
113
}
114
114
115
115
private FunctionExecutionMiddleware getFunctionExecutionMiddleWare () {
116
- FunctionExecutionMiddleware functionExecutionMiddleware = new FunctionExecutionMiddleware (JavaMethodExecutor .getInstance ());
116
+ FunctionExecutionMiddleware functionExecutionMiddleware = new FunctionExecutionMiddleware (
117
+ JavaMethodExecutors .createJavaMethodExecutor (this .classLoaderProvider .createClassLoader ()));
117
118
WorkerLogManager .getSystemLogger ().info ("Load last middleware: FunctionExecutionMiddleware" );
118
119
return functionExecutionMiddleware ;
119
120
}
120
121
121
122
public Optional <TypedData > invokeMethod (String id , InvocationRequest request , List <ParameterBinding > outputs )
122
123
throws Exception {
123
124
ExecutionContextDataSource executionContextDataSource = buildExecutionContext (id , request );
124
- invoke (executionContextDataSource );
125
+ this . invocationChainFactory . create (). doNext (executionContextDataSource );
125
126
outputs .addAll (executionContextDataSource .getDataStore ().getOutputParameterBindings (true ));
126
127
return executionContextDataSource .getDataStore ().getDataTargetTypedValue (BindingDataStore .RETURN_NAME );
127
128
}
128
129
129
- private void invoke (ExecutionContextDataSource executionContextDataSource ) throws Exception {
130
- ClassLoader prevContextClassLoader = Thread .currentThread ().getContextClassLoader ();
131
- try {
132
- Thread .currentThread ().setContextClassLoader (classLoaderProvider .createClassLoader ());
133
- this .invocationChainFactory .create ().doNext (executionContextDataSource );
134
- } finally {
135
- Thread .currentThread ().setContextClassLoader (prevContextClassLoader );
136
- }
137
- }
138
-
139
130
private ExecutionContextDataSource buildExecutionContext (String id , InvocationRequest request )
140
131
throws NoSuchMethodException {
141
132
ImmutablePair <String , FunctionDefinition > methodEntry = this .methods .get (id );
0 commit comments