泛微协同商务系统Ecology系统底层包开发指南.docx
- 文档编号:1006394
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:26
- 大小:162.86KB
泛微协同商务系统Ecology系统底层包开发指南.docx
《泛微协同商务系统Ecology系统底层包开发指南.docx》由会员分享,可在线阅读,更多相关《泛微协同商务系统Ecology系统底层包开发指南.docx(26页珍藏版)》请在冰豆网上搜索。
泛微协同商务系统Ecology系统底层包开发指南
底层包开发指南
1.引言
1.1概述
1.2定义
2.底层包应用及范例
2.1最基本的继承类
2.2怎样记录日志
2.3怎样获取属性文件的值
2.4怎样获取系统的运行目录
2.5怎样访问和运行数据库脚本
2.6如何上传一个文件
2.7如何访问已经上传的文件
2.8如何使用缓存提高系统效率
2.9其它底层类基本方法
1.引言
1.1概述
本文档为泛微协同商务系统(Ecology)程序员开发指导文档,讲述底层工具包的应用,常用功能的开发。
2.底层包应用及范例
利用底层的工具包进行开发
开发人员可以从这里学到怎样
2.1最基本的继承类
继承的例子如下:
javabean的继承
publicclassResourceComlnfoextendsBaseBean{publicvoiddoSomething(){II某一个方法
方法的处理
writeLog(s);〃写日志
}
2.2怎样记录日志
注意writeLog方法的使用:
/**
*将某个对象写入Log文件
*@paramobj被写入的对象
*/
publicvoidwriteLog(Objectobj)
2003年8月12日的日志。
当天的日志为ecology.log。
每一条日志的记录格式为:
YYYY.MM.DD-HH:
MM:
S记录日志的类名-日志信息
比如:
20032004-01-10'andA.reportdate<='2004-03-10'and
A.inputstatus>='0'andA.inputstatus<>'9'andA.modtype='0'日志的记录有两种模式,第一种为调试模式,第二种为在线模式。
在第一种模式下,所有的java对象都会记录到日志文件中,包括调试信息,在第二种模式下,只有为Exception(异常)的对象才会记录到日志文件中。
模式的设置在/ecology/WEB-INF/log4jinit.properties属性文件中的
log4j.rootLogger属性来指定,如下:
log4j.rootLogger=INFO,A2
#ifyouwanttoopenthetracefromopensource,justadd#ahead
ofline
#don'tmodifythefileproperty上面的日志表明将所有的信息答应到文件日志文件中,其中日志的模式为:
#FATAL0
#ERROR3
#WARN4只有WARN,ERROR,FAT输出
#INFO6所有的log都输出
#DEBUG7
记录日志的例子如下:
publicclassResourceComInfoextendsBaseBean{
privatevoidsetResourceInfo()throwsException{
try{
业务处理过程
StringdebugInfo="Thisistest";
//在调试模式下将会记入日志文件
writeLog("debuginfois"+debugInfo);
}
catch(Exceptione){
//在任何模式下出现异常,都将会记入日志文件
writeLog(e);
throwe;
}
}
}记录的日志文件形式为:
2007-10-1516:
51:
50,125DEBUGweaver.hrm.resource.ResourceComInfo-debuginfoisThisistest如果有异常,将会记录为:
2007-10-1516:
51:
50,125ERRORweaver.hrm.resource.ResourceComInfo-
atweaver.hrm.resource.ResourceComInfo(ResourceComInfo.java:
59)从上面的日志信息,可以看到ResourceComInfo类的59行代码运行的时候出现错误,这个错误是执行数据库操作的脚本错误,具体的错误信息是:
形式参数’@id_1'定义为OUTPUT但实际参数却未声明为OUTPUT说明调用数据库脚本的时候参数的数量有出入。
开发过程中请将日志级别设置为INFO,通过日志可检查程序在哪里出错了。
2.3怎样获取属性文件的值getPropValue方法获取属性文件的值。
注意这里是使用,而不是调用,因为这个方法是这两个被继承类中的方法。
注意getPropValue方法的使用:
/**
*从配置文件中获取某个属性的值
*@paramfname属性文件名称
*@paramkey值
*@returnString属性值
*/
publicStringgetPropValue(Stringfname,Stringkey)getPropValue方法指定了从某一个属性文件fname中获取键值key的值。
这里的属性文件必须存放在系统运行目录下的WEB-INF/prop目录下,文件名称为参数fname指定的文件名,不包括属性文件的后缀名,属性文件的后缀名必须为.properties。
比如:
系统的运行目录为,那么属性文件必须放在
d:
\ecology\WEB-INF\prop\目录下,取名为thefilename.properties,其中thefilename是任意的。
在属性文件中某一个键值的值用等号来赋值,等号后面的值必须放在一行,如果一行不够写(或者为了查看的方便),可以用\来链接多行。
否则其它行的值不能被键值取得。
等号左右都可以有空格,对键值和键值的值没有影响。
比如:
thekeyname=thevalue
将键值的值放到多行:
thekeyname=thevalue1\
thevalue2\
thevalue3
thevalue4
这时候thekeyname的值为thevalue1thevalue2thevalue3,thevalue4取
不到,因为thevalue3后面没有\
在程序中要取得上述属性文件中键值thekeyname的值,使用方法:
getPropValue(“thefilename”,“thekeyname”);
获取属性文件的值的例子如下:
publicclassResourceComInfoextendsBaseBean{
privatevoidsetResourceInfo()throwsException{
业务处理过程
StringkeyValue=getPropValue(“thefilename”,“thekeyname”);
//将键值thekeyname的值keyValue记入日志文件writeLog("keyvalueis"+keyValue);
}
}
系统的主属性文件weaver.properties的文件名“weaver”作为系统常量
放在weaver.general.GCONST类中,可以使用getConfigFile()方法来返回“weaver”,在编程的过程中,如果需要用到weaver.properties属性文件中的键值,请用GCONSTg.etConfigFile()来获取,当主属性文件名称因为需要改变得时候,不必改变所有用到这个属性文件的类,只需要改变GCONS类中常量的值
2.4怎样获取系统的运行目录
weaver.general.GCONST类提供了一个静态方法getRootPath(),返回系统的运行目录,比如系统的运行目录为d盘的ecology目录,将返回d:
\ecology\
获取系统的运行目录的例子如下:
publicclassTestBeanextendsBaseBean{
importweaver.general.GCONST;
publicvoidgetSysRunPath(){
StringsysRunPath=GCONST.GetRootPath();
//将系统的运行目录sysRunPath的值记入日志文件writeLog("sysRunPathis"+sysRunPath);
}
}
2.5怎样访问和运行数据库脚本
Ecology系统的链接池管理请参见weaver.conn.ConnectionPool,weaver.conn.DBConnectionPool,weaver.conn.ConnCheckerTimer类的API文档,weaver.conn.ConnectionPool用于管理ecology系统中的所有数据库链接池(ecology系统可以同时链接多个数据库,每一个数据库均有一个对应的数据库链接池,由weaver.conn.DBConnectionPool负责管理,而weaver.conn.ConnectionPool则是这些链接池的大管家,负责所有链接池的协调和统一对外接口),weaver.conn.DBConnectionPool用于建立和管理对某一个数据库的链接池,weaver.conn.ConnCheckerTimer用于监控各个链接池的状况,定期对数据库链接池中不符合要求的链接进行清理,并监视是否需要在某一链接池中建立新的链接。
RecordSet执行数据库操作有两种形式,一种为调用存储过程,另一种为直接执行SQL语句。
与ConnStatement不同,RecordSet执行SQL语句不分查询和修改,都在一条语句中执行。
RecordSet执行脚本的方式如下:
1、使用默认的链接池执行SQL语句:
RecordSetrs=newRecordSet();
rs.executeSql("select*fromTB_Example");
while(rs.next()){
Stringthename=rs.getString("name");
其它处理代码.………
}
2、使用指定的链接池ecologytest执行SQL语句
RecordSetrs=newRecordSet();
rs.executeSql("updateTB_Examplesetname='thenewvalue'","ecologytest");
3、使用指定的链接池ecologytest执行存储过程PD_Example_UpdateById存储过程PD_Example_UpdateById如下:
CREATEPROCEDURE[PD_Example_UpdateById](@namevarchar(100),
@idint,
@flagintegeroutput,
@msgvarchar(80)output)
AS
updateTB_Examplesetname=@namewhereid
=@idGO
RecordSetrs=newRecordSet();
Stringnewname=;
String
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协同 商务 系统 Ecology 底层 开发 指南