0
私のアプリケーションでehcacheに問題があります。私はキャッシュに2つの異なるクエリdbを持っている2つのメソッドを格納する。問題は、第2の方法のデータが第1の方法のデータに格納され、ユーザが複数の要求をした場合、そのデータが毎回複製されることである。例えばSpring - ehcacheが正常に動作しない
:
- まずコール - >
- 方法1リターン商品
- 方法2リターン2つのアイテム
- 第コール - >メソッドがキャッシュされていると格納されているデータを返すだけです...
- 方法1戻る2項目¿?
- 方法2リターン2つの項目
- サードコール - >
- 方法1つのリターン4つの項目¿?
- 方法2リターン2つの項目
ダオクラス:
public class DataDAOImpl extends JdbcDaoSupport implements DataDAO {
@Autowired
private JdbcTemplate jdbcTemplate1;
@Autowired
private JdbcTemplate jdbcTemplate2;
@PostConstruct
private void initialize() {
setJdbcTemplate(jdbcTemplate1);
}
@Autowired
private Environment env;
@Cacheable("data_1")
public List<Data> getData1(String data, String start_date, String end_date) {
List<Data> list_data_1 = (List<Data>) jdbcTemplate1.query(
env.getProperty("sql_data_1"),
new BeanPropertyRowMapper<>(Data.class),
data, start_date, end_date);
return list_data_1;
}
@Cacheable("data_2")
public List<Data> getData2(String data, String start_date, String end_date) {
List<Data> list_data_2 = (List<Data>) jdbcTemplate2.query(
env.getProperty("sql_data_2"),
new BeanPropertyRowMapper<>(Data.class),
data, start_date, end_date);
return list_data_2;
}
}
メインクラス:
List<Data> arrayData = new ArrayList<Data>();
arrayData = dataDAO.getData1(data, start_date, end_date);
arrayData.addAll(dataDAO.getData2(data, start_date, end_date));
ありがとうございました!
ニース、今すぐ動作します、ありがとうございます。 – Yeray