創建用戶功能:如何更新在Java Spring框架的高速緩存上創建新條目
@Autowired private org.springframework.cache.CacheManager cacheManager;
public boolean createUser(Users user,HttpSession session) {
System.out.println("cache update changed");
Cache c = cacheManager.getCache("defaultCache");
if (c != null) {
System.out.println("hello");
c.put("",user.getUsername());
// this code is not working
}
//BeanPropertySqlParameterSource params = new BeanPropertySqlParameterSource(user);
MapSqlParameterSource params=new MapSqlParameterSource();
params.addValue("username", user.getUsername());
params.addValue("user_session_id", session.getId());
java.util.Date today = new java.util.Date();
//params.addValue("message_time",new java.sql.Timestamp(today.getTime()));
params.addValue("user_last_activity_time", new java.sql.Timestamp(today.getTime()));
jdbc.update("insert into users (username,user_session_id,user_last_activity_time) values (:username,:user_session_id,:user_last_activity_time)", params);// == 1;
//c.clear();
//return user;
return true;
}
得到用戶的功能:
@Cacheable(value="defaultCache")
//@CachePut(value="defaultCache")
public List<Users> getOnlineUsers() {
System.out.println("DB Query");
return jdbc.query(sql, new RowMapper<Users>() {
@Override
public Users mapRow(ResultSet rs, int rowNumb) throws SQLException {
Users user = new Users();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
return user;
}
});
}
請幫助我,我怎麼可以創建新的用戶更新緩存所以當我從List<Users> getOnlineUsers()
函數通過jquery json函數得到用戶時,我應該得到更新的緩存。謝謝
首先格式化您的代碼。 –
你緩存包含用戶的列表,你試圖「放」一些用戶名.. – 2016-08-17 08:40:35