Chúng tôi chỉ phát hiện ra rằng mỗi khi chúng tôi khởi động lại JBoss, tất cả các máy khách Java Web Start của chúng tôi đều tải xuống tất cả các lọ của chúng, thay vì sử dụng lại các lọ đã lưu trong bộ nhớ cache, ngay cả khi ứng dụng của chúng tôi không thay đổi.Tại sao Java Web Bắt đầu tải lại các lọ từ JBoss?
Từ những gì tôi đã thấy trên web, Java Web Start thực hiện HEAD HTTP để quyết định có tải xuống một cái bình hay không. Vì vậy, tôi chạy HTTP HEAD trên tất cả các lọ trong ứng dụng của chúng tôi, và phát hiện ra rằng sau khi khởi động lại JBoss, thời gian sửa đổi của tất cả các lọ đã thay đổi!
Tại sao điều này và cách khắc phục? Các lọ bên trong kho lưu trữ ứng dụng của tôi không hề thay đổi. Như gần như tôi có thể nói, JBoss sử dụng thời gian khởi động hoặc thời gian triển khai như thời gian sửa đổi. Điều này sẽ hoàn toàn ngắn mạch Java Web Start khả năng sử dụng các lọ được lưu trong bộ nhớ cache từ các lần chạy trước, nếu tôi hiểu chính xác.
Chúng tôi sử dụng JBoss 6, nếu đó là vấn đề. Trước đây chúng tôi sử dụng JBoss 4. Tôi muốn kiểm tra xem chúng tôi đã có vấn đề theo JBoss 4, nhưng bây giờ chúng tôi có rất nhiều phụ thuộc vào JBoss mới hơn rằng nó sẽ mất một số công việc để làm cho thử nghiệm đó xảy ra.
Bạn đã thử thiết lập Tomcat bên ngoài JBoss và đưa ứng dụng webstart của bạn lên đó chưa? Chuyện gì xảy ra? Liệu nó báo cáo thời gian khác nhau sau khi bạn tắt tomcat? – chubbsondubs