我的应用程序服务甚至无法启动或响应预热请求,因为Jersey扫描库所用的时间太长了。
我已经为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>Jersey应用程序包含所有类
public Set<Class<?>> getClasses()
{
Set<Class<?>> s = new HashSet<Class<?>>();
s.add(com.livily.rest.visitor.UserRatingUtil.class);
}然而,jersey正在扫描许多提供商
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个错误(甚至对于静态文件)。
我被难住了,任何帮助都将不胜感激。
发布于 2013-03-18 01:48:05
我使用packages属性来命名应该扫描的包,如下所示...
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.foo.myproviders</param-value>
</init-param>发布于 2017-03-25 23:01:21
设置jersey.config.disableAutoDiscovery.详情请参见Configuration Properties。
<init-param>
<param-name>jersey.config.disableAutoDiscovery</param-name>
<param-value>true</param-value>
</init-param>https://stackoverflow.com/questions/15297961
复制相似问题