java - 使用 GWT 监控数据库

标签 java mysql gwt

也许我想太多了,但我想要一些建议。客户可以在我的 GWT 应用程序内下订单,在辅助计算机上,我想监视 eGWT 应用程序内的这些提交,并在每次提交订单时发出警报(前提是用户已确定)。我无法找出最好的方法来做到这一点。如果有任何区别,订单将提交到 mysql 数据库。有人对做什么或尝试什么有建议吗?

最佳答案

有两个选项:1) 轮询或 2) 推送,这将允许您的服务器(在处理 GWT 请求的 servlet 中)通知您(在成功下订单后)。

在1)轮询中,客户端(即您用来监控应用程序的浏览器)将定期调用服务器以查看是否有数据等待。由于许多调用是针对不频繁的数据进行的,因此它可能会更加消耗资源。由于调用之间的延迟,它也可能会变慢。如果只有您的监控客户端正在调用,则不会如此占用资源。

在2)推送中,客户端将发出请求,并且该请求将保持打开状态,直到有数据为止。它的资源密集程度较低并且速度更快。一旦数据返回,客户端就发送另一个请求(这就是长轮询)。或者,流式传输是一种选项,其中服务器不发送完整的请求,而只是继续发送数据。不过,此流选项需要特定于客户端/浏览器的实现。如果只是您进行监控,您应该了解客户端并可以专门为此进行设置。

查看GWT Event Service中的演示项目 这是documentation (user manual)为了它。

另请参阅GWT Server Push FAQ

当然,除了 GWT 事件服务之外,还有其他方法可以做到这一点。只需谷歌“GWT 服务器推送”,您就会找到 comet、DWR 等,如果您使用的是 Google 的 App Engine the Channel API

关于java - 使用 GWT 监控数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538804/

相关文章:

python - 带 python Web 服务器的 Gwt 前端

java - CDI 1.1 : Is @Observes @Initialized(TransactionScoped. 类)应该可以工作吗?

mysql - 如何删除 Doctrine2 中的 QueryBuilder 占位符?

mysql - 如何拥有一个可以独立于 azure 运行的完全独立的应用程序?

php - Mysql 大小写语法

java - 新字符串(字节)在 GWT 客户端中导致 "Maximum call stack size exceeded"

java - GWT中IsSerializable接口(interface)的作用是什么(关于RPC机制)

java - Thrift 服务与 RESTful 服务哪个更好?

java - 如何以可靠的方式写入/更新 Oracle blob?

java - @CreateTimestamp,@UpdateTimestamp。为什么返回的对象的字段 "create"为空?