I am getting this warning as the server started.
INFO 13868 --- s.DynamoDBRepositoryFactory : Spring Data Version: 2.3.7.RELEASE
INFO 13868 --- s.DynamoDBRepositoryFactory : AWS SDK Version: 1.11.64
INFO 13868 --- s.DynamoDBRepositoryFactory : Java Version: 11.0.7 - Java HotSpot(TM) 64-Bit Server VM 11.0.7+8-LTS
INFO 13868 --- s.DynamoDBRepositoryFactory : Platform Details: Windows 10 10.0
WARN 13868 --- s.DynamoDBRepositoryFactory : This Spring Data DynamoDB implementation might not be compatible with the available Spring Data classes on the classpath!
https://github.com/boostchicken/spring-data-dynamodb
This is the gradle dependency.
plugins {
id("org.springframework.boot") version "2.4.3"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
id("com.google.cloud.tools.jib") version "2.7.1"
id("com.github.jk1.dependency-license-report") version "1.16"
id("java")
}
java.sourceCompatibility = JavaVersion.VERSION_11
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.11.970'
//implementation 'com.github.derjust:spring-data-dynamodb:5.1.0'
implementation 'io.github.boostchicken:spring-data-dynamodb:5.2.5'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
As I use @DynamoDBRangeKey on top of get method, i am getting ClassNotFoundException. Server is not started. If i do not use @DynamoDBRangeKey, server is stated properly. But i have to use @DynamoDBRangeKey to specify the range key.
@DynamoDBTable(tableName = "partner_signup")
public class PartnerSignup {
@Id
//@DynamoDBIgnore
private ProductSignupId productSignupId;
private String partnerId;
private String partnerType;
//@DynamoDBAttribute(attributeName = "partner_type")
@DynamoDBRangeKey(attributeName = "partner_type")
public String getPartnerType() {
System.out.println(" partner_type " + productSignupId.getPartnerType());
return productSignupId != null ? productSignupId.getPartnerType() : null;
}
}
Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.core.support.ReflectionEntityInformation
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
Anything i need to add or modify in the dependency? What will be the compatible version of Spring Data DynamoDB and Spring Boot.
