DBからのカウントを初めて取得し、ローカルキャッシュのカウントを更新したいとします。それ以上のリクエストがあれば、各リクエストのインメモリカウンタ変数を更新し、更新されたカウントを使用する必要があります。Ehcacheのキャッシュ値を更新する
私はのためにEhcacheのを使用し、下記のDBから取得する私のコードでいます
@Override
@CachePut(cacheNames="countCache", key="#id")
public int getCountFromDB(int id, int length) {
String sqlstm = "select count(*) from Table where length=:length";
Map<String, Object> namedParamsMap = new HashMap<String, Object>();
namedParamsMap.put("idd", idd);
namedParamsMap.put("length", length);
Integer li = namedParamJdbcTemplate.queryForObject(sqlstm, namedParamsMap, Integer.class);
return li;
}
2.私はカウンタ値と、このキャッシュ名を更新する必要があります。私は新たなカウントでupdateCounterCache
を呼び出すと、カウンタがキャッシュ内で更新取得されていない
@CachePut(value = "countCache", key = "#id")
public long updateCounterCache(int id, long count)
{
logger.error("In side ht thew updateCounterCache method "+count);
return count;
}
:私は、以下の方法を使用してみました。どこが間違っているのですか?