banner

请求发送者与接收者解耦——命令模式(五) - 刘伟技术博客

作者: 大数据观察来源: 大数据观察时间:2017-04-16 17:45:510

6 请求日志

       请求日志就是将请求的历史记录保存下来,通常以日志文件(Log File)的形式永久存储在计算机中。很多系统都提供了日志文件,例如Windows日志文件、Oracle日志文件等,日志文件可以记录用户对系统的一些操作(例如对数据的更改)。请求日志文件可以实现很多功能,常用功能如下:

       (1) “天有不测风云”,一旦系统发生故障,日志文件可以为系统提供一种恢复机制,在请求日志文件中可以记录用户对系统的每一步操作,从而让系统能够顺利恢复到某一个特定的状态;

       (2) 请求日志也可以用于实现批处理,在一个请求日志文件中可以存储一系列命令对象,例如一个命令队列;

       (3) 可以将命令队列中的所有命令对象都存储在一个日志文件中,每执行一个命令则从日志文件中删除一个对应的命令对象,防止因为断电或者系统重启等原因造成请求丢失,而且可以避免重新发送全部请求时造成某些命令的重复执行,只需读取请求日志文件,再继续执行文件中剩余的命令即可。

       在实现请求日志时,我们可以将命令对象通过序列化写到日志文件中,此时命令类必须实现java.io.Serializable接口。下面我们通过一个简单实例来说明日志文件的用途以及如何实现请求日志:

       Sunny软件公司开发了一个网站配置文件管理工具,可以通过一个可视化界面对网站配置文件进行增删改等操作,该工具使用命令模式进行设计,结构如图6所示:

图6  网站配置文件管理工具结构图

       现在Sunny软件公司开发人员希望将对配置文件的操作请求记录在日志文件中,如果网站重新部署,只需要执行保存在日志文件中的命令对象即可修改配置文件。

       本实例完整代码如下所示:

import java.io.*; import java.util.*; //抽象命令类,由于需要将命令对象写入文件,因此它实现了Serializable接口 abstract class Command implements Serializable

       编译并运行程序,输出结果如下:

增加新节点:网站首页

增加新节点:端口号

修改节点:网站首页

修改节点:端口号

----------------------------

保存配置

----------------------------

恢复配置

----------------------------

增加新节点:网站首页

增加新节点:端口号

修改节点:网站首页

修改节点:端口号

【作者:刘伟   http://blog.csdn.net/lovelion】

banner
看过还想看
可能还想看
热点推荐

永洪科技
致力于打造全球领先的数据技术厂商

申请试用
Copyright © 2012-2024开发者:北京永洪商智科技有限公司版本:V10.2
京ICP备12050607号-1京公网安备110110802011451号 隐私政策应用权限