2013-02-20 34 views
12

Tôi mới sử dụng kiến ​​trúc Jetty và máy khách/máy chủ.Làm cách nào để dừng Jetty

Tôi đã quản lý để viết một máy chủ cầu nối trong nhật thực và nó hoạt động.

Nhưng làm thế nào tôi có thể dừng máy chủ lưu trữ? Tôi nghe nói về stop.jar và start.jar. Tôi có thể tìm thấy nó ở đâu? Nó có được tích hợp trong jetty-all-jar không?

Trả lời

20

Các hiện vật khác nhau jetty-all.jar có thể được sử dụng để sử dụng cầu nối được nhúng. Nếu bạn quyết định sử dụng jar này, bạn phải quản lý khởi động/tắt máy của riêng mình.

Cập nhật: 2015: Do Jetty 9, việc sử dụng jetty-all.jar làm phụ thuộc không còn được dùng nữa. Điều này là do Jetty 9, bây giờ không thể đáp ứng "tất cả" của Jetty trong một jar tổng hợp duy nhất. Có các thành phần của Jetty không thể được đưa vào vì chúng sẽ gây ra vấn đề với jar tổng hợp này. Tương lai của Jetty, với sự hỗ trợ HTTP/2, cũng làm cho jar tổng hợp này ít hữu dụng hơn như một sự phụ thuộc.

tiêu biểu sử dụng Chế độ nhúng

Các chủ đề bắt đầu máy chủ:

Server server = new Server(); 
// various server configuration lines 
// ... 

// Start server (on current thread) 
server.start(); 

// Have current thread wait till server is done running 
server.join(); 

Các chủ đề khác mà nói với máy chủ để shutdown

// Have server stop running 
server.stop(); 

Tại thời điểm này bản gốc chờ đợi của thread trên server.join(); hoàn tất và chuỗi đó tiếp tục chạy.

tiêu chuẩn phân phối Cách sử dụng

Nếu bạn sử dụng phân phối của tiêu chuẩn có sẵn từ download.eclipse.org/jetty/ bạn có start.jar có thể được sử dụng để bắt đầu/dừng cầu cảng riêng của mình.

Sau khi bạn đã giải nén phân phối cầu tàu, bạn sẽ tìm thấy start.jar trong thư mục cao nhất. Điều này có thể được sử dụng như sau.

Quá trình bắt đầu cầu cảng:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret 

Quá trình này mà dừng lại cầu cảng:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop 
+0

Cảm ơn câu trả lời của bạn. Tôi đã sử dụng stop(), nhưng tôi vẫn có thể gửi yêu cầu, vì vậy tôi nghĩ rằng nó không hoạt động. Nhưng tôi nghĩ, vấn đề của tôi là, tôi đã bắt đầu nhiều hơn một ví dụ. Bây giờ tôi có một phương pháp khởi động và khởi động lại, mà tôi có thể gọi trong thiết bị đầu cuối và nó hoạt động. Tôi sẽ phải thêm xác thực vào phương thức bắt đầu và dừng của tôi, nhưng đó là một vấn đề khác. – Salvadora

+0

Hey, bạn có biết nếu có cách khởi động lại cầu tàu mà không cần nối lại chuỗi đã tham gia() không? – lisak

2

Nếu cầu cảng như là plugin maven, bạn ngăn chặn các máy chủ bằng cách nhấn Ctrl + C và báo chí Y để xác nhận chấm dứt.

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