我已经在我的应用程序引擎项目中遵循了 WarmupServlet 的所有配置步骤,并且我看到它在启动时运行,但我仍然看到我的第一个端点调用作为加载请求,最多需要 25 秒,这是绝对 Not Acceptable 。我需要能够单独预热每个端点,这样就不会出现加载请求。 (显然仅仅设置一个预热 servlet 是不够的。)所以,我的问题是,如何在端点中调用方法,以便端点正确预热以从我的 WarmupServlet 提供服务?我尝试了以下但没有成功:
MyEndpoint me = new MyEndpoint();
me.getMyEntity(1L);
哪里
@ApiMethod(name = "getMyEntity")
public MyEntity getMyEntity(@Named("id") Long id) {
EntityManager mgr = getEntityManager();
MyEntity myEntity = null;
try {
myEntity = mgr.find(MyEntity.class, id);
} finally {
mgr.close();
}
return myEntity;
}
将客户端端点 jar 文件添加为库后,这会从 Java 后端正确预热 MyEndpoint:
NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
Myendpoint.Builder endpointBuilder = new Myendpoint.Builder(
HTTP_TRANSPORT,
JSON_FACTORY,
null);
endpointBuilder.setApplicationName("My App");
Myendpoint endpoint = endpointBuilder.build();
endpoint.getMyEntity(1L).execute();
我是一名优秀的程序员,十分优秀!