Бессерверный 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

0 ответов

Другие вопросы по тегам