2009-03-30 45 views
7

Nguồn dữ liệu oracle sẽ trả về kết nối rỗng khi không có yêu cầu kết nối nào hơn. Tôi có bộ đệm ẩn được kích hoạt. Thông số kỹ thuật oracle nói null được trả về chỉ là ConnectionWaitTimeout được thiết lập. Tôi không có giá trị được đặt cho ConnectionWaitTimeout trong thuộc tính bộ nhớ cache.Nguồn dữ liệu Oracle trả lại kết nối rỗng

Đây là những gì spec nói về

ConnectionWaitTimeout

Xác định hành vi bộ nhớ cache khi một kết nối được yêu cầu và có được đã MaxLimit kết nối hoạt động. Nếu ConnectionWaitTimeout lớn hơn 0, thì mỗi yêu cầu kết nối sẽ đợi số giây được chỉ định hoặc cho đến khi kết nối được trả về bộ đệm. Nếu không có kết nối nào được trả về bộ đệm trước khi hết thời gian chờ, thì yêu cầu kết nối trả về null.

Mặc định: 0 (không thời gian chờ)

possiblies khác nơi Datasource có thể trở lại một kết nối vô là gì?

Trả lời

2

Tôi nghĩ mặc định có thể khác nhau tùy thuộc vào phiên bản Oracle bạn đang sử dụng. Một số thông tin là mâu thuẫn, ví dụ: Oracles "Optimizing Connection Pool Behavior" ngụ ý mặc định là 3 giây (11g?) Wheras các nguồn khác nói rằng nó bằng không như đã đề cập trong câu hỏi.

Tôi khuyên bạn nên đặt rõ ràng là không và xem liệu hành vi đó có còn tự biểu hiện hay không.

0

Tôi đã thử đặt giá trị này. Mặc dù các tài liệu nói mặc định là không có thời gian, khi tôi không thiết lập thuộc tính này, nguồn dữ liệu đã trả về giá trị rỗng. Khi tôi xác định rõ ràng một giá trị kết nối đang đợi, ngay cả giá trị 0 đã cho tôi một kết nối rỗng.

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