Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Google云端点-如何创建从cron调用端点的处理程序_Java_Android_Google App Engine_Android Studio_Cron - Fatal编程技术网

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文档中的相同内容。