Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有谁知道通用事务映射|集|列表_Java_Collections_Transactions - Fatal编程技术网

Java 有谁知道通用事务映射|集|列表

Java 有谁知道通用事务映射|集|列表,java,collections,transactions,Java,Collections,Transactions,我能找到的唯一真正可用的图书馆是图书馆 带有Apache Commons转换的问题 2008年最后版本(3年) 非泛型 依赖于日志f/w-我们是否需要一个用于地图的日志记录器 我想我在某处(通常是文件)看到它不是XA 功能id像 可用集合应为通用集合 在回滚(忘记所有更改)或提交之前,应该对更改进行批处理 脏读等也应该是一个功能 线程独立,不同的线程应该能够参与不同的txs 视图也应该是事务视图-例如Map.entrySet() XA很好,这样集合实例就可以参与两阶段提交 我想,有点令人沮

我能找到的唯一真正可用的图书馆是图书馆

带有Apache Commons转换的问题

  • 2008年最后版本(3年)
  • 非泛型
  • 依赖于日志f/w-我们是否需要一个用于地图的日志记录器
  • 我想我在某处(通常是文件)看到它不是XA
功能id像

  • 可用集合应为通用集合
  • 在回滚(忘记所有更改)或提交之前,应该对更改进行批处理
  • 脏读等也应该是一个功能
  • 线程独立,不同的线程应该能够参与不同的txs
  • 视图也应该是事务视图-例如Map.entrySet()
  • XA很好,这样集合实例就可以参与两阶段提交

我想,有点令人沮丧但显而易见的答案是:

如果需要数据库功能,为什么不使用数据库


如果您使用诸如HyperSonic(HSQL)之类的内存内解决方案,您几乎无需进行设置,您拥有事务和许多其他内置功能,这些功能为事务访问提供了映射包装,包括事务级别,如可序列化。

Infinispan是一个支持XA的完整缓存,自版本4以来也是一个ConcurrentMap。

可能适合您的要求?它有事务性磁盘备份的收集实现。

您能告诉我您希望看到的事务性收集的具体内容吗。如果它可以包含锁,那么实现起来就相对简单,那么事务映射也有一个无锁版本。有了泛型,你需要运行java1.4和旧的内存模型吗?@bestsss OP说他想要泛型。我开始怀疑内存中的数据库是否是一个更简单的答案。你为什么需要这个?我很想知道需要它的场景是什么。bestsss:in-mem-DB也可以轻松地提供对许多事物的O(1)访问。然而,正如您所暗示的,您的常量
k
可能更大。@skaffman所说的事务,我的意思是,在发送时会提交更改,如果发送失败会回滚,等等,ACID的ID位当然不会是htere,因为它只是一个内存映射。因为我想要/需要一个映射|集|列表。我不想引入HSQL,必须为Map | Set | List和HSQL编写适配器。从理论上看,像HSQL这样的内存解决方案将是非常无效的,因为所有操作都将导致许多选择等。*不是xa,死了?自发布以来将近3年,现在有一个名为MapDB的更新版本可用。签出Infinispan可以用作非缓存吗?我的意思是保证不丢弃旧元素。