From d5914b949b6f2a558e66a1c7ce4a02692da2b102 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Mon, 12 Feb 2018 15:49:52 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30899 --- .../jobengine/zk/model/AsyncBaseModel.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) 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(); + } } } -- 2.54.0