java - Ajustar los tiempos de carga de Jersey sobre App Engine
google-app-engine java-ws (2)
mi servicio de aplicación no puede iniciar ni responder a solicitudes de calentamiento, ya que el tiempo que tarda Jersey en escanear las bibliotecas es desmesurado.
He creado una aplicación y codifiqué todas las rutas de los Recursos para jersey.
<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>
La aplicación Jersey tiene todas las clases
public Set<Class<?>> getClasses()
{
Set<Class<?>> s = new HashSet<Class<?>>();
s.add(com.livily.rest.visitor.UserRatingUtil.class);
}
Sin embargo, Jersey está buscando muchos proveedores
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
Lo hace alrededor de 50-100 veces y luego
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 )
para cada uno
El tiempo total en total es de aproximadamente 4-10 segundos y a appengine no le gusta esto, ya que espera terminar la carga rápidamente; de lo contrario, comienza a dar 500 errores extraños (incluso para archivos estáticos).
Estoy perplejo; cualquier ayuda será apreciada
Utilizo la propiedad de paquetes para nombrar qué paquetes deben escanearse de la siguiente manera ...
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.foo.myproviders</param-value>
</init-param>
Establezca jersey.config.disableAutoDiscovery
. Ver Propiedades de configuración para más detalles.
<init-param>
<param-name>jersey.config.disableAutoDiscovery</param-name>
<param-value>true</param-value>
</init-param>