关于在servlet中引用webwork中接口的问题
首先我采用的框架是spring+webwork+hibernate
目前遇到的问题是:我想创建一个servlet来定时同步一些数据,而目前最主要的是同步用户是否真的在线的数据
我在数据库中设置了一个字段 isonline 纪录用户是否在线 同时设置了一个字段pointcode纪录sessionId
业务中我是这样做的:当用户登录后自动把数据库里的isonline字段update为在线的const常量,当用户注销或者退出后update该字段为离线的const常量。这时就需要考虑特殊情况,用户未注销直接转到其它的网站url或者直接关闭浏览器,或者断电的情况,我所采用的方法就无法做到该要求。以前我也曾用过js控制这个情况,后来想想如果能做一个servlet让其同步该数据,查询数据库中isonline用户在线的user的sessionId,然后拿这个sessionId来与当前在线的Hash Set中的数据来比对,如果不存在与其中,则把该用户的isonline字段更新一下。问题就出现在这里:
我用的是接口模式
class UserAwareFactory{ static UserAware getUserService(){ return new UserService(); } } //这样我在 class CubeTwoUser{ private UserAware userAware=UserAwareFactory.getUserService(); List aUers=userAware.getUsers(Const.ISONLINE); //依旧出现上述问题 }