path:"䏋颿œ‰ä¸‰™å? 'Included'需è¦ç¼–译的(默认为All)åQ?Excluded'ä¸éœ€è¦ç¼–译的(默认为None)åQ?Native library location'本地库。下é¢è¿˜æœ‰è®¾¾|®ç¼–译åŽ
æ–‡äšgå˜æ”¾åœ°å€ã€‚勾ä¸?Allow output folders for source folders"ž®†æ˜¾½Cºçš„定义æ¯ä¸ªsrc¾~–è¯‘åŽæ–‡ä»¶å˜æ”‘Öœ°å€åQŒä¸å‹¾ä¸Šåˆ™æ¯ä¸ªsrc的编译文仉™ƒ½å˜æ”¾åˆ°åŒä¸€ä¸ªåœ°
å€ã€?/p>
Commons-Transaction: http://commons.apache.org/transaction/
䏋颿˜¯æµ‹è¯•的代ç TestTransaction.java:
Log log = LogFactory.getLog(TestTransaction.class);
//˜q™ä¸ªæ˜¯commons-transaction包ä¸çš„ç±»
LoggerFacade logger = new CommonsLoggingLogger(log);;
//å˜å‚¨çš„èµ\å¾?br />
String toDir = "d:/";
//临时路径
String tempDir = "e:/";
//æž„é€ å‡½æ•°çš„½W¬ä¸‰ä¸ªå‚敎ͼšfalseåQŒæ ‡è¯†æ˜¯å¦encoding文档的urlåQŒè¿™ä¸ªä¸€èˆ¬ä¸éœ€è¦è®¾¾|®äØ“true
FileResourceManager frm = new FileResourceManager(toDir, tempDir, false, logger);
//˜q™æ ‡è¯†frm的状æ€äØ“start
frm.start();
//下é¢éœ€è¦frm的状æ€äØ“start
String txId = frm.generatedUniqueTxId();
try {
//å¼€å¯Transaction
frm.startTransaction(txId);
frm.deleteResource(txId, "RFID.rtf");
// throw new Exception("sdf");
} catch (Exception e) {
try {
//回滚事务
frm.rollbackTransaction(txId);
} catch (ResourceManagerException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//æäº¤äº‹åŠ¡
frm.commitTransaction(txId);
在这个application˜q行˜q‡ç¨‹ä¸ï¼Œä¼šåœ¨tempDir产生一个äÍæ—¶ç›®å½?是由一些阿拉伯数å—å’Œå—æ¯ç»„æˆçš„)åQŒé‡Œé¢æœ‰ä¸¤ä¸ªæ–‡äšg夹:changeå’ŒdeleteåQŒè¿˜æœ‰ä¸€ä¸ªæ—¥å¿—transaction.logåQŒè€Œè¦æ“作的目录就会在delete目录ä¸ã€‚事务的˜q‡ç¨‹ä¹Ÿæ˜¯˜q™æ ·çš„:先将fileå˜æ”¾çš„tempDiråQŒç„¶åŽç›‘控transaction的状æ€ï¼Œå¦‚æžœcommitåQŒå®ƒž®×ƒ¼šž®†file写到destinationä¸ï¼Œç„¶åŽåˆ 除tempDir。丘q‡ï¼Œæ—¢ç„¶apacheå·²ç»æœ‰äº†˜q™ä¸ªåQŒå°±å¯ä»¥ç›´æŽ¥æ‹¿æ¥ç”¨äº†.commons-transactionåQŒè¿˜æ”¯æŒjta的事务,希望ž®†æ¥ä¼šæ›´åŠ å¼ºå¤?