Browse Source

REPORT-43833 【10.0.14】远程设计数据连接/服务器数据集增加锁定

1. 将本地实现作为默认实现,注册起来,以兼容远程连接老版服务器的情况
2. 之前清理脏数据的逻辑有点问题,修改方式为:为LockItem对象添加一个成员变量birth,代表其创建时间,并且会为每个ClientID在对应的服务中存上一个key=clientID,value=LockItem的键值对,在用户登入时初始化,每隔30s更新创建时间,用户登出时清除,并且在轮询任务中加入检查当前各个LockItem对应的服务下这个键值对里value的birth是否超时了,如果超时,清理脏数据
3. 将之前使用的applyForService修改为applyForCleanableService,便于集群重启时清理服务数据
feature/big-screen
Yvan 4 years ago
parent
commit
e5585ff488
  1. 4
      designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java
  2. 3
      designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java
  3. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java
  4. 2
      designer-base/src/main/java/com/fr/design/editlock/ConnectionLockChangeChecker.java
  5. 2
      designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java
  6. 2
      designer-base/src/main/java/com/fr/design/editlock/EditLockUtils.java
  7. 2
      designer-base/src/main/java/com/fr/design/editlock/ServerTableDataLockChangeChecker.java
  8. 2
      designer-base/src/main/java/com/fr/design/gui/ibutton/UILockButton.java
  9. 2
      designer-base/src/main/java/com/fr/design/gui/imenu/UILockMenuItem.java
  10. 2
      designer-base/src/main/java/com/fr/design/os/impl/DatabaseDialogAction.java

4
designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java

@ -8,16 +8,14 @@ import com.fr.design.dialog.BasicDialog;
import com.fr.design.editlock.ConnectionLockChangeChecker; import com.fr.design.editlock.ConnectionLockChangeChecker;
import com.fr.design.editlock.EditLockUtils; import com.fr.design.editlock.EditLockUtils;
import com.fr.design.gui.NameInspector; import com.fr.design.gui.NameInspector;
import com.fr.design.gui.ibutton.UILockButton;
import com.fr.design.gui.imenu.UILockMenuItem; import com.fr.design.gui.imenu.UILockMenuItem;
import com.fr.design.gui.imenu.UIMenuItem; import com.fr.design.gui.imenu.UIMenuItem;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.stable.StringUtils;
import com.fr.stable.os.support.OSBasedAction; import com.fr.stable.os.support.OSBasedAction;
import com.fr.stable.os.support.OSSupportCenter; import com.fr.stable.os.support.OSSupportCenter;
import com.fr.design.os.impl.DatabaseDialogAction; import com.fr.design.os.impl.DatabaseDialogAction;
import com.fr.file.ConnectionConfig; import com.fr.file.ConnectionConfig;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;

3
designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java

@ -22,11 +22,10 @@ import com.fr.design.mainframe.DesignerFrame;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.file.TableDataConfig; import com.fr.file.TableDataConfig;
import com.fr.stable.StringUtils;
import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.CallBackAdaptor;
import com.fr.transaction.Configurations; import com.fr.transaction.Configurations;
import com.fr.transaction.WorkerFacade; import com.fr.transaction.WorkerFacade;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import java.awt.Dimension; import java.awt.Dimension;

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionComboBoxPanel.java

@ -21,7 +21,7 @@ import com.fr.transaction.Configurations;
import com.fr.transaction.WorkerFacade; import com.fr.transaction.WorkerFacade;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.fr.workspace.server.connection.DBConnectAuth; import com.fr.workspace.server.connection.DBConnectAuth;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import java.awt.Dimension; import java.awt.Dimension;

2
designer-base/src/main/java/com/fr/design/editlock/ConnectionLockChangeChecker.java

@ -1,7 +1,7 @@
package com.fr.design.editlock; package com.fr.design.editlock;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
/** /**
* @author Yvan * @author Yvan

2
designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java

@ -5,7 +5,7 @@ import com.fr.design.ui.util.UIUtil;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.fr.workspace.server.lock.editlock.EditLockOperator; import com.fr.workspace.server.lock.editlock.EditLockOperator;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

2
designer-base/src/main/java/com/fr/design/editlock/EditLockUtils.java

@ -8,7 +8,7 @@ import com.fr.design.mainframe.DesignerContext;
import com.fr.general.IOUtils; import com.fr.general.IOUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.fr.workspace.server.lock.editlock.EditLockOperator; import com.fr.workspace.server.lock.editlock.EditLockOperator;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import javax.swing.Icon; import javax.swing.Icon;

2
designer-base/src/main/java/com/fr/design/editlock/ServerTableDataLockChangeChecker.java

@ -1,6 +1,6 @@
package com.fr.design.editlock; package com.fr.design.editlock;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
/** /**
* @author Yvan * @author Yvan

2
designer-base/src/main/java/com/fr/design/gui/ibutton/UILockButton.java

@ -3,7 +3,7 @@ package com.fr.design.gui.ibutton;
import com.fr.design.editlock.EditLockChangeEvent; import com.fr.design.editlock.EditLockChangeEvent;
import com.fr.design.editlock.EditLockChangeListener; import com.fr.design.editlock.EditLockChangeListener;
import com.fr.design.editlock.EditLockUtils; import com.fr.design.editlock.EditLockUtils;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import javax.swing.Icon; import javax.swing.Icon;

2
designer-base/src/main/java/com/fr/design/gui/imenu/UILockMenuItem.java

@ -2,7 +2,7 @@ package com.fr.design.gui.imenu;
import com.fr.design.editlock.EditLockChangeEvent; import com.fr.design.editlock.EditLockChangeEvent;
import com.fr.design.editlock.EditLockChangeListener; import com.fr.design.editlock.EditLockChangeListener;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import javax.swing.Action; import javax.swing.Action;

2
designer-base/src/main/java/com/fr/design/os/impl/DatabaseDialogAction.java

@ -11,7 +11,7 @@ import com.fr.stable.os.support.OSBasedAction;
import com.fr.transaction.CallBackAdaptor; import com.fr.transaction.CallBackAdaptor;
import com.fr.transaction.Configurations; import com.fr.transaction.Configurations;
import com.fr.transaction.WorkerFacade; import com.fr.transaction.WorkerFacade;
import com.fr.workspace.server.lock.editlock.LockItem; import com.fr.report.LockItem;
import static com.fr.design.actions.server.ConnectionListAction.doWithDatasourceManager; import static com.fr.design.actions.server.ConnectionListAction.doWithDatasourceManager;
/** /**

Loading…
Cancel
Save