2013-03-08 18 views
9

üzerindeki küçük yükleme süreleri, Jersey'nin kütüphaneleri taramak için kullandığı süre, ısınma isteklerini bile başlatamaz veya bunlara yanıt veremez.Jersey'in AppEngine

Uygulamayı oluşturdum ve jersey için Kaynakların tüm yollarını kodladım.

<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 Uygulama

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

O bunu yaklaşık 50-100 kez ve sonra

yapıyor

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 

, jersey sağlayıcılarının lot için tarıyor tüm sınıfları vardır Her biri için

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) 

Toplam olarak alınan süre yaklaşık 4-10 sn'dir ve appengine, yüklemeyi hızlı bir şekilde tamamlamayı beklediğinden bunun hoşuna gitmemektedir; aksi halde garip 500 hatalar vermeye başlar (hatta statik dosyalar için).

Stumped; herhangi bir yardım takdir edilecektir.

+0

Sorumun cevabı değil ama mayo ile benzer yükleme süresi sorunları vardı ve ben J2EE ağırlığının herhangi yoktur RestExpress (https://github.com/RestExpress/RestExpress), taşındı. – Will

+0

Cloudpre - geçerli bir yorum yok – Will

+0

Lipis - Restexpress'e taşındım ve sürprizime göre, aslında yükleme süresinde daha yavaştı. Hala son tarih istisnaları alıyorum. Başlangıç ​​zamanının ne aldığını anlamanın en iyi yolu nedir? Logger seviyesini herkese değiştirdim ve çok fazla çıktı buldum. En iyi yol bu mu? – cloudpre

cevap

1

Ben

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

Jaytee - paket taraması aslında JaxRS Uygulamasındaki sınıfları tanımlamaktan daha yavaştır. – cloudpre

+0

JaxRS Uygulamasındaki sınıfları nasıl tanımlayabilirsiniz? Paket taramanın tek olasılık olduğunu düşündüm. –

1

Seti jersey.config.disableAutoDiscovery ... aşağıdaki gibi paketler taranmalıdır isme paketleri özelliğini kullanın. Detaylar için bkz. Configuration Properties.

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