Axon 4 - JpaEventStorageEngine 保护的构造函数
Axon 4 - JpaEventStorageEngine protected constructor
当尝试根据以下位置提供的文档在 Axon 4 中配置 Upcaster 时:Axon 4 Framework Versioning Events
我收到错误:JpaEventStorageEngine() 具有受保护的访问权限
@Bean
public JpaEventStorageEngine eventStorageEngine(
Serializer serializer,
DataSource dataSource,
SingleEventUpcaster myUpcaster,
EntityManagerProvider entityManagerProvider,
PlatformTransactionManager transactionManager) {
return new JpaEventStorageEngine(serializer,
myUpcaster::upcast,
dataSource,
entityManagerProvider,
transactionManager);
}
我错过了什么?
我想我可以帮到你。
遗憾的是,您刚刚发现参考指南存在问题。
从 Axon 4 开始,所有主要基础设施组件不再通过构造函数创建,而是通过 Builder pattern.
因此,创建它的正确方法是:
@Bean
public JpaEventStorageEngine eventStorageEngine(Serializer eventSerializer,
Serializer snapshotSerializer,
DataSource dataSource,
SingleEventUpcaster myUpcaster,
EntityManagerProvider entityManagerProvider,
TransactionManager transactionManager) throws SQLException {
return JpaEventStorageEngine.builder()
.eventSerializer(eventSerializer)
.snapshotSerializer(snapshotSerializer)
.dataSource(dataSource)
.entityManagerProvider(entityManagerProvider)
.transactionManager(transactionManager)
.upcasterChain(myUpcaster)
.build();
}
我刚刚调整了参考指南以相应地反映这一点;对于给您带来的不便,我们深表歉意。
当尝试根据以下位置提供的文档在 Axon 4 中配置 Upcaster 时:Axon 4 Framework Versioning Events
我收到错误:JpaEventStorageEngine() 具有受保护的访问权限
@Bean
public JpaEventStorageEngine eventStorageEngine(
Serializer serializer,
DataSource dataSource,
SingleEventUpcaster myUpcaster,
EntityManagerProvider entityManagerProvider,
PlatformTransactionManager transactionManager) {
return new JpaEventStorageEngine(serializer,
myUpcaster::upcast,
dataSource,
entityManagerProvider,
transactionManager);
}
我错过了什么?
我想我可以帮到你。
遗憾的是,您刚刚发现参考指南存在问题。 从 Axon 4 开始,所有主要基础设施组件不再通过构造函数创建,而是通过 Builder pattern.
因此,创建它的正确方法是:
@Bean
public JpaEventStorageEngine eventStorageEngine(Serializer eventSerializer,
Serializer snapshotSerializer,
DataSource dataSource,
SingleEventUpcaster myUpcaster,
EntityManagerProvider entityManagerProvider,
TransactionManager transactionManager) throws SQLException {
return JpaEventStorageEngine.builder()
.eventSerializer(eventSerializer)
.snapshotSerializer(snapshotSerializer)
.dataSource(dataSource)
.entityManagerProvider(entityManagerProvider)
.transactionManager(transactionManager)
.upcasterChain(myUpcaster)
.build();
}
我刚刚调整了参考指南以相应地反映这一点;对于给您带来的不便,我们深表歉意。