Web应用程序需要记住对象状态 - 需要解决方案的建议

时间:2012-06-28 12:41:28

标签: java javascript object servlets state

我正在构建一个软件系统,它使用Javascript来显示服务器任务的可编辑队列(比如程序xyz一次在服务器上做一件事)。

  1. 浏览器UI(O-O JavaScript和JQuery)
  2. AJAX
  3. [缺少相关技术]
  4. Linux PHP(触发应用程序运行的脚本)
  5. 现在UI QUeue工作得很好,但是如果有人关闭他们的浏览器,JavaScript队列UI应用程序的状态就会丢失(我的linux盒子上的程序应该执行的所有任务)

    那么如何实现呢?我是否需要一个在我的RedHat服务器上作为服务运行的Web应用程序,与我编写的面向对象的JavaScript应用程序进行通信。服务器任务已经通过PHP被征用。

    PHP可以实现吗?我想在此时避免使用数据库。 Java / Tomcat解决方案也让人想起。你怎么看?感谢您阅读此内容。

1 个答案:

答案 0 :(得分:0)

您需要将服务器上的队列状态至少保留在内存中,最好也保留在磁盘上。要在内存中表示,请创建两个类QueueQueueEntry,前者由后者组成。如果只持续存储器,则在服务器进程重新启动时将丢失队列状态 - 如果要通过重新启动来维护状态,请写入磁盘。假设Java,必须使用Serializable创建这些类ReadWriteLock并写出磁盘以避免争用。

使用数据库反映更新

不是序列化,而是有一个队列表条目。添加一列以指示订单 - 很可能是插入日期。