环境:Linux上的Java EE 7,Glassfish 4,MySQL 5.7和512MB RAM的ARM7服务器(应用程序必须节省内存!) 应用程序:数据库驱动使用默认浏览器向运行Android 4.0的多个Android平板电脑客户端提供Java Web应用程序。如何更改数据库会导致更新Web客户端的视图
客户端将有两种基本的用户类型:生产者和消费者。生产者生成显示在消费者浏览器上的任务。当生产者创建新的任务时,如果他们的TaskList(viewTaskList.jsp)以“PENDING”状态显示,它应立即显示在所有登录的消费者浏览器中。消费者从TaskList中选择任务并处理它们(doTask.jsp)。当消费者选择“任务”时,应将其标记为所有其他TaskList显示中的“WORKING”,且不可选择。如果打开任务的消费者点击取消按钮,则任务状态应该在所有任务列表中更改为“待办事项”。当一个任务完成时,它被标记为这样,并且应该从显示TaskList视图的任何消费者的浏览器中消失。
Task entity class: (fragment)
public class Task {
private int taskId;
private String taskDescription;
private boolean isComplete;
private String completerId; // the userId of the Consumer who marked this as Complete (foreign key);
private boolean isLocked;
private String lockId; // the userId of a Consumer who has this task open;
.
.
.
}
我在学习做的Java EE编程,并在JPA和JSF不精通呢,但了解基本概念。从我在这里和其他地方看到的,我认为Comet和/或JQuery/AJAX可能会帮助我解决这个问题,但我不知道如何使用这两者中的任何一个。我需要有关如何让数据库更新导致消费者显示更改的基本指导,而不需要消费者请求更改。解决方案的一部分是向MySQL数据库添加一个或多个触发器?