spring-boot - 如何使用 spring-data-aerospike 进行设置
问题描述
环境:
- spring-boot v2.0.4 发布
- spring-data-aerospike v2.0.1.RELEASE
- 爪哇 - 8
这是我的应用程序代码和属性。
// application.properties
aerospike.hosts=xxx:3000
aerospike.namespace=test
// aerospike configuration class
@Configuration
@RequiredArgsConstructor
@EnableConfigurationProperties(AerospikeConfiguration.AerospikeConfigurationProperties.class)
@EnableAerospikeRepositories(basePackageClassses = TestAeroRepository.class)
public class AerospikeConfiguration extends AbstractAerospikeDataConfiguration {
private final AerospikeConfigurationProperties aerospikeConfigurationProperties;
@Override
protected Collection<Host> getHosts() {
return Host.parseServiceHosts(aerospikeConfigurationProperties.getHosts());
}
@Override
protected String nameSpace() {
return aerospikeConfigurationProperties.getNamespace();
}
@Data
@Validate
@ConfigurationProperties("aerospike")
public static class AerospikeConfigurationProperties {
@NotEmpty
String hsots;
@NotEmpty
String namespace;
}
}
# Entity class
@Value
@Document
@Builder(toBuilder = true)
@AllArgsConstructor
public class testEntity() {
@Id
int id;
@Field
String name;
@Field
String timestamp;
}
@Repository
public interface TestAeroRepository extends AerospikeRepository<TestEntity, Integer> {
}
public interface TestAeroService {
void save();
}
@Service
@RequiredArgsConstructor
public class TestAeroServiceImpl implements TestAeroService {
private final TestAeroRepository testAeroRepository;
@Override
public void save(TestEntity entity) {
testAeroRepository.save(entity);
}
}
我检查了 Aerospike 客户端连接没有问题。但是执行 save() 方法时发生错误。
org.springframework.cglib.core.ReflectUtils.defineClass(Ljava/lang/String;[BLjava/lang/ClassLoader;Ljava/security/ProtectionDomain;Ljava/lang/Class;)Ljava/lang/Class;
必须在执行应用程序之前进行设置吗?
我没有做套路。我的代码有问题吗?
解决方案
您使用的是旧版本的 spring-data-aerospike(2.0.1.RELEASE 于 2019 年 4 月发布)是否有机会升级到最新版本?2.4.2.发布
您可以在此处查看如何设置简单的弹簧数据 aerospike 应用程序:https ://medium.com/aerospike-developer-blog/simple-web-application-using-java-spring-boot-aerospike-database-and-docker- ad13795e0089
请分享整个项目的代码和整个异常。
我会调查:
- 配置类(Aerospike Beans 创建)。
- testEntity 类的内容——你在主键字段上使用@Id 注释吗?
- 通过指定 testEntity 对象(... extends AerospikeRepository<testEntity, Object> {)扩展存储库类,您可以在我添加的链接中看到一个示例。
推荐阅读
- android - Lint api 和 kotlin api 太旧,可能会导致 java.lang.NoSuchFieldError: Companion
- android - 在视图之间滑动时更改 TabLayout 中的点选择颜色
- java - 使用 Java API 定期检查 Kafka Producer Metrics
- extension-methods - 无法在主类从 FormTemplateControl 扩展的类扩展上调用自己的方法
- xl-deploy - 无法从 xl-deploy cli 创建任务
- angular - Angular:提交模板驱动表单时,如何将焦点设置在第一个无效输入上
- android - 如何仅列出上次修改的 pdf 文件?
- node.js - Callback 函数与 Promise 和 Async awit 的区别
- firebase-realtime-database - 返回在线时如何加快与主机数据库的同步
- asp.net - 如何从文件中读取 CSV 数据并写入列表