我对轴突框架的工作还不熟悉。在AXON 3.0中实现快照:聚合类型在此snapShotter中未知
我想实现我的应用程序使用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()));
}
}
有什么我做错了吗? 。
,因为我得到一个错误说“试图创建和存储快照导致异常异常摘要:聚合类型在这个snapshotter未知:com.myworklife.contacts.domain.contact.Contact “
任何帮助将不胜感激。
感谢, 帕特