2012-03-13 3 views
5

Tôi cũng đã đăng chéo trong số Javaranch. Tôi đã làm sự tích cực của mình bằng cách thực hiện tìm kiếm của Google. Tôi không tìm thấy câu trả lời nào.Grails - OSIV - Bộ lọc "Mở phiên trong chế độ xem" cho Tài nguyên tĩnh

Chúng tôi có một ứng dụng web cơ sở dịch vụ REST, mà phụ trợ được triển khai bằng Groovy và Grails (1.3.7 với Groovy 1.7.x). Tôi hiểu cách Open Session In View hoạt động nói chung cho Hibernate, và khi cấu hình Hibernate với Spring, chúng ta có thể chỉ định bộ URL nào, OSIV sẽ hoạt động trong cấu hình bộ lọc.

Vấn đề là tôi không thể tìm thấy cách loại trừ một tập hợp các URL khỏi phạm vi của bộ lọc OSIV (như khớp * .js, * .gif, v.v.). Tôi tìm thấy từ nhật ký Hibernate, ngay cả đối với yêu cầu tập tin Javascript, Open Session In View sẽ khởi động và mở một phiên và đóng nó lại.

Xin cảm ơn trước.

Trả lời

7

Grails có hai cách triển khai mẫu OSIV, GrailsOpenSessionInViewFilterGrailsOpenSessionInViewInterceptor. Bộ lọc đã được sử dụng trong các phiên bản trước của Grails nhưng máy đánh chặn bây giờ được sử dụng (ít nhất là trong 1,2, 1,3 và 2,0). Vì nó là WebRequestInterceptor, nó chỉ áp dụng cho các yêu cầu bộ điều khiển và không yêu cầu tĩnh cho JavaScript, CSS, hình ảnh, v.v. Vì vậy, không có mối quan tâm về hiệu suất để tạo và ràng buộc không cần thiết một phiên Hibernate cho các yêu cầu tệp đơn giản.

+0

Cảm ơn bạn đã trả lời! - Susanta – cspider

+0

Hãy chấp nhận nó như là câu trả lời đúng :) –