Моё приложение весенней пакетной загрузки читает файл и вставляет его в базу данных.Я новичок в функциональности AWS Lambda, их очень мало или нет доступных ресурсов.
Когда я тестирую банку на AWS lambda, получается ClassNotFoundException
.
@SpringBootApplication
@EnableAutoConfiguration
@EnableJpaRepositories("my.repository")
@ComponentScan("my.package")
@EnableScheduling
public class Main implements RequestHandler<KinesisEvent, String>{
@Autowired
JobLauncher launcher;
@Autowired
Job job;
public static void startApp(){
System.exit(SpringApplication
.exit(SpringApplication.run(Main.class)));
}
public class Handler implements RequestHandler<KinesisEvent, String> {
@Override
public String handleRequest(KinesisEvent input, Context context) {
context.getLogger().log("Input: " + input);
Main.startApp();
// TODO: implement your handler
return "Hello from Lambda";
}
My _build.gradle_:
dependencies {
compile 'org.springframework.batch:spring-batch-core:4.0.0.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-batch:2.0.4.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-data-
jpa:2.0.4.RELEASE'
compile 'com.microsoft.sqlserver:mssql-jdbc:6.1.0.jre8'
compile 'com.google.code.gson:gson:2.8.2'
compile 'com.amazonaws:aws-lambda-java-core:1.2.0'
compile 'com.amazonaws:aws-lambda-java-events:2.1.0'
}
jar {
manifest{
baseName = "${projectName}"
version = ("${project.archiveVersion}")
}
}
task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.compileClasspath
}
}
build.dependsOn buildZip
Handler info on AWS Lambda-
my.package.Handler::handleRequest
Class not found: my.package.Handler:
java.lang.ClassNotFoundException
java.lang.ClassNotFoundException: my.package.Handler
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)