2008-09-05 4 views
5

Có ai biết nếu có thể khởi động lại ứng dụng J2EE (từ ứng dụng) không? Nếu vậy, làm thế nào?Bạn có thể khởi động lại ứng dụng j2ee theo cách lập trình không?

Tôi muốn có thể thực hiện theo cách ứng dụng-máy chủ bất khả tri, nếu có thể.

Ứng dụng sẽ chạy trên nhiều máy chủ ứng dụng khác nhau-- về cơ bản mọi thứ mà khách hàng thích.

Nếu không thể thực hiện điều này theo cách ứng dụng-máy chủ bất khả tri, thì có thể nó không thực sự đáng làm cho mục đích của tôi. Tôi luôn có thể hiển thị thông báo cho người dùng biết rằng họ sẽ cần phải khởi động lại ứng dụng theo cách thủ công.

Trả lời

5

Tôi khuyên bạn không nên tìm cách không phụ thuộc vào máy chủ ứng dụng. Và trong khi tôi không giả vờ biết reqs của bạn, tôi có thể đặt câu hỏi một thiết kế yêu cầu ứng dụng tự khởi động lại, ngoài trình cài đặt đang triển khai phiên bản mới. Cuối cùng, tôi sẽ đề nghị rằng cho bất kỳ mục đích nontrivial "bất kỳ" appserver sẽ không hoạt động. Bạn nên có danh sách các máy chủ ứng dụng và phiên bản được hỗ trợ, được ghi trong ghi chú phát hành của mình, vì vậy bạn có thể kiểm tra tất cả những lưu ý đó và không phải lo lắng về việc hỗ trợ khách hàng trên máy chủ/phiên bản không phù hợp. Từ kinh nghiệm, luôn có những khác biệt tinh tế giữa, ví dụ, Apache Tomcat và BEA WebLogic, và những khác biệt này thường không có giấy tờ và khó xác định cho đến khi bạn chạy vào chúng.

3

Hầu hết các máy chủ ứng dụng đều cung cấp giao diện JMX, vì vậy bạn có thể gọi nó.

2

Tôi muốn đề xuất sử dụng servicewrapper để quản lý máy chủ ứng dụng và sau đó sử dụng các phương pháp api của nó để yêu cầu khởi động lại dịch vụ. Sẽ có một số cấu hình liên quan và khó có thể biết được điều này có làm việc trong môi trường phân biệt của bạn hay không, nhưng đó là giải pháp duy nhất mà tôi biết trong đó thậm chí là tương thích hợp lý giữa các máy chủ.