我对轴突框架仍然很陌生。
我正在尝试在我的应用程序中使用 mongodb 实现快照,但我不断收到错误消息
“ AbstractSnapshotter :尝试创建和存储快照导致异常。异常摘要:此快照程序中的聚合类型未知:com.myworklife.contacts.domain.contact.Contact ”
这是我的 java 配置文件的一部分。
@Bean
public AggregateSnapshotter snapShotter(EventStore eventStore, AggregateFactory<Contact> contactAggregateFactory) {
return new AggregateSnapshotter(eventStore);
}
@Bean
public SnapshotTriggerDefinition snapshotTriggerDefinition(Snapshotter snapShotter) throws Exception {
return new EventCountSnapshotTriggerDefinition(snapShotter, 1);
}
@Bean
public EventStore eventStore(EventStorageEngine eventStorageEngine) {
return new EmbeddedEventStore(eventStorageEngine);
}
@Bean
public Repository<Contact> contactAggregateRepository(EventStore eventStore, SnapshotTriggerDefinition snapshotTriggerDefinition) {
return new ContactRepository(eventStore, snapshotTriggerDefinition);
}
还有我的存储库。
@Repository("ContactRepository")
public class ContactRepository extends EventSourcingRepository<Contact> {
@Autowired
public ContactRepository(EventStore eventStore, SnapshotTriggerDefinition snapshotTriggerDefinition) {
super(Contact.class, eventStore, snapshotTriggerDefinition);
}
public Contact findContact(ContactId contactId) {
return load(contactId.toString()).getWrappedAggregate().getAggregateRoot();
}
}
我的聚合。
@Aggregate(repository="contactAggregateRepository")
public class Contact {
@AggregateIdentifier
private ContactId id;
private String name;
private String mobileNumber;
public Contact() {
// do nothing, Axon requires default constructor
}
@CommandHandler
public Contact(CreateContactCommand createContactCommand) {
apply(new ContactHasBeenCreatedEvent(createContactCommand.getContactId(), createContactCommand.getName(),
createContactCommand.getMobileNumber()));
}
}
有什么我做错了吗?
因为我收到一条错误消息“尝试创建和存储快照导致异常。异常摘要:此快照程序中的聚合类型未知:com.myworklife.contacts.domain.contact.Contact ”
任何帮助将不胜感激。
谢谢,帕特