2011-01-17 29 views
7

Thư viện thực sự duy nhất tôi có thể tìm thấy là Apache Commons Transaction Library.Bất cứ ai cũng biết Bản đồ giao dịch chung | Đặt | Danh sách

vấn đề w/Apache Commons Transctions

  • phát hành cuối năm 2008 (3years)
  • không chung
  • sự phụ thuộc vào một logging f/w - Chúng ta cần một logger cho một bản đồ? !
  • i nghĩ tôi thấy ở đâu đó (prolly doco) rằng đó không phải là XA.

Tính năng id như

  • bộ sưu tập có sẵn nên generic
  • thay đổi này sẽ được trộn cho đến khi một rollback (quên tất cả thay đổi) hoặc cam kết.
  • lượt đọc dơ vv cũng phải là một tính năng.
  • chủ đề độc lập, các luồng khác nhau sẽ có thể tham gia vào các tx khác nhau.
  • lượt xem cũng phải là giao dịch - ví dụ: Map.entrySet()
  • XA sẽ là tốt đẹp chỉ để trường hợp bộ sưu tập có thể tham gia vào một cam kết hai giai đoạn.
+1

bạn có thể cho biết chính xác giao dịch bạn muốn xem không. nếu nó có thể bao gồm khóa nó tương đối tầm thường để thực hiện, có một phiên bản miễn phí của bản đồ giao dịch không khóa. Và vấn đề gì là w/generics, bạn cần chạy java1.4 w/mô hình bộ nhớ cũ? – bestsss

+2

@bestsss OP cho biết anh ấy muốn dùng thuốc generic. – biziclop

+0

@mP: Bạn có ý nghĩa gì khi giao dịch? Nếu bạn đang tìm kiếm các ngữ nghĩa ACID đầy đủ, bạn sẽ không may mắn, nhưng nếu bạn cần, ví dụ: nguyên tử hoặc đơn vị làm việc, sau đó nó sẽ dễ dàng hơn. – skaffman

Trả lời

3

Infinispan là một XA đầy đủ kích hoạt bộ nhớ cache mà cũng implements một ConcurrentMap kể từ phiên bản 4.

2

Tôi đoán, hơi bực bội, nhưng rõ ràng, câu trả lời là:

Nếu bạn cần chức năng cơ sở dữ liệu, tại sao không sử dụng một cơ sở dữ liệu?

Nếu bạn sử dụng một giải pháp trong bộ nhớ như Hypersonic (HSQL), bạn hầu như không có thiết lập để làm và bạn có giao dịch và nhiều tính năng khác được xây dựng trong

+2

Becuause tất cả những gì tôi muốn/cần một Bản đồ | Đặt | Danh sách. Tôi không muốn mang HSQL và phải viết adapter cho Map | Đặt | Danh sách đến và đi HSQL. Từ góc độ lý thuyết, trong giải pháp bộ nhớ như HSQL sẽ khá thiếu hiệu quả vì mọi thao tác sẽ dẫn đến nhiều lựa chọn, vv –

0

http://commons.apache.org/transaction/index.html cung cấp giấy gói để lập bản đồ để truy cập giao dịch, trong đó có giao dịch các cấp như serializable.

+0

* không xa, chết? gần 3 năm kể từ khi phát hành –

1

lẽ JDBM phù hợp với hóa đơn của bạn? Nó có triển khai bộ sưu tập dựa trên đĩa giao dịch.

+0

Có phiên bản mới hơn có tên MapDB hiện có. Xem https://github.com/jankotek/mapdb –

Các vấn đề liên quan