2014-08-28 16 views
7

Tôi đang di chuyển từ cầu cảng 7.6 sang cầu cảng 9.2. Tôi thấy rằng giá trị mặc định của idletimeout cho các kết nối cầu nối được giảm 10 lần.Cầu cảng IdleTimeout

Trong cầu cảng-7,6

<Set name="maxIdleTime">300000</Set> 

Trong cầu cảng-9.2:

<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set> 

Tại sao Thì sao?

Và vì điều này tôi liên tục nhận được dưới đây ngoại lệ:

WARN:oejs.HttpChannel:qtp607635164-14195: Commit failed 
java.util.concurrent.TimeoutException: Idle timeout expired: 30000/30000 ms 
at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:156) 
at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266).......... 

Cảm ơn, Anuj

Trả lời

8

đặt này trong thư mục ${jetty.base}/start.ini

http.timeout=300000 

rằng sẽ khôi phục lại sự mong đợi trước đó của bạn.

Nó đã được thay đổi từ mặc định là 5 phút đến 30 giây làm thời gian chờ đơn giản chỉ vì đó là lựa chọn tốt hơn cho phần lớn các trang web.

+0

Tôi thấy trong jetty-http.xml: Đặt tên = "idleTimeout"> Nhưng khi tôi cố gắng đặt thuộc tính java "http.timeout" thành 300000. Nó vẫn cho tôi thấy cùng một lỗi với "30000 (giá trị cũ)". Tại sao nó không được đặt thành giá trị mới (tại sao không thể thay đổi từ thuộc tính java)? –

+1

Đó không phải là java 'System.setProperty', thuộc tính khởi động' jetty-start'/'jetty-xml' của nó. sử dụng 'start.jar --list-config' nắm bắt đầu ra, sau đó chỉnh sửa câu hỏi của bạn để bao gồm đầu ra này. –

+0

FYI, thuộc tính này hiện là 'jetty.http.timeout' – Golly

0

Sử dụng Jetty 9.4 và HTTPS, giải pháp trên không hoạt động. Để khắc phục điều này tôi thấy một khung cảnh không có giấy tờ mà không xuất hiện trong các tập tin .ini:

jetty.ssl.idleTimeout=180000

Thêm vào đó để thiết lập Jetty của bạn. start.d/<whatever>.ini hoặc start.ini.

0

Các thiết lập chính xác là

## Connector idle timeout in milliseconds 
 
# jetty.ssl.idleTimeout=30000

này có thể được tìm thấy trong tập tin ssl.mod.

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