Hi,
I can see that there are three options for persisting sagas, either InMemorySagaRepository, JpaSagaRepository or MongoSagaRepository. Since I've chosen to persist the events in a MongoDB, I also assume it would be best to store the sagas in the same DB (less to configure, less to maintain etc..). I've searched various examples on how to setup the Spring configuration for a MongoSagaRepository, but I'm unable to complete it:(
I paste what I've got so far, and hope someone can help me out with the rest:
<axon:saga-manager id="mySagaManager" saga-repository="mongoSagaRepository" event-bus="eventBus">
<axon:async processor-count="10" executor="myThreadPool" transaction-manager="txManager"/>
<axon:types>
com.foo.MySaga
</axon:types>
</axon:saga-manager>
<bean id="mongoSagaRepository" class="org.axonframework.saga.repository.mongo.MongoSagaRepository">
<constructor-arg ref="sagaMongoTemplate"/>
</bean>
<bean id="sagaMongoTemplate" class="org.axonframework.saga.repository.mongo.DefaultMongoTemplate">
<constructor-arg ref="mongoDb"/>
</bean>
<bean id="mongoDb" class="com.mongodb.Mongo" factory-bean="mongoFactoryBean" factory-method="createMongo"
lazy-init="true"/>
<bean id="mongoFactoryBean" class="org.axonframework.eventstore.mongo.MongoFactory" lazy-init="true">
<property name="mongoOptions">
<bean class="com.mongodb.MongoOptions" factory-bean="mongoOptionsFactory"
factory-method="createMongoOptions"/>
</property>
</bean>
<bean id="mongoOptionsFactory" class="org.axonframework.eventstore.mongo.MongoOptionsFactory">
<property name="connectionsPerHost" value="100"/>
</bean>
<bean id="txManager" class="org.axonframework.unitofwork.SpringTransactionManager"/>
<axon:event-bus id="eventBus"/>
<task:executor id="myThreadPool" pool-size="30" />