package org.yuanrong.m2s.function;
import org.yuanrong.services.runtime.Context;
import org.yuanrong.m2s.runtime.api.runtime.APIGTriggerEvent;
import org.yuanrong.m2s.runtime.api.runtime.APIGTriggerResponse;
import org.yuanrong.m2s.sdk.api.Handler;
${ImportClasses}
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class ${FunctionHandlerName} {
private volatile ApplicationContext applicationContext;
public APIGTriggerResponse handle(APIGTriggerEvent event, Context context) {
this.initializer(context);
return ((Handler) this.applicationContext.getBean("${FunctionHandlerClassName}")).handle(event, context);
}
public void initializer(Context context) {
if (this.applicationContext == null) {
synchronized (${FunctionHandlerName}.class) {
if (this.applicationContext == null) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
${RegisterConfigs}
ctx.refresh();
this.applicationContext = ctx;
}
}
}
}
}