Apache OFBiz Development The Beginners Tutorial 翻译之三 使用Derby——OFBiz原装数据库

使用Derby——OFBiz原装数据库

OFBiz打包了Apache Derby,一种完全使用Java实现的开源关系数据库系统(RDBMS)。OFBiz默认的配置是使用Derby,因此连接到数据库是我们不需要做任何事情。如何更改数据库设置和OFBiz使用何种数据库在OFBiz站点的实体引擎配置指南http://ofbiz.apache.org/docs/entityconfig.html中有相应说明文档。我们将深入研究实体引擎,但现在认为这就是数据库。

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

编译OFBiz并加载数据

 

在Eclipse的Ant视图中点击+来展开主构建实体,看到蓝色的target叫做build[default]。默认target在你双击或右击并点执行的时候执行OFBiz的主要构建。默认构建目标读取并执行每个组件的build.xml文件。十分简单,一个组件的全部构建处理如下:
删除build目录包含的已经存在的编译代码
重编译Java代码,包括最近一次编译后的任何改变
重新创建jar包
放置到一个新构建目录
尽管如此,在开始时我们要深入一步。ant目标包含在执行构建处理的主要脚本中,并允许数据库结构的自动创建,包括所有必需的数据库索引和约束。OFBiz此时加载一些启动时需要的”种子数据(seed data)“。一个加载进数据库重要片段的种子数据的例子是管理员用户信息,需要依靠这个来登录OFBiz组件。如果启动时没有加载这个,我们将因无法登录而不能深入。确认控制台窗口在Eclipse底部打开着(它将默认打开),然帮双击ant视图窗口中的run-install目标。

【added by 咸蛋超人】在OFBiz9.0.4版本中,在解压目录中运行ant.bat run-install即可安装OFBiz。

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

检查安装进程

 

调试信息此时该在控制台 窗口中的滚动。他们也需滚动太快而无法用肉眼看清。别担心,这些信息同样保存在ofbiz.log中,可在${OFBizInstallFolder}\runtime]logs目录找到。

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

编译部分

 

头一半日志显示编译进程本身。它应以[echo] [build] =========Done Building (Compile) ==========结束。应该有6个警告,它们是由于"order"组件中的一些过时的代码引起的。他们能够在如下行所示的上面:
[jar] Building jar: ${OFBizInstallFolder}\applications\order\build\lib\ofbiz-order.jar
这些警告可以放心地忽略。搜索"error"来定位编译错误。查看意外的警告。这些信号意味着编译进程并没有完全成功,需要重做。既然应用并未启动,编译日志将不会写入到ofbiz.log文件中。

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

数据加载部分

 

另外一半的日志显示加载OFBiz启动数据的数据加载进程。这是ant run-install处理中的一个冗长部分,依赖于你电脑的速度,该部分可能花费5甚至十分钟。相比,编译处理是非常短暂的,仅仅1到2分钟长。在成功完成构建和数据安装时,你将看到类似下面的信息:
BUILD SUCCESSFUL
Total time: 8 minutes 33 seconds
有两种非正常方式查看那个关键字是WARN和ERROR。没有ERROR表示一个成功的数据加载过程,不幸的是,现在的日志格式中,没有一种简单的方式来定位WARN日志实际发生的位置。
熟悉Linux和grep工具的赌注可能发现使用正则表达式WARN].*has no table in the database过滤行是非常有用的。甚至这些信息被清除掉了,我们仍然能看到其他有问题的WARN日志但并非致命停止。OFBiz仍然是一个"work-in-progress",但快速增强不算 困难。随着我们更加熟悉OFBiz,能够增强OFBiz并改进数据加载过程中的错误报告格式。

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

一些我们无需做两次的预点火过程

 

因为初始化数据加载过程耗时很长,我们应该试着防止多次做该工作。一些人拥有更快的电脑,能够在几分钟内完成,但这些人应该考虑到处理软件开发的典型周期:
更改(软件的代码)
测试(新的的更改)
重置(为下个测试用例的准备数据)
测试(下一个测试用例)
修订更改(如果碰到bug)
该循环直到我们确定新的更改满足我们的要求并为我们合理确认没有缺陷的充分测试。
就像做科学实验或者完善事物处方。每次尝试或实验之后,炊具或科学设备需要清洗和”重置"来清除状态,所以尝试或者实验的结果并不会受到之前的影响。
软件测试中,每次测试都会在某种程度上影响数据,除了测试调用仅仅数据获取。四种数据库操作CRUD(create,retrive,update,delete)中的三种将会改变数据。甚至仅仅是获取数据的测试,软件可能需要写入“获取日志”,这个可能翻译成“创建相关”的测试。
如此看来,清洗炊具并启动(从草稿中的数据加载耗费那么多时间)将花费5到10分钟。也许买一台自动洗碗机将会削减“重置”的时间为2分钟。现在想象我们能够在几秒钟内“重置”。

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

备份Derby数据文件

 

Derby数据文件在${OFBizInstallFolder}\runtime\data\derby中,包含在一个名为ofbiz的目录中。
进入${OFBizInstallFolder}\runtime\data\derby目录并打包Derby数据文件为一个压缩文件,叫做ofbiz_4_0_r589272.zip。在一个安全的地方保存这个压缩文件。清除${OFBizInstallFolder}\runtime\data\derby中的Derby数据文件并替换为压缩包中的文件就可以快速重置OFBiz数据状态了。
下面,我们仅仅备份Derby数据文件并继续。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值