我正在使用播放框架版本1.2.5,我想检索所有未更新其会话5分钟的连接用户,然后我想将其连接状态设置为"已断开连接".
这是我的模型:
@Entity
public class User extends Model {
@Required
public String name;
public boolean isConnected;
public Date lastConnectionDate;
}
Run Code Online (Sandbox Code Playgroud)
以下是更新用户的Job:
Date fiveMinsAgo = new Date(new Date().getTime() - 5 * 60);
List<User> list = User.find("select u from User u where u.isConnected = true and u.lastConnectionDate < ?", fiveMinsAgo).fetch();
for (User user : list) {
// We set these accounts as disconnected
user.isConnected = false;
user.save();
}
Run Code Online (Sandbox Code Playgroud)
这段代码似乎不起作用.即使用户的lastConnectionDate不早于5分钟,用户也会设置为"已断开连接" .我做错什么了吗 ?
有没有更好的方法/代码来做我想做的事情?(比如UPDATE命令)
谢谢您的帮助
Date.getTime()返回毫秒.
试试这个:
Date fiveMinsAgo = new Date(new Date().getTime() - 5 * 60 * 1000);
Run Code Online (Sandbox Code Playgroud)