Skip to content

Commit 4b8c151

Browse files
committed
优化Zookeeper工具。
1 parent 886ed6e commit 4b8c151

6 files changed

Lines changed: 38 additions & 30 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ xJavaFxTool是使用javaFx开发的实用小工具集,目前项目刚刚建立
109109

110110
39、DecompilerWxApkgTool:微信小程序反编译工具(一键反编译微信小程序包);
111111

112+
40、ZookeeperTool:Zookeeper工具(方便对zookeeper的一系列操作,包括新增、修改、删除(包括子文件)、重命名、复制、添加变更通知);
113+
112114
项目开发中,以后会陆续添加新工具,欢迎大家参与其中,多提提意见,谢谢。
113115

114116

@@ -217,3 +219,4 @@ xJavaFxTool
217219
![输入图片说明](https://git.oschina.net/xwintop/xJavaFxTool/raw/master/images/图片转码工具.png "图片转码工具.png")
218220
![输入图片说明](https://git.oschina.net/xwintop/xJavaFxTool/raw/master/images/Cmd调试工具.png "Cmd调试工具.png")
219221
![输入图片说明](https://git.oschina.net/xwintop/xJavaFxTool/raw/master/images/短信群发工具.png "短信群发工具.png")
222+
![输入图片说明](https://git.oschina.net/xwintop/xJavaFxTool/raw/master/images/zookeeper工具.png "zookeeper工具.png")

images/zookeeper工具.png

38 KB
Loading

src/main/java/com/xwintop/xJavaFxTool/controller/debugTools/ZookeeperToolController.java

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.xwintop.xJavaFxTool.controller.debugTools;
22

3-
import com.easipass.gateway.entity.TaskConfig;
43
import com.xwintop.xJavaFxTool.services.debugTools.ZookeeperToolService;
4+
import com.xwintop.xJavaFxTool.utils.JavaFxViewUtil;
55
import com.xwintop.xJavaFxTool.view.debugTools.ZookeeperToolView;
66
import javafx.event.ActionEvent;
77
import javafx.fxml.FXML;
@@ -12,10 +12,8 @@
1212
import lombok.Getter;
1313
import lombok.Setter;
1414
import lombok.extern.slf4j.Slf4j;
15-
import org.apache.commons.lang3.time.DateFormatUtils;
1615

1716
import java.net.URL;
18-
import java.util.Date;
1917
import java.util.ResourceBundle;
2018

2119
/**
@@ -39,6 +37,7 @@ public void initialize(URL location, ResourceBundle resources) {
3937
}
4038

4139
private void initView() {
40+
JavaFxViewUtil.setSpinnerValueFactory(connectionTimeoutSpinner, 0, Integer.MAX_VALUE, 5000);
4241
TreeItem<String> treeItem = new TreeItem<String>("/");
4342
nodeTreeView.setRoot(treeItem);
4443
}
@@ -67,6 +66,11 @@ private void initEvent() {
6766
});
6867
});
6968
ContextMenu contextMenu = new ContextMenu(menu_UnfoldAll, menu_FoldAll);
69+
MenuItem menu_AddNode = new MenuItem("添加子节点");
70+
menu_AddNode.setOnAction(event1 -> {
71+
zookeeperToolService.addNodeOnAction();
72+
});
73+
contextMenu.getItems().add(menu_AddNode);
7074
MenuItem menu_Rename = new MenuItem("重命名节点");
7175
menu_Rename.setOnAction(event1 -> {
7276
zookeeperToolService.renameNodeOnAction(false);
@@ -77,11 +81,6 @@ private void initEvent() {
7781
zookeeperToolService.renameNodeOnAction(true);
7882
});
7983
contextMenu.getItems().add(menu_Copy);
80-
MenuItem menu_AddNode = new MenuItem("添加子节点");
81-
menu_AddNode.setOnAction(event1 -> {
82-
zookeeperToolService.addNodeOnAction();
83-
});
84-
contextMenu.getItems().add(menu_AddNode);
8584
MenuItem menu_RemoveNode = new MenuItem("删除");
8685
menu_RemoveNode.setOnAction(event1 -> {
8786
zookeeperToolService.deleteNodeOnAction();
@@ -120,16 +119,6 @@ private void refreshOnAction(ActionEvent event) {
120119
zookeeperToolService.refreshOnAction();
121120
}
122121

123-
@FXML
124-
private void deleteNodeOnAction(ActionEvent event) {
125-
zookeeperToolService.deleteNodeOnAction();
126-
}
127-
128-
@FXML
129-
private void addNodeOnAction(ActionEvent event) {
130-
zookeeperToolService.addNodeOnAction();
131-
}
132-
133122
@FXML
134123
private void nodeDataSaveOnAction(ActionEvent event) {
135124
zookeeperToolService.nodeDataSaveOnAction();

src/main/java/com/xwintop/xJavaFxTool/services/debugTools/ZookeeperToolService.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ public ZookeeperToolService(ZookeeperToolController zookeeperToolController) {
4848

4949
public void connectOnAction() {
5050
if (zkClient == null) {
51-
zkClient = new ZkClient(zookeeperToolController.getZkServersTextField().getText().trim());
51+
try {
52+
zkClient = new ZkClient(zookeeperToolController.getZkServersTextField().getText().trim(), zookeeperToolController.getConnectionTimeoutSpinner().getValue());
53+
} catch (Exception e) {
54+
TooltipUtil.showToast("连接失败!!!");
55+
zkClient = null;
56+
}
5257
zkClient.setZkSerializer(new ZkSerializer() {
5358
@Override
5459
public byte[] serialize(Object data) throws ZkMarshallingError {
@@ -68,6 +73,22 @@ public Object deserialize(byte[] bytes) throws ZkMarshallingError {
6873
}
6974
}
7075
});
76+
// zkClient.subscribeStateChanges(new IZkStateListener() {
77+
// @Override
78+
// public void handleStateChanged(Watcher.Event.KeeperState state) throws Exception {
79+
// log.info("连接状态", state);
80+
// }
81+
//
82+
// @Override
83+
// public void handleNewSession() throws Exception {
84+
// log.info("handleNewSession");
85+
// }
86+
//
87+
// @Override
88+
// public void handleSessionEstablishmentError(Throwable error) throws Exception {
89+
// log.warn("handleSessionEstablishmentError:", error);
90+
// }
91+
// });
7192
}
7293
zookeeperToolController.getNodeTreeView().getRoot().getChildren().clear();
7394
this.addNodeTree("/", zookeeperToolController.getNodeTreeView().getRoot());
@@ -77,7 +98,6 @@ public Object deserialize(byte[] bytes) throws ZkMarshallingError {
7798
private void addNodeTree(String path, TreeItem<String> treeItem) {
7899
List<String> list = zkClient.getChildren(path);
79100
for (String name : list) {
80-
log.info("获取到文件:" + path + "/" + name);
81101
TreeItem<String> treeItem2 = new TreeItem<>(name);
82102
treeItem.getChildren().add(treeItem2);
83103
this.addNodeTree(StringUtils.appendIfMissing(path, "/", "/") + name, treeItem2);

src/main/java/com/xwintop/xJavaFxTool/view/debugTools/ZookeeperToolView.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
import javafx.fxml.FXML;
44
import javafx.fxml.Initializable;
5-
import javafx.scene.control.Button;
6-
import javafx.scene.control.TextArea;
7-
import javafx.scene.control.TextField;
8-
import javafx.scene.control.TreeView;
5+
import javafx.scene.control.*;
96
import lombok.Getter;
107
import lombok.Setter;
118

@@ -22,16 +19,14 @@ public abstract class ZookeeperToolView implements Initializable {
2219
@FXML
2320
protected TextField zkServersTextField;
2421
@FXML
22+
protected Spinner<Integer> connectionTimeoutSpinner;
23+
@FXML
2524
protected Button connectButton;
2625
@FXML
2726
protected Button disconnectButton;
2827
@FXML
2928
protected Button refreshButton;
3029
@FXML
31-
protected Button addNodeButton;
32-
@FXML
33-
protected Button deleteNodeButton;
34-
@FXML
3530
protected TreeView<String> nodeTreeView;
3631
@FXML
3732
protected Button nodeDataSaveButton;

src/main/resources/com/xwintop/xJavaFxTool/fxmlView/debugTools/ZookeeperTool.fxml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<?import javafx.geometry.Insets?>
44
<?import javafx.scene.control.Button?>
55
<?import javafx.scene.control.Label?>
6+
<?import javafx.scene.control.Spinner?>
67
<?import javafx.scene.control.SplitPane?>
78
<?import javafx.scene.control.Tab?>
89
<?import javafx.scene.control.TabPane?>
@@ -24,11 +25,11 @@
2425
<children>
2526
<Label text="zkServers" />
2627
<TextField fx:id="zkServersTextField" text="localhost:2181" />
28+
<Label text="connectionTimeout" />
29+
<Spinner fx:id="connectionTimeoutSpinner" prefHeight="23.0" prefWidth="84.0" />
2730
<Button fx:id="connectButton" mnemonicParsing="false" onAction="#connectOnAction" text="连接" />
2831
<Button fx:id="disconnectButton" mnemonicParsing="false" onAction="#disconnectOnAction" text="关闭" />
2932
<Button fx:id="refreshButton" mnemonicParsing="false" onAction="#refreshOnAction" text="刷新" />
30-
<Button fx:id="addNodeButton" mnemonicParsing="false" onAction="#addNodeOnAction" text="添加子结点" />
31-
<Button fx:id="deleteNodeButton" mnemonicParsing="false" onAction="#deleteNodeOnAction" text="删除" />
3233
</children>
3334
<BorderPane.margin>
3435
<Insets bottom="10.0" />

0 commit comments

Comments
 (0)