23. HYSTRIX EXAMPLE
SERVICE CONSUMER
public class SearchGateway {
@HystrixCommand(fallbackMethod = "fallback")
public List<SearchHit> search(String query) {
return …;
}
public List<SearchHit> fallback() {
return Collections.emptyList();
}
}
40. RDS Instance Support
@Service
public class JdbcPersonService implements PersonService {
private final JdbcTemplate jdbcTemplate;
@Autowired
public JdbcPersonService(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Override
@Transactional(readOnly = true)
public List<Person> all() {
return this.jdbcTemplate.query("SELECT * FROM Person”, … );
}
@Override
@Transactional
public void store(Person person) {
this.jdbcTemplate.update("INSERT INTO Person …”);
}
}
46. Caching Service
@Service
public class ExpensiveService {
@Cacheable("CacheCluster")
public String calculateExpensiveValue(String key){
return …;
}
}