解决OSPF不连续区域的3种方法
2011-12-06 16:39
323 查看
委托任务是我所遇到的项目中客户经常提到的,下面介绍下我的实现思路。
所谓委托,就是给A的待办,A设置了委托人B,此时,程序应该做到自动给B,最多是B处理以后给A发一个阅示任务,查看处理的情况。
这里面发现有经典的切面的影子,即任何setActor和setPooledActors都是先检查待办人是否设置了委托人,如果设置了就把任务给委托人。java领域的切面编程,大家都知道可以用jdk的InvocationHandler接口,也可以用cglib的动态代理来实现,经试验,发现jbpm的源码中有很多地方写的不地道,没有面向接口编程,导致InvocationHandler接口这种方式不能使用,无奈,只能研究cglib字节码增强,生成子类的方式实现这个切面编程了,很快,cglib生成子类的方法算是成功了,但是又发现cglib动态生成的这个子类的对象不能持久化到数据库,因为hibernate配置文件中,配置的是Taskinstace这个类,之前记得hibernate的延迟加载中有用cglib来实现,参考了Gavin King大师的源码,终于一口气实现了这个切面编程,初步测试通过了!
所谓委托,就是给A的待办,A设置了委托人B,此时,程序应该做到自动给B,最多是B处理以后给A发一个阅示任务,查看处理的情况。
这里面发现有经典的切面的影子,即任何setActor和setPooledActors都是先检查待办人是否设置了委托人,如果设置了就把任务给委托人。java领域的切面编程,大家都知道可以用jdk的InvocationHandler接口,也可以用cglib的动态代理来实现,经试验,发现jbpm的源码中有很多地方写的不地道,没有面向接口编程,导致InvocationHandler接口这种方式不能使用,无奈,只能研究cglib字节码增强,生成子类的方式实现这个切面编程了,很快,cglib生成子类的方法算是成功了,但是又发现cglib动态生成的这个子类的对象不能持久化到数据库,因为hibernate配置文件中,配置的是Taskinstace这个类,之前记得hibernate的延迟加载中有用cglib来实现,参考了Gavin King大师的源码,终于一口气实现了这个切面编程,初步测试通过了!
相关文章推荐
- 解决OSPF不连续区域的3种方法
- 解决OSPF不连续区域的3种方法
- 解决OSPF不连续区域的3种方法
- OSPF区域脱离骨干解决方法---tunnel
- OSPF不连续区域解决新办法
- OSPF非0区域不连接0区域的解决方法
- CCNP-帧中继在ospf中的应用-P2P-P2MP-Virlink虚链路解决不连续区域
- OSPF中非backbone区域被分割的解决方法 推荐
- OSPF区域不能与area 0 相连的解决方法
- 连续点击会出现一片蓝色区域解决方法
- 华为OSPF NSSA区域对默认路由的处理和解决方法
- 针对OSPF不连续区域的三种解决办法
- eNSP解决OSPF不规则区域几个方法和vlink-peer
- mysql删除一条数据后id不在连续的解决方法
- cordova连续打开两次相机解决方法
- 点击屏幕上EditText区域以外的任何地方隐藏键盘的解决方法
- Windows8任务栏通知区域输入法图标消失不见的解决方法
- 去除List列表中重复值(3种解决方法)
- 连续输入多个字符出现的问题解决方法
- Cisco IOS OSPF邻居关系不能正常建立的原因和解决方法