WriteLogAction.java
2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package weaver.interfaces.workflow.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import weaver.interfaces.datasource.DataSource;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import weaver.conn.*;
/**
* User:
* Date:
* Time:
*/
public class WriteLogAction implements Action {
private Log log = LogFactory.getLog(WriteLogAction.class.getName());
private DataSource ds;
public DataSource getDs() {
return ds;
}
public void setDs(DataSource ds) {
this.ds = ds;
}
public Log getLog() {
return log;
}
public void setLog(Log log) {
this.log = log;
}
public String execute(RequestInfo request) {
log.info("do action on request:"+request.getRequestid());
/**
//import weaver.conn.RecordSet;不带事物
//import weaver.conn.RecordSetTrans;带事物
//注意:rsts只是用来访问 workflow_requestbase、workflow_currentoperator,而且是访问当前流程的记录,如下面的示例
//其它操作都用RecordSet rs = new RecordSet()进行
//可以先判断rsts是否为null,如果为null,则所有操作都可以用RecordSet rs = new RecordSet()进行
weaver.conn.RecordSetTrans rsts = request.getRsTrans();
if(rsts!=null){
try{
rsts.executeSql("select * from workflow_requestbase where requestid = " + request.getRequestid());
while(rsts.next()){
log.info("do action on request: " + rsts.getString(1) + " @ " + rsts.getString(2));
}
}catch(Exception e){
log.info("do action on request: " + e);
}
}else{
weaver.conn.RecordSet rs = new weaver.conn.RecordSet();
rs.executeSql("select * from workflow_requestbase where requestid = " + request.getRequestid());
while(rs.next()){
log.info("do action on request: " + rs.getString(1) + " @ " + rs.getString(2));
}
}
**/
return Action.SUCCESS;
}
}