文件系统事务(XADisk)

许多 Java 应用程序,包括服务器端和桌面应用程序,都将它们的关键数据保存在文件系统、数据库或其他信息系统中。为实现与关键数据的安全、可靠的交互,应用程序开发人员常常依赖于对这些信息系统的事务性访问。典型的事务会提供明确的 ACID 属性,即原子性、一致性、隔离和耐久性。

目前的大多数数据库都支持事务。对于文件系统,此功能要么不可用,要么难以与 Java 应用程序集成。将事务与一系列文件/目录操作相关联,变得不可能或非常困难。而没有事务,就会存在在应用程序崩溃、对相同数据集进行并发访问和部分更改可见等期间出现意外结果的风险。

本文将介绍 XADisk,这是一个开源的综合事务系统,支持从 Java 和 JavaEE 应用程序对文件系统进行事务性访问。使用一些简单的 API,您可以将 XADisk 部署在任何 JVM 上,无需在操作系统上执行任何安装。部署之后,应用程序就会调用 XADisk API 在事务内执行各种各样的文件 IO 操作

XADisk 还提供了其他许多功能,比如 XA 事务、完全的 JCA 合规性、入站消息等。这些功能不属于这篇简介文章的介绍范围。


更多:

http://www.ibm.com/developerworks/cn/opensource/os-xadisk/index.html

官方:

https://xadisk.java.net/examples.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Table of Contents 1 Introduction ...................................................................................................... 4 1.1 Scope ................................................................................................................... 4 1.2 Background ......................................................................................................... 4 1.3 Overview ............................................................................................................. 4 1.4 Implemented File Functionality ......................................................................... 5 1.4.1 Basic ............................................................................................................................... 5 1.4.2 Access Attributes ............................................................................................................ 5 1.4.3 Protective Mode .............................................................................................................. 7 1.4.4 Access Monitor ............................................................................................................... 7 1.5 Disk Usage Saturation ........................................................................................ 7 2 Application Programming Interfaces (APIs) .................................................. 9 2.1 The TFFS Protection Application Programming Interface (TP-API) ................ 9 2.1.1 TFFS Usage Protection .................................................................................................. 9 2.1.1.1 Pseudo Code Example .......................................................................................... 9 2.1.1.2 Posix Code Example ............................................................................................ 10 2.1.1.3 sig_semRead ....................................................................................................... 11 2.1.1.4 sig_semWrite ....................................................................................................... 11 2.1.1.5 wai_semRead ...................................................................................................... 11 2.1.1.6 wai_semWrite....................................................................................................... 11 2.1.2 Protective Mode Application Programming Interface ................................................... 11 2.1.3 Monitor Protection Application Programming Interface ................................................ 11 2.2 The TFFS User Application Programming Interface (TU-API) ....................... 13 2.2.1 tffsChange .................................................................................................................... 13 2.2.2 tffsChdir ........................................................................................................................ 14 2.2.3 tffsClearerr .................................................................................................................... 14 2.2.4 tffsDelete ....................................................................................................................... 15 2.2.5 tffsDiagMode ................................................................................................................. 15 2.2.6 tffsExists ....................................................................................................................... 16 2.2.7 tffsFclose ...................................................................................................................... 16 2.2.8 tffsFeof .......................................................................................................................... 17 2.2.9 tffsFerror ....................................................................................................................... 17 2.2.10 tffsFflush ....................................................................................................................... 17 2.2.11 tffsFopen ....................................................................................................................... 18 2.2.12 tffsFormat ...................................................................................................................... 19 2.2.13 tffsFread ........................................................................................................................ 20 2.2.14 tffsFseek ....................................................................................................................... 20 2.2.15 tffsFwrite ....................................................................................................................... 21 2.2.16 tffsGetBlockInfo ............................................................................................................ 21 2.2.17 tffsGetPath .................................................................................................................... 22 2.2.18 tffsGetRoot .................................................................................................................... 22 2.2.19 tffsInit ............................................................................................................................ 22 2.2.20 tffsLsdir ......................................................................................................................... 23 2.2.21 tffsMkdir ........................................................................................................................ 24 2.2.22 tffsMonitorAdd ............................................................................................................... 25 2.2.23 tffsMonitorRemove ........................................................................................................ 26 2.2.24 tffsMount ....................................................................................................................... 27 2.2.25 tffsReclaim .................................................................................................................... 28 2.2.26 tffsResize ...................................................................................................................... 29 2.2.27 tffsRewind ..................................................................................................................... 29 2.2.28 tffsTruncate ................................................................................................................... 30 2.2.29 tffsUnmount .................................................................................................................. 30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值