java - Java Web 应用程序的推送通知

标签 java jsp spring-mvc push-notification

目前我正在开发一个使用 Spring 3.1 和 Hibernate 4 的网络应用程序。

根据要求,我想在 JSP 页面上实现像 Facebook 那样的推送通知。如果您有任何建议,请同时列出兼容的浏览器及其版本。

最佳答案

如果您可以升级到或正在使用 JDK 7,我建议使用 Vert.x Vertx.io ,在客户端使用 Sockjs。 Vert.x 有一个完整的 sockjs 服务器实现,我会尝试提出一种实现方式,其余的请看文档

服务器实现可能是这样的

    Vertx vertx = Vertx.newVertx();
    EventBus eventBus = vertx.eventBus()
    HttpServer server = vertx.createHttpServer();
    JsonArray permitted = new JsonArray();
    permitted.add(new JsonObject());
    SockJSServer sockJSServer = new DefaultSockJSServer(vertx, server);
    sockJSServer.bridge(new JsonObject().putString("prefix", "/pusher"), permitted, permitted);
    server.listen(<some port>);

在客户端注册一个像这样的处理程序来加载文档

 function () {
if (!eb) {
  eb = new vertx.EventBus("http://<your_host>:<your_port>/pusher");

  eb.onopen = function() {
   console.log("connected")
  };

  eb.onclose = function() {
    console.log("Not connected");
    eb = null;
  };
}

}

然后您可以将处理程序注册到任何地址 - 这里的地址可以是任何地址,假设它是“AwesomeNotifications”

function subscribe(address) {
if (eb) {
  eb.registerHandler(address, function(msg, replyTo) {
  console.log("Reply recieved")
          });

}
}

完成所有设置后,您现在可以使用我们之前创建的事件总线将任何数据从服务器推送到该地址

eventBus.publish("AwesomeNotifications", new JsonObject(<some hashmap to serialize>))

希望对你有帮助

关于java - Java Web 应用程序的推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474273/

相关文章:

java - NoSuchMethod 错误 Java 但方法存在

java - 从当前 URL 获取 HTTP 或 HTTPS

jsp - FF , Tomcat 中的 session 失效

java - 尝试从 AngularJS 到 Spring MVC 使用 $http.post 服务时出现错误 415 - Maven

java - Spring MVC 中的 ModelMap 与模型

java - 使用 dao 时初始化对象的最佳方法

java - 无法生成 DataBindingClass(Impl 会生成)

javascript - 使用javascript在屏幕中间显示弹出窗口

java - jsp中如何获取数组值

json - 如何向我的 Spring MVC REST 服务添加错误?