JiveJdon Community Forums
在线231人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 3 回复 / 1
 发表新帖子   回复该主题贴
goosped

悄悄话
发表文章: 9
注册时间: 2007年08月31日 16:10
关于并发锁的设计问题 2007年08月31日 16:27 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 aop(28)      事务(70)      同步或锁(25)     
大家好,今天刚到Jdon,以后多多关照啊^_^

今天碰上个设计问题,在这请教了。

问题背景:
1 项目是政府办公自动化系统,涉及到工作流。在办公流程中,会出现各种并发的任务。(比如:一份公文的审批,需要多个领导的审批意见,这些领导都对公文修改的权利)
2 需求: 保证公文的数据完整,需要对并发任务涉及的公文进行访问控制,但有A申请办理公文时,如果有人正在办理,则提示“有人正在办理”,阻止A进入办文流程。

3 方案: 用锁机制。

我现在考虑的问题主要有几个:
1 被锁的对象:
粒度问题:现在的需求是对某个办文流程进行加锁, 我希望对被锁对象进行抽象, 使锁与被锁对象解偶。能是锁支持对不同粒度对象的控制(比如:一整个业务流程对象、 流程中的一个步骤对象、 实体对象、 对象的某一个方法等 )

2 加锁、解锁时机设计:
主要考虑问题是:如何在尽量不修改原代码的情况下,在逻辑、流程的某个位置加入锁管理的逻辑。
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
回复:关于并发锁的设计问题 2007年08月31日 17:57 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
如果想不修改原来代码,可以使用AOP拦截器这样方式来实现。
goosped

悄悄话
发表文章: 9
注册时间: 2007年08月31日 16:10
re:关于并发锁的设计问题 2007年09月17日 13:51 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
to banq:
首先感谢的回复!

"使用AOP拦截器"

这里我有几个疑问:
(1)AOP拦截器,会在一个很大的横向范围上拦截目标代码。用在事件管理、日志操作上确实很方便,但是如果用在并发任务上,而且这个并发任务比例并不大,不管是不是并发都用拦截器拦下来,判断事是否由锁、状态如何,是不是代价大了点。

我所期望的是一个更灵活的拦截,可以动态的设置、撤销拦截点、拦截方法。不知道现在能做到码
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
回复:re:关于并发锁的设计问题 2007年09月18日 10:49 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>动态的设置、撤销拦截点、拦截方法。不知道现在能做到码
spring 2.0就能做到,通过配置设置。
这个主题有 3 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam