我所说的1和2的结合,就是全文比较和包含元操作的队列同步地结合,从服务器获得全文,在客户端merge,反方向则只用元操作的队列。
好处是可以保证服务器的version控制,需要重点考虑的还是merge的策略,目的是让客户端看不出来我正在同步中,至少不影响他的操作。
这样做似乎不需要写出一个cronExpression的js实现,减低了很多难度,而且符合了我eventItem和event是两个概念的需求。只需要同步的快点就行了。希望他在上不了网的时候少做一些什么重复性的设置。
队列,我的想法还是保存一个字符串的js数组,然后用反射去执行,队列不成功就不断重试好了
小有收获,实例化出来的两个queue竟然在使用同一个queue和remote,还没想明白为什么。这个attribute也没有final,static, transient让我选,可能是node的特殊性吧,为啥以前这么在view上就不会有这样的问题。所以,我干脆把他们做成两个node,反正他们的行 为和策略也不尽相同。
的确是很短小啊,我记得我当年写过一个connectionImpl,相应部分的java代码虽然严谨但是的确是非常难写的,我今天再看了一 次,那些notify然后到哪儿了我都说不清楚。不过感觉自己以前掌握的线程,锁,这些的应用还是很扎实的。嘿嘿(时隔一年就看不懂了)
为了在队列同步时尽量减少冗余的数据甚至频繁的远程访问,比如在summary上ontext的 时候希望更新currenteventDP,但是同样的会希望提交更改,可是这样的话每写一个字就多一个remotecall,即便是做出了负载平衡,但 是用户甚至保留页面至(操作数*interval)时间,简直十分荒唐。
所以我昨天添加了客户端产生uuid的方法,并且有了包装成js类送回服务器的通用包装类,这样的一个wrapEvent通过此uuid唯一认证,那么我更新了enqueue方法(见于上一entry)。splice掉了旧的还没有同步出去的内容。


没有评论:
发表评论