2012-12-18 24 views
8

Tôi đang sử dụng IntelliJ với Tomcat 6 để chạy một ứng dụng Spring Java EE. Thay vì triển khai chiến tranh đã biên soạn, tôi đã chọn sử dụng triển khai chiến tranh bùng nổ, do đó cho tôi tùy chọn để hotswap một số lớp và JSP.Sự khác nhau giữa "Redeploy" và "Restart Server" trong IntelliJ là gì?

Tuy nhiên, ngoài "Lớp học cập nhật" và "Lớp học và tài nguyên cập nhật", IntelliJ cũng cho phép người dùng "Redeploy" và "Restart Server" trên hành động cập nhật. Sự khác biệt giữa hai lựa chọn này là gì?

Nếu tôi thay đổi chữ ký của phương thức trong lớp, hoặc nếu tôi thực hiện thay đổi trong tệp Springconfig.xml, tôi có cần phải khởi động lại máy chủ hoặc là quá trình triển khai lại đủ không? Tôi đã nhận thấy rằng tôi không thể chỉ đơn giản là hotswap lớp học có chữ ký chức năng hoặc chú thích liên kết với họ đã được sửa đổi.

Trả lời

12

máy chủ Khởi động lại thực hiện chính xác những gì nó nói, và khởi động lại máy chủ tomcat. Chiến tranh của bạn sẽ được xây dựng lại và triển khai khi khởi động máy chủ. Điều này rất hữu ích nếu bạn gặp sự cố khi trao đổi nóng các lớp học của mình.

Redeploy sẽ triển khai lại toàn bộ .war (không khởi động lại máy chủ), trái ngược với việc cố gắng trao đổi nóng các lớp đã thay đổi và các tài nguyên khác.

Xem thêm: http://www.jetbrains.com/idea/webhelp/updating-a-running-java-ee-application.html

Trong câu trả lời cho câu hỏi thứ hai của bạn, một redeploy nên là đủ. Điều đó nói rằng, nó có thể gây rò rỉ bộ nhớ và thường chỉ nhanh hơn một chút so với khởi động lại đầy đủ.

3

Cập nhật tài nguyên. Tất cả các tài nguyên đã thay đổi (nghĩa là, tất cả các thành phần ứng dụng khác với các lớp) sẽ được cập nhật.

Cập nhật lớp và tài nguyên. Tất cả các tài nguyên đã thay đổi sẽ được cập nhật; các lớp đã thay đổi sẽ được biên dịch lại. Trong chế độ gỡ lỗi, các lớp được cập nhật sẽ được hoán đổi nóng. Trong chế độ chạy, IntelliJ IDEA sẽ chỉ cập nhật các lớp đã thay đổi trong thư mục đầu ra. Các lớp đó có thực sự được tải lại trong ứng dụng đang chạy hay không, phụ thuộc vào khả năng của thời gian chạy đang được sử dụng.

Triển khai lại. Ứng dụng sẽ được cập nhật và triển khai lại.

Khởi động lại máy chủ. Máy chủ sẽ được khởi động lại. Phiên bản cập nhật của ứng dụng sẽ được triển khai khi khởi động máy chủ. Đối với các đồ tạo tác được đóng gói, các tùy chọn có sẵn là:

Các lớp trao đổi nóng. Các lớp đã thay đổi sẽ được biên dịch lại và nạp lại khi chạy. Lưu ý rằng tùy chọn này sẽ chỉ hoạt động ở chế độ gỡ lỗi. Triển khai lại. Ứng dụng tổng thể sẽ được xây dựng lại và triển khai lại. Khởi động lại máy chủ. Máy chủ sẽ được khởi động lại. Ứng dụng sẽ được xây dựng lại và triển khai khi khởi động máy chủ.

Từ: http://www.jetbrains.com/idea/webhelp/run-debug-configuration-tomcat.html

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