Java Google云端点-如何创建从cron调用端点的处理程序
更新的问题Java Google云端点-如何创建从cron调用端点的处理程序,java,android,google-app-engine,android-studio,cron,Java,Android,Google App Engine,Android Studio,Cron,更新的问题 我找不到任何通过处理程序从cron调用端点的示例或教程。 没有任何后端服务经验 旧的描述和代码 我通过Android Studio在AppEngine上为我的Android应用程序部署了一个GCE模块。 我能够通过Android应用程序中的端点客户端存根创建和获取信息。 对于清理app engine上的数据,有一种简单的方法可以比较和删除任何超过5天的数据。 如果通过java代码调用,该方法运行良好 我创建的cron有一个问题。我不确定它是在运行还是在我的端点类中调用了正确的方法。需
我找不到任何通过处理程序从cron调用端点的示例或教程。
没有任何后端服务经验 旧的描述和代码
我通过Android Studio在AppEngine上为我的Android应用程序部署了一个GCE模块。 我能够通过Android应用程序中的端点客户端存根创建和获取信息。 对于清理app engine上的数据,有一种简单的方法可以比较和删除任何超过5天的数据。
如果通过java代码调用,该方法运行良好 我创建的cron有一个问题。我不确定它是在运行还是在我的端点类中调用了正确的方法。需要帮助自动运行它 我有不同的方法在cron中声明方法名和路径以及url条目,但还没有成功 我不清楚stackoverflow的其他解决方案 端点类方法
@ApiMethod(name = "cron.cleanData", path="cron/cleanData")
public void cleanData(@Nullable @Named("cursor") String cursorString,
@Nullable @Named("count") Integer count) throws NotFoundException {
System.out.print("cleanData... called");
CollectionResponse<Data> listData = listData(cursorString, count);
for (Data data : listData.getItems()) {
System.out.print("for..");
if(isOld(data.getTime(), data.getDate())){
removeData(data.getId());
System.out.print("removed.."+data.getId());
}
}
}
@ApiMethod(name=“cron.cleanData”,path=“cron/cleanData”)
public void cleanData(@Nullable@Named(“cursor”)字符串cursorString,
@Nullable@Named(“count”)整数计数)引发NotFoundException{
系统输出打印(“cleanData…调用”);
CollectionResponse listData=listData(游标字符串,计数);
对于(数据:listData.getItems()){
系统输出打印(“用于…”);
if(isOld(data.getTime(),data.getDate()){
removeData(data.getId());
System.out.print(“删除..”+data.getId());
}
}
}
WEB-INF中的cron.xml
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/cleanData</url>
<description>Clean Storage</description>
<schedule>every 1 minutes</schedule>
<timezone>America/Hawaii</timezone>
</cron>
</cronentries>
/清洁数据
清洁储存
每1分钟
美国/夏威夷
web.xml
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<servlet>
<servlet-name>SystemServiceServlet</servlet-name>
<servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value><MY_PACKAGE>.MyEndpoint</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SystemServiceServlet</servlet-name>
<url-pattern>/_ah/spi/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>ObjectifyFilter</filter-name>
<filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ObjectifyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>cron</web-resource-name>
<url-pattern>/cron/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
SystemServiceServlet
com.google.api.server.spi.SystemServiceServlet
服务
MyEndpoint先生
SystemServiceServlet
/_ah/spi/*
目标过滤器
com.googlecode.objectify.ObjectifyFilter
目标过滤器
/*
index.html
克朗
/克朗/*
管理
不能从cron作业调用Google云端点。相反,你
应该向目标发出请求,该目标由
在应用程序的配置文件或调度文件中指定。那个
处理程序然后调用适当的端点类和方法
你可以找到更多的细节
不能从cron作业调用Google云端点。相反,你
应该向目标发出请求,该目标由
在应用程序的配置文件或调度文件中指定。那个
处理程序然后调用适当的端点类和方法
您可以找到更多详细信息。我不知道后端:(.你能和我分享一些例子吗?只需将你的cron作业创建为一个普通的Servlet。查看教程。无论如何,如果你没有服务器端开发经验,你将不得不投入一些时间。类似的问题可能会有所帮助。我已经看到了。我不清楚。在部署时,我这方面有什么问题吗?我使用的是Android Studio用于部署。但目前正在我的计算机上使用Build and run操作进行本地测试。没有服务器方面的经验:(我不知道后端:(.你能和我分享一些例子吗?只需将你的cron作业创建为一个普通的Servlet。查看教程。无论如何,如果你没有服务器端开发经验,你将不得不投入一些时间。类似的问题可能会有所帮助。我已经看到了。我不清楚。在部署时,我这方面有什么问题吗?我使用的是Android Studio用于部署。但当前正在我的计算机上使用“构建并运行”操作进行本地测试。没有服务器方面的经验:(可能重复的是我不懂答案,你能分享代码示例吗?有更新吗?甚至我不知道怎么做。我到处搜索,他们所做的就是回复GCE文档中的相同内容。可能重复的是我不懂答案,你能分享代码示例吗?有更新吗?甚至我不知道怎么做。我搜索ed无处不在,他们所做的只是回复GCE文档中的相同内容。