Бессерверный Java-контейнер AWS от Spring Boot 2 до Spring Boot 3
Ниже код работает при весенней загрузке 2 с использованием aws-serverless-java-container-springboot2.
Я пробовал использовать aws-serverless-java-container-springboot3, но в приложениях ниже нет вызовов/контроллера API. Просто пытаюсь инициализировать компонент, чтобы можно было запустить awslamba.
Нет подходящего образца для преобразования из aws-serverless-java-container-springboot2 в aws-serverless-java-container-springboot3
<dependency>
<groupId>com.amazonaws.serverless</groupId>
<artifactId>aws-serverless-java-container-springboot3</artifactId>
<version>2.0.0-M1</version>
</dependency>
import javax.servlet.ServletContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.amazonaws.serverless.exceptions.ContainerInitializationException;
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
import com.amazonaws.serverless.proxy.spring.SpringBootLambdaContainerHandler;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.ScheduledEvent;
import com.service.AKRService;
public class SvHandler implements RequestHandler < ScheduledEvent, String > {
private static final Logger logger = LoggerFactory.getLogger(SvHandler.class);
public String handleRequest(ScheduledEvent input, Context context) {
AKRService akrSvc = null;
try {
akrSvc = init();
} catch (ContainerInitializationException e) {
logger.error("Error Initialiazing Spring Boot Container");
}
logger.info("Started in handleRequest");
logger.info("Got the managed bean: {}", akrSvc);
akrSvc.knock();
return "Success";
}
protected AKRService init() throws ContainerInitializationException {
final SpringBootLambdaContainerHandler < AwsProxyRequest, AwsProxyResponse > handler = SpringBootLambdaContainerHandler.getAwsProxyHandler(Application.class);
final ServletContext servContext = handler.getServletContext();
final WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servContext);
return ctx.getBean(AKRService.class);
}
}
Я попытался использовать aws-serverless-java-container-springboot3, чтобы преобразовать существующую службу Ламба из Spring Boot 2.
Нет подходящего образца для преобразования из aws-serverless-java-container-springboot2 в aws-serverless-java-container-springboot3 https://github.com/awslabs/aws-serverless-java-container/wiki/Quick- начало --- Spring-Boot3https://github.com/awslabs/aws-serverless-java-container/wiki/Quick- начало --- Spring-Boot3