首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

commons-chain 运用记录

2012-10-12 
commons-chain 应用记录相关参考:开始使用Commons Chain (第一部分)开始使用Commons Chain (第二部分)Apac

commons-chain 应用记录

相关参考:

开始使用Commons Chain (第一部分)

开始使用Commons Chain (第二部分)

Apache Commons Chain简明手册

?

命令模式和责任链模式是编写业务处理流程中值得推荐的(可以有效解耦业务流程,使实现更面向对象),Apache 的 Commons-Chain 项目已将两者完美的结合。

?

以下简要记录应用 commons-chain 实现具体业务流程的过程,以“增加企业员工”为例。


“增加企业员工”的流程如下:

1)检查企业是否存在

2)检查企业是否可用

3)检查是否已达到企业员工数上限

4)检查待新增的员工是否已存在

5)上述校验均通过则增加员工

6)成功增加员工后,更新企业有关信息

?

应用 commons-chain 实现该业务流程的过程如下:

1. 进行“增加企业员工”的流程 chain 配置(即创建catalog xml文件),demo-chain.xml 内容如下:

?

2. 编写各个具体的 command 类(即各个步骤的具体实现),有2个接口可供实现 :

1)org.apache.commons.chain.Command, 以 demo.chain.Interceptor.IsCorpExist 为例,其代码如下:

?

filter 主要可以用于异常处理,同时在业务流程比较简单时,也可将这个业务流程写在一个 filter 里,在 execute 方法中实现其主流程,postprocess 中实现主流程之后的附加处理。

?

3. 具体的 command 类均实现后,调用“增加企业员工”的流程实现:

<dependency><groupId>commons-chain</groupId><artifactId>commons-chain</artifactId><version>1.2</version></dependency><dependency><groupId>commons-digester</groupId><artifactId>commons-digester</artifactId><version>1.8.1</version></dependency>
?

经实践,commons-digester 1.8.1 和? commons-chain 1.2 运行以上代码无问题, commons-digester 1.7 和 commons-digester 2.0 在 main 函数运行过程中均有异常产生(均与解析xml有关)。

?

热点排行