调整新泽西加载时间超过AppEngine上(Tweak loading times of Jerse

2019-08-17 09:55发布

我的应用程序服务无法启动或响应甚至预热请求由泽西岛所花费的时间来扫描库是过度的。

我已创建的应用程序和硬编码资源的所有路径的球衣。

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

泽西应用包括所有类

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

然而,球衣是扫描很多供应商

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

它是做什么的约50-100倍,然后

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 )

每一个人

在总花费的时间大约是4-10秒和AppEngine上不喜欢这个,因为它预计很快收官负荷; 否则它开始给奇怪的500错误(甚至是静态文件)。

我难倒; 任何帮助将不胜感激。

Answer 1:

我用的是包属性到如下的包应扫描名称...

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


Answer 2:

设置jersey.config.disableAutoDiscovery 。 请参阅配置属性的详细信息。

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


文章来源: Tweak loading times of Jersey over AppEngine