Thay đổi JSP refresh timer
Một giải pháp giữa các ý kiến nói với WebLogic để kiểm tra độ tươi JSP thường xuyên hơn bởi một trong hai thiết lập các giá trị trong web.xml
của bạn hoặc trong weblogic.xml
của bạn.
Trong phương thức sản xuất, WebLogic sẽ không kiểm tra các phiên bản JSP mới (giá trị mặc định: -1) trong khi nó mỗi giây trong chế độ phát triển (giá trị mặc định : 1).
Lựa chọn giữa sửa đổi web.xml
hoặc weblogic.xml
tùy thuộc vào bạn, về máy chủ ứng dụng mà bạn nhắm mục tiêu, chỉ là WebLogic hay không.
Nếu bạn muốn sửa đổi web.xml
, sau đó thiết lập giá trị cho các tham số bối cảnh weblogic.jsp.pageCheckSeconds
như sau:
<context-param>
<param-name>weblogic.jsp.pageCheckSeconds</param-name>
<param-value>0</param-value>
</context-param>
Nếu bạn muốn sửa đổi weblogic.xml
, sau đó thiết lập giá trị cho tham số page-check-seconds
trong phần jsp-descriptor
. Đây là đoạn trích có liên quan từ tài liệu:
Đặt khoảng thời gian, tính bằng giây, tại đó Máy chủ WebLogic kiểm tra xem tệp JSP đã thay đổi và cần biên dịch lại chưa. Phụ thuộc cũng được kiểm tra và đệ quy tải lại nếu thay đổi. Giá trị -1 nghĩa là không bao giờ kiểm tra các trang. Đây là giá trị mặc định trong môi trường sản xuất. Giá trị 0 có nghĩa là luôn kiểm tra các trang. Giá trị 1 có nghĩa là kiểm tra các trang mỗi giây. Đây là giá trị mặc định trong môi trường phát triển. Trong môi trường sản xuất, nơi thay đổi đối với JSP rất hiếm, hãy xem xét thay đổi giá trị của pageCheckSeconds thành 60 trở lên, theo yêu cầu điều chỉnh của bạn.
Nguồn: http://docs.oracle.com/cd/E21764_01/web.1111/e13712/weblogic_xml.htm#i1038490
Buộc tái triển khai
Khởi động lại WebLogic máy chủ không buộc nó để triển khai một ứng dụng Web (đặc biệt là trong chế độ sản xuất).
Giải pháp kích hoạt một cách rõ ràng "triển khai lại" hoạt động vòng đời sử dụng dòng lệnh như thế này:
java -cp weblogic.jar weblogic.Deployer -redeploy [-remote -adminurl t3://hostname:hostport] -username login -password password -name webapp.name [-upload -source webapp.war]
Lưu ý rằng -redeploy
là CÁCH an toàn hơn nhiều so với -update
, đặc biệt. với Weblogic < = 10.x
Giữ khối đầu tiên giữa [], chỉ khi máy chủ không phải là cục bộ. Tháo [] trong trường hợp đó.
Giữ khối thứ hai giữa [], nếu bạn muốn kết hợp tệp WAR tải lên trong cùng một bước, đó là cách đơn giản hơn. Tháo [] trong trường hợp đó.
Tôi gặp vấn đề tương tự. Các trang kiểm tra-giây hoạt động tốt khi sửa đổi các tệp JSP được triển khai trực tiếp. Trong kịch bản được mô tả bởi @BestPractices, mặc dù máy chủ bị tắt và sau đó các tệp được triển khai, weblogic dường như không nhận thấy rằng tất cả/một số tệp đã thay đổi và sử dụng các lớp được tạo thay thế. –