2013-03-08 21 views
9

dịch vụ ứng dụng của tôi không thể bắt đầu hoặc phản hồi các yêu cầu khởi động ngay cả khi thời gian thực hiện bởi Jersey để quét các thư viện là không phù hợp.Thời gian tải Tweak của Jersey qua AppEngine

Tôi đã tạo ứng dụng và mã hóa tất cả đường dẫn của Tài nguyên cho áo.

<servlet-name>Jersey REST Service</servlet-name> 
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
<init-param> 
<param-name>javax.ws.rs.Application</param-name> 
<param-value>com.livily.rest.JerseyApplication</param-value> 
</init-param> 

Jersey Ứng dụng có tất cả các lớp

public Set<Class<?>> getClasses() 
{ 
Set<Class<?>> s = new HashSet<Class<?>>(); 
s.add(com.livily.rest.visitor.UserRatingUtil.class); 
} 

Tuy nhiên, jersey là quét cho rất nhiều nhà cung cấp

Mar 8, 2013 3:39:40 PM com.sun.jersey.core.spi.component.ProviderServices getServiceClasses 
CONFIG:  Provider found: class com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderProviders$StringConstructor 

Nó được làm việc đó khoảng 50-100 lần và sau đó

Mar 8, 2013 3:39:41 PM com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller createResource 
FINEST: A new abstract resource created by IntrospectionModeler: AbstractResource("/current-status", - CurrentStatus: 1 constructors, 0 fields, 0 setter methods, 1 res methods, 0 subres methods, 0 subres locators) 

cho mỗi ngày e

Thời gian thực hiện tổng cộng là khoảng 4-10 giây và appengine không thích điều này vì nó dự kiến ​​sẽ kết thúc quá trình tải nhanh; nếu không nó sẽ bắt đầu cho 500 lỗi lạ (cho các tệp tĩnh ngay cả).

Tôi bị bối rối; Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

Không trả lời, nhưng tôi có vấn đề về thời gian tải tương tự với áo và tôi chuyển sang RestExpress (https://github.com/RestExpress/RestExpress), không có trọng lượng J2EE. – Will

+0

Cloudpre - đó không phải là nhận xét hợp lệ – Will

+0

Lipis - Tôi chuyển sang giải thích và ngạc nhiên của tôi, nó thực sự chậm hơn trong thời gian tải. Tôi vẫn nhận được trường hợp ngoại lệ hạn chót. Cách tốt nhất để tìm ra những gì đang mất rất nhiều thời gian khởi động? Tôi đã thay đổi mức logger cho tất cả và tìm thấy nhiều đầu ra. Đây có phải là cách tốt nhất? – cloudpre

Trả lời

1

tôi sử dụng các gói tài sản để tên những gói nên được quét như sau ...

<init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.foo.myproviders</param-value> 
    </init-param> 
+0

Jaytee - quét gói trong thực tế chậm hơn rõ ràng xác định các lớp trong ứng dụng JaxRS. – cloudpre

+0

làm thế nào bạn có thể xác định rõ ràng các lớp trong ứng dụng JaxRS? Tôi nghĩ việc quét gói là khả năng duy nhất –

1

Set jersey.config.disableAutoDiscovery. Xem Configuration Properties để biết chi tiết.

<init-param> 
    <param-name>jersey.config.disableAutoDiscovery</param-name> 
    <param-value>true</param-value> 
</init-param>