【发布时间】:2012-06-21 14:24:38
【问题描述】:
在我的任务中,我需要将文件保存在磁盘上并更新数据库中的信息。 保存文件和更新数据库中的信息时可能会发生异常。 是否存在一些现成的开源解决方案,或者它需要从头开始编写? 谢谢。
【问题讨论】:
-
您是否已经在使用任何事务协调系统?
标签: java database file transactions system
在我的任务中,我需要将文件保存在磁盘上并更新数据库中的信息。 保存文件和更新数据库中的信息时可能会发生异常。 是否存在一些现成的开源解决方案,或者它需要从头开始编写? 谢谢。
【问题讨论】:
标签: java database file transactions system
XADisk 提供对文件系统的事务访问。从他们的网站:
XADisk(发音为“x-a-disk”)支持对 通过提供 API 来执行文件/目录的现有文件系统 操作。通过简单的步骤,它可以部署在任何 JVM 上,并且可以 然后开始为运行中的各种 Java/JavaEE 应用程序提供服务 任何地方。
【讨论】:
在 Java 中,企业事务管理由 Java EE 中使用的 JTA spec 管理。
JTA 允许创建多个具有不同实现的 TransactionManager(一个用于数据库,一个用于文件)并使它们一起工作以定义交叉事务 我认为这可能是您做自己想做的事情的一种方式
在容器之外,可以集成 JTA。你应该看看Spring 或JBoss 的实现
查看this blog post 了解有关 Spring 和事务使用的更多信息
【讨论】:
Java EE 不直接支持文件系统,但您可以为文件系统实现/搜索资源适配器。
【讨论】: