- Test multiple datasource with spring

- Transaction management with spring with more than 2 datasource
- Use JPA and Hibernate optimistic locking to control data integrity.