-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jedis Cluster Class UML.drawio
142 lines (142 loc) · 14.7 KB
/
Jedis Cluster Class UML.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<mxfile host="app.diagrams.net" modified="2022-04-05T06:49:53.193Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" etag="k7-t7YqLEywH-7ILUJvi" version="17.4.0" type="github">
<diagram id="16u3QC0gG3P5N7qWQo-6" name="Page-1">
<mxGraphModel dx="1002" dy="682" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-1" value="ConnectionProvider" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="600" y="280" width="340" height="70" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-2" value="+ getConnection(): Connection
+ getConnection(args: CommandArguments): Connection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-1" vertex="1">
<mxGeometry y="26" width="340" height="44" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-3" value="PooledConnectionProvider" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="440" y="480" width="320" height="70" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-4" value="+ getConnection(): Connection
+ getConnection(args: CommandArguments): Connection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-3" vertex="1">
<mxGeometry y="26" width="320" height="44" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-5" value="UnifiedJedis" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="40" y="360" width="310" height="80" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-6" value="- provider: ConnectionProvider
- executor CommandExecutor
- commandObjects: CommandObjects" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-5" vertex="1">
<mxGeometry y="26" width="310" height="54" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-7" value="JedisCluster" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="55" y="517" width="280" height="50" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-8" value="+ getClusterNodes: Map<String, ConnectionPool>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-7" vertex="1">
<mxGeometry y="26" width="280" height="24" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-9" value="CommandExecutor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="20" y="80" width="350" height="50" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-10" value="+ executeCommand(commandObject: CommandObject<T>): T
" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-9" vertex="1">
<mxGeometry y="26" width="350" height="24" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-11" value="DefaultCommandExecutor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="600" y="160" width="190" height="50" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-12" value="- provider: ConnectionProvider" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-11" vertex="1">
<mxGeometry y="26" width="190" height="24" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-13" value="ClusterCommandExecutor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="600" y="20" width="240" height="80" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-14" value="- provider: ConnectionProvider
- maxAttempts: int
- maxTotalRetriesDuration: Duration" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="Vg_fdwR3Dp5vmPGhpIbs-13" vertex="1">
<mxGeometry y="26" width="240" height="54" as="geometry" />
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-15" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=-0.011;exitY=0.097;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.006;entryY=0.028;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-12" target="Vg_fdwR3Dp5vmPGhpIbs-10" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="420" y="120" as="sourcePoint" />
<mxPoint x="580" y="120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-16" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-3" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="680" y="360" as="sourcePoint" />
<mxPoint x="770" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-17" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-7" target="Vg_fdwR3Dp5vmPGhpIbs-5" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="70" y="630" as="sourcePoint" />
<mxPoint x="230" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Vg_fdwR3Dp5vmPGhpIbs-21" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=-0.009;exitY=0.105;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.006;entryY=0.028;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-14" target="Vg_fdwR3Dp5vmPGhpIbs-10" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="420" y="120" as="sourcePoint" />
<mxPoint x="580" y="120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-1" value="ClusterConnectionProvider" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="840" y="480" width="320" height="80" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-2" value="+ getConnection(): Connection
+ getConnection(args: CommandArguments): Connection
+ getConnectionFromSlot(slot: int): Connection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="PPMuQnZdv8R8rpKbWjnb-1" vertex="1">
<mxGeometry y="26" width="320" height="54" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-3" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="PPMuQnZdv8R8rpKbWjnb-1" edge="1">
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="860" y="470" as="sourcePoint" />
<mxPoint x="770" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-4" value="JedisClusterInfoCache" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;" parent="1" vertex="1">
<mxGeometry x="840" y="640" width="320" height="134" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-5" value="- node: Map<String, ConnectionPool>
- slots: Map<String, ConnectionPool>
- node: Map<Integer, HostAndPort>
- rwl: ReentranReadWriteLock
- rediscoverLock: ReentranLock" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="PPMuQnZdv8R8rpKbWjnb-4" vertex="1">
<mxGeometry y="26" width="320" height="74" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-6" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="PPMuQnZdv8R8rpKbWjnb-4" vertex="1">
<mxGeometry y="100" width="320" height="8" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-7" value="+ method(type): type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="PPMuQnZdv8R8rpKbWjnb-4" vertex="1">
<mxGeometry y="108" width="320" height="26" as="geometry" />
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-11" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="PPMuQnZdv8R8rpKbWjnb-4" target="PPMuQnZdv8R8rpKbWjnb-2" edge="1">
<mxGeometry x="-0.75" y="20" relative="1" as="geometry">
<mxPoint x="440" y="670" as="sourcePoint" />
<mxPoint x="600" y="670" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-12" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.091;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-2" target="Vg_fdwR3Dp5vmPGhpIbs-5" edge="1">
<mxGeometry x="-0.8242" y="18" relative="1" as="geometry">
<mxPoint x="220" y="320" as="sourcePoint" />
<mxPoint x="380" y="320" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-16" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1.042;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-10" target="Vg_fdwR3Dp5vmPGhpIbs-5" edge="1">
<mxGeometry x="-0.8242" y="18" relative="1" as="geometry">
<mxPoint x="195" y="140" as="sourcePoint" />
<mxPoint x="195" y="360" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-17" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;entryX=1.011;entryY=0.167;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1.006;exitY=0.057;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="Vg_fdwR3Dp5vmPGhpIbs-2" target="Vg_fdwR3Dp5vmPGhpIbs-12" edge="1">
<mxGeometry x="-0.9647" y="18" relative="1" as="geometry">
<mxPoint x="930" y="220" as="sourcePoint" />
<mxPoint x="1090" y="220" as="targetPoint" />
<Array as="points">
<mxPoint x="980" y="309" />
<mxPoint x="980" y="190" />
</Array>
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="PPMuQnZdv8R8rpKbWjnb-18" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1.004;entryY=0.241;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="PPMuQnZdv8R8rpKbWjnb-1" target="Vg_fdwR3Dp5vmPGhpIbs-14" edge="1">
<mxGeometry x="-0.8724" y="-20" relative="1" as="geometry">
<mxPoint x="980" y="410" as="sourcePoint" />
<mxPoint x="1140" y="410" as="targetPoint" />
<Array as="points">
<mxPoint x="1000" y="59" />
</Array>
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>