Tag: identity map

这里有并发问题吗? 如何在开发过程中测试它?

场景:存在’n’个团队,每个团队都在他们的虚拟“墙”上工作(如facebook的墙)。 每个团队只看到自己的墙和上面的post。 这些post可以由post的作者或其他团队成员编辑(如果这样配置的话。假设确实如此,因为它必须具备)。 设计/技术决策:使用Restlet + Glassfish / Java + Mysql的RESTful Web应用程序(编辑:使用Apache DBUtils进行数据库访问。没有ORM – 似乎有点矫枉过正) 问题:多个团队登录T1,T2和T3(比如说),每个团队都有一些成员。 团队级数据访问存在并发性,但团队之间不存在并发性 – 即不同的团队访问不相交的数据集。 为了优化对DB的频繁读/写,我们正在考虑一个TeamGateway,它控制对DB的访问以处理并发。 Web服务器将缓存团队检索的数据以加快读取速度(并帮助更新墙上post列表) Q1:这是否需要(每个团队的TableGateway +缓存)? 如果不是,您如何建议处理? Q2:如果是这样,TableGateway(每个团队)是否需要编码为线程安全(同步方法)? 假设我们有一个类/注册表TableGatewayFinder,它带有一个静态方法,返回TableGateway以用于该特定团队(使用hashmap)。 如果来自每个T1-T3登录的6个人那么只会创建3个TableGateways,它是否有助于捕获并发写入(提交之前的简单时间戳比较或“冲突标记”追加)并有效地管理缓存(我们计划拥有实体的身份映射 – 需要跟踪4-5个不同的实体.4个实体用于组合层次结构,另一个实体与4)中的每一个相关联? 一个单元如何测试网关(基于TDD或事后)? 提前致谢!