附录:
<%@page contentType="text/html;charset=GB2312" %>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.transaction.UserTransaction" %>
<%@ page import="com.eway.framework.basecomponent.Framework" %>
<%@ page import="com.eway.framework.basecomponent.services.calendar.BusinessDayService" %>
<%@ page import="com.eway.framework.basecomponent.services.calendar.Overtime" %>
<%@ page import="com.eway.workflow.client.services.DraftBoxService" %>
<%@ page import="com.eway.workflow.client.po.DraftItem" %>
<%
ResultSet rs = null;
Statement stmt = null;
UserTransaction ut = null;
Connection conn = null;
try {
Context initCtx = new InitialContext();
ut = (UserTransaction) initCtx.lookup("java:comp/UserTransaction");
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/wfmsDataSource");
out.println("<<< before lookup(\"java:comp/UserTransaction\" >>>");
// ut = (UserTransaction) initCtx.lookup("java:comp/UserTransaction");
out.println("<br/>");
out.println("<br/>");
out.println("<<< before beginning the transaction >>>");
out.println("<br/>");
conn = ds.getConnection();
ut.begin();
DraftBoxService draftBoxService = (DraftBoxService) Framework.getEngine().getContainer().getComponent("draftBoxService");
Object sdf = new Object();
DraftItem draftItem = new DraftItem();
draftItem.setBusinessId("businessid11");
draftItem.setTitle("title11");
draftItem.setDraftsman("userid11");
draftItem.setCreatedTime(new Timestamp((new java.util.Date()).getTime()));
draftItem.setEntityClassName("com.eway.workflow.sample.po.BusinessData");
draftItem.setModuleId("moduleId");
draftItem.setModuleName("moduleName");
draftItem.setTemplateId("templateId");
draftItem.setState(0);
draftItem.setProcessUrl("processUrl");
draftBoxService.saveDraftItem(draftItem);
BusinessDayService businessDayService = (BusinessDayService) Framework.getEngine().getContainer().getComponent("businessDayService");
businessDayService.saveOvertime(new Overtime());
stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("SELECT name FROM jta_test ");
rs.next();
out.println(rs.getString("name"));
out.println("<br/>");
PreparedStatement pstmt = conn.prepareStatement("insert into jta_test(id,name) values('asddddddddsdfsf','ddddd')");
pstmt.executeUpdate();
rs = stmt.executeQuery("SELECT name FROM jta_test where id='asdddf' ");
rs.next();
out.println(rs.getString("name"));
ut.commit();
out.println("<h1>commit ok</h>");
} catch (Exception e) {
if (ut != null) {
ut.rollback();//Or ut.commit();
out.println("rollback");
} else {
System.out.println("<<< ut is null >>>");
}
e.printStackTrace();
}
%>