環境: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數據庫添加一個或多個觸發器?