泛微协同商务系统(Ecology)_系统底层包开发指南

上传人:mg****2 文档编号:123123415 上传时间:2020-03-08 格式:DOC 页数:27 大小:260.62KB
返回 下载 相关 举报
泛微协同商务系统(Ecology)_系统底层包开发指南_第1页
第1页 / 共27页
泛微协同商务系统(Ecology)_系统底层包开发指南_第2页
第2页 / 共27页
泛微协同商务系统(Ecology)_系统底层包开发指南_第3页
第3页 / 共27页
泛微协同商务系统(Ecology)_系统底层包开发指南_第4页
第4页 / 共27页
泛微协同商务系统(Ecology)_系统底层包开发指南_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《泛微协同商务系统(Ecology)_系统底层包开发指南》由会员分享,可在线阅读,更多相关《泛微协同商务系统(Ecology)_系统底层包开发指南(27页珍藏版)》请在金锄头文库上搜索。

1、.泛微协同商务系统(Ecology) 底层包开发指南目 录1.引言41.1概述41.2定义42.底层包应用及范例42.1最基本的继承类42.2怎样记录日志52.3怎样获取属性文件的值82.4怎样获取系统的运行目录102.5怎样访问和运行数据库脚本112.6如何上传一个文件152.7如何访问已经上传的文件192.8如何使用缓存提高系统效率202.9其它底层类基本方法291. 引言1.1 概述本文档为泛微协同商务系统(Ecology)程序员开发指导文档,讲述了开发底层工具包的应用,常用功能的开发。2. 底层包应用及范例本章对ecology系统的底层工具包进行讲解,开发人员可以从这里学到怎样利用底层

2、的工具包进行开发2.1 最基本的继承类系统中每一个java bean 都需要继承 weaver.general.BaseBean 类 。这个类实现了记录日志和获取属性文件值的方法。继承这两个类的其它类可直接应用这些方法来记录日志,获取属性文件某一个属性的值。方法的实现见后面的例子。继承的例子如下:java bean 的继承public class ResourceComInfo extends BaseBean public void doSomething() /某一个方法方法的处理writeLog(s) ;/ 写日志2.2 怎样记录日志继承了weaver.general.BaseBean

3、,可以直接使用 writeLog方法记录日志信息。注意这里是使用,而不是调用,因为这个方法是这两个被继承类中的方法。注意writeLog 方法的使用:/* 将某个对象写入Log文件* param obj 被写入的对象*/ public void writeLog(Object obj) 我们看到,可以被记入日志的是任意一个java对象。这些java对象将被自动转换成字符串对象(String)记入到日志文件中。日志文件将每天生成一个,以日志文件名称中的日期来区别,比如:ecology_20030812.log,代表2003年8月12日的日志。当天的日志为ecology.log。每一条日志的记录格

4、式为 :YYYY.MM.DD-HH:MM:SS 记录日志的类名 日志信息比如:2003.03.11-06:52:05 weaver.datacenter.OutReportResult - sql is select ROUND(sum(F_sksr),5) from T_yyrb A , CRM_CustomerInfo where CRM_CustomerInfo.id=A.crmid and CRM_CustomerInfo.id in(5) and A.reportdate = 2004-01-10 and A.reportdate = 0 and A.inputstatus9 and

5、 A.modtype=0日志的记录有两种模式,第一种为调试模式,第二种为在线模式。在第一种模式下,所有的java对象都会记录到日志文件中,包括调试信息,在第二种模式下,只有为Exception (异常)的对象才会记录到日志文件中。模式的设置在/ecology/WEB-INF/ log4jinit.properties 属性文件中的log4j.rootLogger 属性来指定,如下:log4j.rootLogger = INFO,A2#if you want to open the trace from open source,just add # ahead of linelog4j.logg

6、er.org = ERRORlog4j.logger.uk = ERRORlog4j.appender.A2=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.A2.DatePattern=_yyyyMMdd.log#dont modify the file propertylog4j.appender.A2.File=ecologylog4j.appender.A2.layout=org.apache.log4j.PatternLayoutlog4j.appender.A2.layout.ConversionPattern=%dy

7、yyy-MM-dd HH:mm:ss,SSS %-5p %c - %m%n上面的日志表明将所有的信息答应到文件日志文件中 ,其中日志的模式为:#FATAL 0 #ERROR 3 #WARN 4 只有WARN,ERROR,FATAL输出#INFO 6 所有的log都输出#DEBUG 7 记录日志的例子如下:public class ResourceComInfo extends BaseBean private void setResourceInfo() throws Exception try业务处理过程.String debugInfo = This is test ; / 在调试模式下将

8、会记入日志文件 writeLog(debug info is + debugInfo) ; catch(Exception e) / 在任何模式下出现异常,都将会记入日志文件 writeLog(e) ; throw e ; 记录的日志文件形式为:2007-10-15 16:51:50,125 DEBUG weaver.hrm.resource. ResourceComInfo - debug info is This is test如果有异常,将会记录为:2007-10-15 16:51:50,125 ERROR weaver.hrm.resource. ResourceComInfo - j

9、ava.sql.SQLException: MicrosoftSQLServer JDBC DriverSQLServer形式参数 id_1 定义为 OUTPUT,但实际参数却未声明为 OUTPUT。at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.pro

10、cessReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)at com.microsoft.jdbc.ba

11、se.BaseSmonExecute(Unknown Source)at com.microsoft.jdbc.base.BaseStatement.executeInternal(Unknown Source)at com.microsoft.jdbc.base.BasePreparedStatement.execute(Unknown Source)at weaver.conn.RecordSet.executeProc(RecordSet.java:155)at weaver.conn.RecordSet.executeProc(RecordSet.java:109)at weaver.

12、hrm.resource. ResourceComInfo (ResourceComInfo.java:59)at com.caucho.jsp.JavaPage.service(JavaPage.java:87)at com.caucho.jsp.JavaPage.subservice(JavaPage.java:81)at com.caucho.jsp.Page.service(Page.java:410)at com.caucho.server.http.Invocation.service(Invocation.java:319)at com.caucho.server.http.Ru

13、nnerRequest.handleRequest(RunnerRequest.java:333)at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:266)at com.caucho.server.TcpConnection.run(TcpConnection.java:140)at java.lang.Thread.run(Thread.java:484)从上面的日志信息,可以看到ResourceComInfo类的59行代码运行的时候出现错误,这个错误是执行数据库操作的脚本错误,具体的错误信

14、息是:形式参数 id_1 定义为 OUTPUT,但实际参数却未声明为 OUTPUT。说明调用数据库脚本的时候参数的数量有出入。 开发过程中请将日志级别设置为INFO,通过日志可检查程序在哪里出错了。2.3 怎样获取属性文件的值继承了weaver.general.BaseBean 的类,可以直接使用getPropValue方法获取属性文件的值。注意这里是使用,而不是调用,因为这个方法是这两个被继承类中的方法。注意getPropValue方法的使用:/* 从配置文件中获取某个属性的值* param fname 属性文件名称* param key 值* return String 属性值*/ public String getPropValue(String fname , String key)getPropValue 方法指定了从某一个属性文件fname 中获取键值key 的值。这里的属性文件必须存放在系统运行目录下的WEB-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号