Tôi đang sử dụng JDO để lưu trữ dữ liệu trong dự án Play 2.1 Scala. Lý tưởng nhất, tôi muốn mỗi yêu cầu có giao dịch riêng của mình, cam kết khi giao dịch kết thúc và quay lại nếu xảy ra sự cố. Cách tốt nhất tôi có thể tìm ra để làm điều này là với Thành phần hành động, nơi tôi tạo đối tượng giống như Action
giống như bắt đầu giao dịch, bao bọc khối mã trong một Action
, đánh giá nó và lưu kết quả, cam kết hoặc cuộn lại giao dịch và sau đó trả về kết quả.Cách thông thường để xử lý giao dịch trong Play 2 Scala là gì?
Điều duy nhất liên quan đến tôi về điều này là toàn bộ dự án của tôi bây giờ bao gồm DbAction
s thay vì thường xuyên Action
s. Tôi không chắc tại sao điều này liên quan đến tôi, ngoại trừ việc tôi nghĩ rằng phải có một nơi tốt hơn để làm điều này. Tuy nhiên, khi tôi kiểm tra các móc có sẵn trong GlobalSettings
, không có gì trông giống như nó sẽ làm việc.
Tôi có nên chỉ cần đi với DbAction
và dừng tự đoán thứ hai, hoặc có một nơi để treo hành vi này để tôi chỉ có thể sử dụng Action
không?
Todd
Tôi ước gì tôi có thể kiểm tra cả hai câu trả lời, vì cả hai đều có vẻ như một cách để đối phó với vấn đề. Tôi muốn những người khác, những người có chuyên môn hơn, sẽ đưa ra ý kiến của họ. Tôi đoán ưu điểm của Action Composition là tôi có thể tiếp tục và cung cấp một số bit dữ liệu chuẩn mà rất nhiều bộ điều khiển sẽ cần truy cập. Lợi thế của việc sử dụng một bộ lọc (mà tôi đã không nhìn thấy trước đây) là nó tất cả đằng sau hậu trường và bạn đối phó với bất cứ điều gì một cách rõ ràng. – TOB