From: Vásáry Dániel Date: Mon, 12 Feb 2018 15:49:52 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=d5914b949b6f2a558e66a1c7ce4a02692da2b102;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30899 --- diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/AsyncBaseModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/AsyncBaseModel.java index 4cb6a5fc..7b1596eb 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/AsyncBaseModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/AsyncBaseModel.java @@ -1,16 +1,15 @@ package user.jobengine.zk.model; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.LinkedBlockingQueue; import org.zkoss.bind.BindUtils; import org.zkoss.bind.annotation.Command; public class AsyncBaseModel extends BaseModel { - private BlockingQueue uiTasks = new LinkedBlockingQueue<>(); + private List uiTasks = new ArrayList<>(); protected void NotifyChange(String... names) { List nameList = Arrays.asList(names); @@ -18,18 +17,19 @@ public class AsyncBaseModel extends BaseModel { } protected void registerTask(UITask task) { - try { - uiTasks.put(task); - } catch (InterruptedException e) { + synchronized (uiTasks) { + uiTasks.add(task); } } @Command public void uiTick() { - UITask task = uiTasks.poll(); - if (task == null) - return; - task.execute(); + synchronized (uiTasks) { + for (UITask task : uiTasks) { + task.execute(); + } + uiTasks.clear(); + } } }