Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. @Configuration
  2. public class AppConfiguration {
  3.  
  4. @Autowired
  5. private EventStore eventStore;
  6.  
  7. @Autowired
  8. private Serializer serializer;
  9.  
  10. @Autowired
  11. private EntityManager entityManager;
  12.  
  13. @Bean
  14. public AggregateFactory<Account> aggregateFactory(){
  15. return new GenericAggregateFactory<Account>(Account.class);
  16. }
  17.  
  18. @Bean
  19. public EventCountSnapshotTriggerDefinition countSnapshotTriggerDefinition(){
  20. return new EventCountSnapshotTriggerDefinition(snapShotter(), 3);
  21. }
  22.  
  23. @Bean
  24. public Snapshotter snapShotter(){
  25. return new AggregateSnapshotter(eventStore, aggregateFactory());
  26. }
  27.  
  28. @Bean
  29. public EventSourcingRepository<Account> accountRepository(){
  30. return new EventSourcingRepository<>(aggregateFactory(), eventStore, countSnapshotTriggerDefinition());
  31. }
  32.  
  33. public JpaTokenStore tokenStore(){
  34. return new JpaTokenStore(new SimpleEntityManagerProvider(entityManager), serializer);
  35. }
  36.  
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement