当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>Java企业项目中操纵Subversion配置与管理</b>[Java编程]

赞助商链接



  本文“<b>Java企业项目中操纵Subversion配置与管理</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

企业最重要的资产应当是数据信息,但目前的企业利用除了需求存储数据外,还常常要求跟踪数据改变整个历程,并会扩大到一系列相关的要求,如数据改变的缘由、改变的时间等,并且在很多情形下是对以文档情势存储的数据举行跟踪.利用SubVersion可以满意这些貌似普通但实际上很复杂的要求

来自数据的挑衅

企业利用存储了关键数据,并且利用程序并不但限于对数据举行插入、读取、更新和删除操作(即CRUD),利用程序还盼望可以存储数据更改的历史记录.此外,企业按照一系列的业务大概规定的要求,不但要求存储数据资产更改后果的历史,并且要求存储是谁,在什么时刻,因为什么缘由,若何改变了数据等等诸如此类的跟踪信息.

利用数据的情势和尺寸也有很多变数,既有简单数据,如字符串和数字型,也有复杂的范例,如利用Blob或Cblob范例来存储文档.典型的利用程序要处理大量的上传给程序处理的以文档情势存储的数据,假如用传统的历史表等方法来跟踪诸如复杂范例的文档的改变,简直就是做一场恶梦.

利用历史表举行跟踪

关系数据库是存储数据的首选,可以高效地组织、存储、检索数据信息,由于利用程序将数据存放在关系数据库中,当然就顺理成章的尝试用它来存放历史跟踪数据,普通是利用带有时间戳的数据表来存放全部的重要数据表.在更新主表的时刻会把旧数据推入历史表中,这个历程普通是通过触发器或由利用程序自己来完成.

利用历史表存储历史信息,会存在以下问题:

.关系型数据库和关系模子会提高数据存储和检索的效率,但是历史表明显不合适利用关系型数据库.

.数据库不支持版本掌握.利用程序不得不利用触发器或别的定制的技术来细心的存放数据(,以便实现版本掌握功效).

.必须由利用程序亲身检测版本之间的改变,从历史表中检索历史数据举行彼此对比.

关系数据库仍旧是存储和检索业务数据的仓库,它们擅擅长管理数据.以上摆列的缺陷仅限于用关系数据模子存储多个差别的版本的数据并举行历史数据跟踪的情形下.

Subversion 和 JavaSVN

Subversion是一个可以替换CVS(一个传统的版本掌握系统)的版本掌握系统.Subversion利用称作仓库的树状构造来存储文件和目录.Subversion会跟踪对仓库中信息的全部改变,它具有一此中央仓库,答应举行并发更新,答应通过http或https利用WebDAV协议来拜候仓库,可以避免利用历程中的防火墙的干扰.Subversion的理念就是“拷贝-编辑-归并”,这就意味着在改正时不需求锁定被改正的对象.

(译者注:关于WebDAV,是Web-based Distributed Authoring and Versioning的缩写,是一个尺度HTTP协议的扩大,通过web技术把目录和文件作为可读些的对象举行同享读写,把web变成一个可读写的媒体.RFCs2518和3253描写了WebDAV/DeltaV 关于HTTP的扩大,网址http://www.webdav.org/.)

JavaSVN是一个纯Java的Subversion客户端类库,供应与Subversion交互的基于Java程序的利用程序接口(API), JavaSVN既供应了举行直接读取Subversion仓库的底层接口,也供应了从Subversion仓库检出工作拷贝的高层接口.

目前,利用程序可以利用结合了关系型数据库和Subversion的方法来满意数据存储和改变跟踪的需求了,对数据库的更新同时会将改变情形提交到Subversion中,Subversion将是记录改变的主要数据源,关系数据库则用于除此以外全部的其他存储.这样做还有一个上风,由于Subversion利用“拷贝-编辑-归并”情势,这样每次从关系数据库中检索数据时不再要求锁定目标表了.

实例学习

目前让我们来肯定一下要办理的问题和办理筹划,并利用实例来阐明若何利用Subversion 和JavaSVN.我们利用JavaSVN将一个简单的范畴对象存储到Subversion 中,检索从前的版本,并显示两个版本的差别.我们示例的范畴对象是以下所示的贷款数据.在本文末尾的“资源”部份有完好的源代码链接.

public class LoanData extends BaseTrackingObject {
     private String loanId;
     private double loanAmount;
     private float loanRate;
     private int  loanTerm;
     ......
     ......
}

在这里,利用抽象的BaseTrackingObject类来定义通用的跟踪数据,如改正用户、改正日期、改正缘由等.此中定义了设置和获得objectId抽象办法,把它用作主键来拜候范畴对象;定义了一个命名为getXmlRepresentation的工具办法,用于把对象转换成XML格局,进而用于在Subversion中存储和检索数据.


  以上是“<b>Java企业项目中操纵Subversion配置与管理</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .