首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在google应用程序引擎上运行的google web工具包中处理cron响应

如何在google应用程序引擎上运行的google web工具包中处理cron响应
EN

Stack Overflow用户
提问于 2012-04-13 20:17:40
回答 1查看 387关注 0票数 1

我已经使用google上的教程创建了一个简单的google webtoolkit项目,并将其部署在google应用程序引擎上。我已经在onModuleLoad()中为客户端的rpc服务操作创建了一个测试按钮:

代码语言:javascript
运行
复制
public void onModuleLoad() {
    // Listen for mouse events on the test Cron button.
    cronTestButton.addClickHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
        calculateStockData();
    }
    });
}

calculateStockData()函数将创建服务并在服务器上执行calculateStockData(回调)函数,该函数将返回一个简单的StockData对象。

代码语言:javascript
运行
复制
private void calculateStockData() {
    // Initialize the service proxy.
    if (stockPriceSvc == null) {
        stockPriceSvc = GWT.create(StockDataService.class);
    }

    // Set up the callback object.
    AsyncCallback<StockData> callback = new AsyncCallback<StockData>() {
        public void onFailure(Throwable caught) {

        }

        public void onSuccess(StockData result) {
            updateTable(result);
        }
    };
    // Make the call to the stock price service.
    stockPriceSvc.calculateStockData(callback);
}

因此,在我的web.xml文件中定义了一个服务:

代码语言:javascript
运行
复制
<servlet>
<servlet-name>stockDataServiceImpl</servlet-name>
    <servlet-class>
    com.google.gwt.sample.stockwatcher.server.stockdata.StockDataServiceImpl
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>stockDataServiceImpl</servlet-name>
<url-pattern>/stockwatcher/stockPrices</url-pattern>
</servlet-mapping>

当我使用cron test按钮执行代码时,我在onSuccess中成功地从服务接收StockData对象作为响应,并在updateTable()函数中更新gwt flexTable。

问题是,我想在gwt小部件上执行相同的更新操作,以响应通过cron作业执行的calculateStockData()服务函数。

因此,在我将以下内容添加到我的cron.xml之后,cron作业可以正确地执行calculateStockData()函数:

代码语言:javascript
运行
复制
<cron>
    <url>/stockwatcher/stockPrices</url>
    <description>Get stock prices every 5 minutes</description>
    <schedule>every 5 minutes synchronized</schedule>
</cron>

但是我不知道如何设置侦听器来处理来自客户端执行cron作业的响应。有人能帮上忙吗?如果需要更多信息,请让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-13 20:41:37

在AppEngine上,您可以使用Channel API将数据从服务器推送到客户端(在客户端代码中使用gwt-gae-channel连接到通道)。

否则(过于简化),您必须将数据存储在服务器上,并让客户端定期轮询新数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10140665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档