2012-05-30 44 views
6

Để truy cập cơ sở dữ liệu phải chỉ định chi tiết DB trong tệp conf.Điều kiện kết nối với cơ sở dữ liệu

Nếu DB là mọi thứ hoạt động tốt.

Nếu DB xuống Play phát ra một ngoại lệ, điều mà tôi không thể kiểm soát.

Tôi muốn kết nối với DB một cách có điều kiện. Cho phép nói rằng tôi chỉ muốn kết nối với một DB nếu một lá cờ được đặt ở đâu đó. Có cách nào khác để kết nối với DB trong Play?

Cập nhật: Tôi đoán tôi chưa rõ lắm.

Tôi muốn ứng dụng không thành công nếu DB ngừng hoạt động và tìm nạp dữ liệu từ các nguồn thay thế khác. Làm thế nào tôi có thể thực hiện điều này trong PLAY?

+0

Ý anh là gì bằng cách thủ công hơn? Nếu bạn muốn, bạn luôn có thể dự phòng trên Jdbc hoặc bất cứ API cơ sở dữ liệu nào bạn muốn. –

Trả lời

1

Tôi cho rằng bạn muốn khởi động ứng dụng của mình mà không cần DB để phát triển? Bạn có thể vượt qua một tập tin cấu hình thay thế khi khởi động, nơi bạn ví dụ cấu hình một trong bộ nhớ db:

start -Dconfig.resource=development.conf 

chỉnh sửa:

Bạn có thể cấu hình một vài dữ liệu trong cấu hình ứng dụng của bạn và làm cho họ với DB.getDataSource(name: String) hoặc có được một kết nối để nó với DB.getConnection(name: String) hoặc thậm chí chạy một giao dịch với DB.getConnection [A] (tên: string) (f: Kết nối => A)

see: http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.db.DB $

+0

Điều tôi muốn cho Play là dự phòng cho nguồn dữ liệu thay thế (ví dụ: bộ nhớ cache) khi kết nối DB không thành công. – rahul

+0

Tôi không nghĩ rằng đây là trường hợp sử dụng rất phổ biến. Cách khác xung quanh không có vấn đề gì: http://www.playframework.org/documentation/2.0/ScalaCache Bạn nên làm cho cơ sở dữ liệu của mình trở nên có sẵn. – drexin

+0

Vì vậy, Play cung cấp rất ít quyền kiểm soát kết nối DB? – rahul

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