- 博客(19)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【面向方面编程】【生命周期约束】方法执行的前置条件
生命周期的约束问题,可以从方法执行的前置条件切入进而展开讨论。 几日前与同行讨论到这样一个问题:在应用开发中,在运行时允许一个Method被成功激活的前置条件有哪些方面?讨论归纳成为如下三个方面,在此与大家分享,希望可以抛砖引玉,多收集一些素材:1. 安全性约束2. 参数的约束参数上下文无关约束参数上下文相关约束3. 生命周期约束 (本文
2013-12-16 19:59:45
831
原创 多双慧眼看代码漏洞 BlazeDS FlexClient.java
程中没有产生错误。若生命周期设计存在漏洞或者编码与生命周期设计不一致,一定能从代码中找到微妙的逻辑混乱之处。这些混乱之处倒也未必能够引起运行时的defect,因为这涉及到代码运行时覆盖率的问题,不过作为一个独立的单元来看,它的逻辑稍有一点不严密。 BlazeDS 是 Adobe公司的一个开源项目,相对应的有一个商业质量的软件LiveCycleDS. 这两个项目都是为了使能(Enable) Flex RIA的Client端与JavaEE服务器互操作而创建的项目。进而Adobe希望Flash的企业版本F
2013-12-13 15:02:33
117
【面向方面编程】【生命周期约束】方法执行的前置条件
od被成功激活的前置条件有哪些方面?讨论归纳成为如下三个方面,在此与大家分享,希望可以抛砖引玉,多收集一些素材:1. 安全性约束2. 参数的约束参数上下文无关约束参数上下文相关约束3. 生命周期约束 (本文讨论重点) 安全性约束众所周知,JavaEE规范中明确的定义了安全性模型。虽然国内大多项目并未采用该安全性模型,而是转而通过应用程序自身完成的安全性管理(尽管JavaEE规范中提到这存在存在隐患),但是不可否认安全性约束是企业应用的一个非常重要的基础方面。 在J
2013-12-11 09:42:08
379
原创 生命周期组件框架:带有多状态机的单实现类
eMeta.States { @InboundWhiles({ @InboundWhile(relation = SummaryPlan.class, on = { ServiceSummaryPlanLifecycleMeta.States.Ongoing.class }, otherwise = { @ErrorMessage(states = { ServiceSummaryPlanLifecyc
2013-11-26 21:14:31
81
原创 生命周期组件框架:生命周期描述语言——并发加写锁和解写锁执行过程示
sitions.Start.class, value = Started.class) static interface Created {} @Functions({ @Function(transition = LockingStateMachine.Transitions.Stop.class, value = Stopped.class), @Function(transition = LockingSta
2013-11-26 18:05:54
103
原创 生命周期组件框架:生命周期描述语言——关系与读写锁执行过程示例
Transitions.LogicalDelete.class, value = Recycled.class), @Function(transition = Transitions.Confirm.class, value = Confirmed.class) }) static interface Draft {} @Function(transition = Transitions.Finish.clas
2013-11-26 18:05:43
76
原创 生命周期组件框架:生命周期描述语言——生命周期事件示例
blic void onEvent(LifecycleEvent event) { eventList.add(event); } } @Test public void test_lifecycle_event() throws VerificationException { @LifecycleRegistry({ CustomerObject.class, TestLifecycleEventHandler
2013-11-24 11:15:04
88
原创 生命周期组件框架:生命周期描述语言——可继承状态机示例
LifecycleMeta.Transitions.Activate.class, value = { Active.class }) static interface Draft {} @Functions({ @Function(transition = CustomerLifecycleMeta.Transitions.Suspend.class, value = Suspended.class), @Fun
2013-11-24 11:10:59
97
原创 生命周期组件框架:生命周期描述语言——条件转移以及生命周期回调 示例
ateMachineMeta.Transitions.Post.class, value = { InvoiceStateMachineMeta.States.Posted.class }) static interface Draft {} @Functions({ @Function(transition = InvoiceStateMachineMeta.Transitions.Pay.class, value = { States.PartialP
2013-11-24 11:04:54
74
原创 生命周期组件框架:生命周期描述语言——简单状态机示例代码
nsition(event = CustomerLifecycleMeta.Events.Activate.class, value = {Active.class}) static interface Draft{} @Transitions({@Transition(event = CustomerLifecycleMeta.Events.Suspend.class, value = Suspended.class), @Transition(even
2013-11-24 10:58:30
74
原创 生命周期组件框架:生命周期描述语言——复合状态机示例
value = Started.class) static interface Created {} @CompositeState @Function(transition = Transitions.Cancel.class, value = Canceled.class) static interface Started { @StateSet
2013-11-24 10:51:48
109
原创 生命周期组件框架:加强版 UML State Machine:关系型复合状态机服务 示例
ctions({ @Function(transition = ContractLifecycle.Transitions.Activate.class, value = Active.class), @Function(transition = ContractLifecycle.Transitions.Cancel.class, value = Canceled.class) }) static interface Draft {}
2013-11-23 11:13:40
98
原创 Java编程的动态特性, 从Reflection到Runtime Class Transformation
之前不可能的任务,这件利器使人打破了很多束缚。2. Java Annotation出现后,更让Java变得更加有活力,更加友好。Annotation + Reflection + enum + Class Literal可以让过去比较难于完成的任务容易很多,这种初步的元驱动的方式毕竟打开了元驱动的新天地。3.进入元驱动的世界,把Java语言,这种编译型语言,不再作为指令和数据的表达方式,而作为元数据的表达方式,开启了一种奇特的开发领域特定脚本语言的经历,这已经很酷了。4. 毕竟Java Reflection
2013-11-23 11:00:36
92
原创 Enable BlazeDS 4 on Glassfish V3.1.1
y supported on Glassfish V2.1.1, including authentication of course.But for Glassfish V3, I cannot find any guide, and authentication failed for Glassfish V3.1.1. And then I downloaded the source code of Glassfish V3.1.1 and BlazeDS 4, after 1 day's de
2011-11-15 10:31:43
63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人