|
|
|
|
<mxfile host="Electron" modified="2024-06-15T17:19:25.040Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.4.13 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="Ah9SeZ7oNp4uOUbunrOB" version="24.4.13" type="device">
|
|
|
|
|
<diagram name="第 1 页" id="yEI7VpdFRdmQdHwFJydb">
|
|
|
|
|
<mxGraphModel dx="7580" dy="4723" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
|
|
|
|
<root>
|
|
|
|
|
<mxCell id="0" />
|
|
|
|
|
<mxCell id="1" parent="0" />
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-1" value="接口" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-226" y="-580" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-2" value="抽象类或类" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="28" y="-580" width="80" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-3" value="<div>类图中:</div><div>+&nbsp; 表示public</div><div>-&nbsp; &nbsp;表示private</div><div>#&nbsp; 表示protected</div><div>~&nbsp; 表示package</div><div>=&nbsp; 表示默认值</div><div>_&nbsp; 表示static</div><div><span style="text-align: center">斜体或«</span><span style="text-align: center">»表示抽象类</span><br></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="254" y="-750" width="195" height="148" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-4" value="笔记" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="314" y="-580" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-5" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="275" y="-460" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="435" y="-460" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-6" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-5" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-7" value="说明" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="335" y="-430" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-8" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-325" y="-300" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="-165" y="-300" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-9" value="依赖" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-265" y="-270" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-10" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-81" target="nYgzgHyj-BZefE6Z0Cs2-80" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="504.5" y="4850" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="664.5" y="4850" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-11" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-10" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-2" y="-4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-12" value="实现" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-265" y="-430" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-13" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-125" y="-460" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="35" y="-460" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-14" value="继承" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-65" y="-430" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-15" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-125" y="-300" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="35" y="-300" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-16" value="composition" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-15" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.225" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="18" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-17" value="组合" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-65" y="-268" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-18" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="75" y="-300" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="235" y="-300" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-19" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-18" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2875" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="13" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-20" value="聚合" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="135" y="-268" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-21" value="" style="endArrow=open;endFill=1;endSize=12;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="275" y="-299" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="435" y="-299" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-22" value="association" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-21" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1625" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-23" value="关联" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="335" y="-268" width="40" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-24" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry x="-1" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="75" y="-339" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="235" y="-339" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-25" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-24" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.0875" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-26" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="275" y="-380" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="435" y="-380" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-27" value="parent" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" parent="nYgzgHyj-BZefE6Z0Cs2-26" connectable="0" vertex="1">
|
|
|
|
|
<mxGeometry x="-1" relative="1" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-28" value="child" style="edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;" parent="nYgzgHyj-BZefE6Z0Cs2-26" connectable="0" vertex="1">
|
|
|
|
|
<mxGeometry x="1" relative="1" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-29" value="1" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry x="-1" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-125" y="-340" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="35" y="-340" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-30" value="composition" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-29" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.15" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="12" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-31" value="" style="endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="275" y="-340" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="435" y="-340" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-32" value="association" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-31" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.175" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-33" value="" style="endArrow=open;startArrow=circlePlus;endFill=0;startFill=0;endSize=8;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="75" y="-460" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="235" y="-460" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-34" value="Inner Class" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-33" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="21" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-35" value="内部类" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="135" y="-430" width="50" height="20" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-36" value="素材库:" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-306" y="-840" width="80" height="26" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-38" value="注:调用其它类方法、变量" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-330" y="-235" width="170" height="30" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-39" value="注:重要组成部分与整体的关系" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-150" y="-235" width="190" height="30" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-40" value="注:子类与集合的关系" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="75" y="-235" width="140" height="30" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-41" value="注:一般关系,相互有关联,如多对多" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="230" y="-235" width="230" height="30" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-42" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;Interface&gt;&gt;</i><br/><b>Interface</b></p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ field1: Type<br/>+ field2: Type</p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ method1(Type): Type<br/>+ method2(Type, Type): Type</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-306" y="-740" width="200" height="140" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-43" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>Class</b></p><hr size="1"><p style="margin: 0px ; margin-left: 4px">+ field: Type</p><p style="margin: 0px ; margin-left: 4px">+ field: Type<br></p><hr size="1"><p style="margin: 0px ; margin-left: 4px">+ method(): Type</p><p style="margin: 0px 0px 0px 4px">+ method(): Type</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-26" y="-740" width="200" height="140" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-44" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- sendService: SendService<br/>- recallService: RecallService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(SendRequest): SendResponse<br/>+ send(SendRequest): SendResponse<br/>+ batchSend(BatchSendRequest): SendResponse</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2622.5" y="-870" width="361" height="180" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-45" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>SendService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ batchSend(BatchSendRequest): SendResponse<br/>+ send(SendRequest): SendResponse</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2026.5" y="-371" width="361" height="101" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-46" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- processController: ProcessController</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ batchSend(BatchSendRequest): SendResponse<br/>+ send(SendRequest): SendResponse</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2025.5" y="-125" width="361" height="125" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-47" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ProcessController</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- templateConfig: Map&lt;String, ProcessTemplate&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext): ProcessContext<br>- preCheck(ProcessContext): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2585.5" y="663" width="429" height="130" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-48" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ProcessTemplate</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- processList: List&lt;BusinessProcess&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ setProcessList(List&lt;BusinessProcess&gt;): void<br/>+ getProcessList(): List&lt;BusinessProcess&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1878.3000000000002" y="663" width="344" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-49" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>PipelineConfig</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- sendAfterCheckAction: SendAfterCheckAction<br/>- sendPreCheckAction: SendPreCheckAction<br/>- sendMqAction: SendMqAction<br/>- recallAssembleAction: RecallAssembleAction<br/>- recallMqAction: RecallMqAction<br/>- sendAssembleAction: SendAssembleAction</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recallMessageTemplate(): ProcessTemplate<br/>+ apiProcessController(): ProcessController<br/>+ commonSendTemplate(): ProcessTemplate</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3516.5" y="602.5" width="354" height="251" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-50" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br><b>BusinessProcess&lt;T extends ProcessModel&gt;</b><br></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;T&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1890.3000000000002" y="1045" width="320" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-51" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>DeduplicationAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ DEDUPLICATION_RULE_KEY: String<br/>- deduplicationHolder: DeduplicationHolder<br/>- config: ConfigService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2656.5" y="2119.9999999999995" width="327" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-52" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>DiscardAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- DISCARD_MESSAGE_KEY: String<br/>- logUtils: LogUtils<br/>- config: ConfigService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1778.5" y="2119.9999999999995" width="327" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-53" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ProcessContext&lt;T extends ProcessModel&gt;</b><br></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- needBreak: Boolean<br>- processModel: T<br>- response: BasicResultVO<br>- code: String</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">&nbsp;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3225.5" y="280" width="380" height="130" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-54" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>ProcessModel</b></p><hr size="1"/>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="685.6500000000001" y="1070" width="191.7" height="40" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-55" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RecallAssembleAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- messageTemplateDao: MessageTemplateDao<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;RecallTaskModel&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="916.5" y="2119.9999999999995" width="382" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-56" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RecallMqAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- austinRecall: String<br/>- sendMqService: SendMqService<br/>- mqPipeline: String<br/>- tagId: String<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;RecallTaskModel&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1346.5" y="2119.9999999999995" width="382" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-58" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendAfterCheckAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ PHONE_REGEX_EXP: String<br/>+ EMAIL_REGEX_EXP: String<br/># CHANNEL_REGEX_EXP: Map&lt;Integer, String&gt;<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;SendTaskModel&gt;): void<br/>- filterIllegalReceiver(List&lt;TaskInfo&gt;): void<br/>- filter(List&lt;TaskInfo&gt;, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="85.5" y="2119.9999999999995" width="376" height="203" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-59" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendAssembleAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- messageTemplateDao: MessageTemplateDao<br/>- LINK_NAME: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;SendTaskModel&gt;): void<br/>- getContentModelValue(MessageTemplate, MessageParam): ContentModel<br/>- assembleTaskInfo(SendTaskModel, MessageTemplate): List&lt;TaskInfo&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-504.5" y="2119.9999999999995" width="543" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-60" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendMessageAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- handlerHolder: HandlerHolder</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3025.5" y="2119.9999999999995" width="327" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-61" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendMqAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- mqPipeline: String<br/>- sendMessageTopic: String<br/>- sendMqService: SendMqService<br/>- tagId: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;SendTaskModel&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="505.5" y="2119.9999999999995" width="376" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-62" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendPreCheckAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;SendTaskModel&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-924.5" y="2119.9999999999995" width="376" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-64" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ShieldAction</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- logUtils: LogUtils<br/>- NIGHT_SHIELD_BUT_NEXT_DAY_SEND_KEY: String<br/>- SECONDS_OF_A_DAY: long<br/>- NIGHT: int<br/>- redisUtils: RedisUtils</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2165.5" y="2119.9999999999995" width="383" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-66" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>EventBusSendMqServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- sendTopic: String<br/>- eventBus: EventBus<br/>- eventBusListener: EventBusListener<br/>- log: Logger<br/>- recallTopic: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String): void<br/>+ send(String, String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="224.5" y="3260" width="295" height="203" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-67" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>KafkaSendMqServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- kafkaTemplate: KafkaTemplate<br/>- tagIdKey: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String, String): void<br/>+ send(String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="629" y="3260" width="265" height="155" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-70" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>SendMqService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String): void<br/>+ send(String, String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="965" y="2800" width="258" height="101" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-72" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-66" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="375.5" y="3260" />
|
|
|
|
|
<mxPoint x="375.5" y="3026" />
|
|
|
|
|
<mxPoint x="1094.5" y="3026" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-17" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-72" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7243" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-73" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-67" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="767" y="3026" />
|
|
|
|
|
<mxPoint x="1094" y="3026" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-12" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-73" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.6023" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="1" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-74" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1424" y="3026" />
|
|
|
|
|
<mxPoint x="1094" y="3026" />
|
|
|
|
|
</Array>
|
|
|
|
|
<mxPoint x="1425.5" y="3260" as="sourcePoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-15" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-74" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.593" y="2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="1" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-75" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-21" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1780" y="3310" />
|
|
|
|
|
<mxPoint x="1776" y="3310" />
|
|
|
|
|
<mxPoint x="1776" y="3026" />
|
|
|
|
|
<mxPoint x="1094" y="3026" />
|
|
|
|
|
</Array>
|
|
|
|
|
<mxPoint x="1775.5" y="3300" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1105.2599999999995" y="2900.999999999999" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-16" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-75" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7117" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-76" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-23" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
<mxPoint x="1094" y="3260" as="sourcePoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-13" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-76" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2368" y="2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-80" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>EventBusListener</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ consume(List&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-181" y="4387.5" width="252" height="101" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-81" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>EventBusReceiver</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- consumeService: ConsumeService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ consume(List&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="208" y="4379" width="274" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-84" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Receiver</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- consumeService: ConsumeService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ consumer(ConsumerRecord&lt;?, String&gt;, String): void<br/>+ recall(ConsumerRecord&lt;?, String&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="524.5" y="4379" width="392" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-89" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AlipayMiniProgramAccountHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- accountUtils: AccountUtils<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- getAlipayMiniProgramParam(Map&lt;String, String&gt;): String<br/>- assembleReq(Set&lt;String&gt;, AlipayMiniProgramContentModel): List&lt;AlipayOpenAppMiniTemplatemessageSendRequest&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2332" y="8047.540000000001" width="841" height="197.46" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-90" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>BaseHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"># channelCode: Integer<br/># flowControlParam: FlowControlParam<br/>- handlerHolder: HandlerHolder<br/>- flowControlFactory: FlowControlFactory<br/>- logUtils: LogUtils<br/>- redisTemplate: StringRedisTemplate</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ doHandler(TaskInfo): void<br/>+ handler(TaskInfo): boolean<br/># saveRecallInfo(String, Long, String, Long): void<br/>- init(): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1348" y="6970" width="356" height="275" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-91" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>DingDingRobotHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- accountUtils: AccountUtils<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- assembleParam(TaskInfo): DingDingRobotParam<br/>- assembleParamUrl(DingDingRobotAccount): String<br/>- assembleSign(long, String): String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="954" y="8047.540000000001" width="382" height="203" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-92" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>DingDingWorkNoticeHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- logUtils: LogUtils<br/>- DING_DING_RECALL_BIZ_TYPE: String<br/>- accessTokenUtils: AccessTokenUtils<br/>- accountUtils: AccountUtils<br/>- redisTemplate: StringRedisTemplate<br/>- DING_DING_RECALL_KEY_PREFIX: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handler(TaskInfo): boolean<br/>+ pull(Long): void<br/>+ recall(RecallTaskInfo): void<br/>- recallBiz(DingTalkClient, DingDingWorkNoticeAccount, String, String): void<br/>- assembleParam(DingDingWorkNoticeAccount, TaskInfo): OapiMessageCorpconversationAsyncsendV2Request</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="4038" y="8047.540000000001" width="780" height="323" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-93" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>EmailHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- accountUtils: AccountUtils<br/>- log: Logger<br/>- dataPath: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- getAccountConfig(Integer): MailAccount</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3705" y="8047.540000000001" width="313" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-94" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>EnterpriseWeChatHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- accountUtils: AccountUtils<br/>- WE_CHAT_RECALL_KEY_PREFIX: String<br/>- WE_CHAT_RECALL_BIZ_TYPE: String<br/>- logUtils: LogUtils<br/>- log: Logger<br/>- redisTemplate: StringRedisTemplate</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handler(TaskInfo): boolean<br/>+ recall(RecallTaskInfo): void<br/>- initService(WxCpDefaultConfigImpl): WxCpService<br/>- buildWxCpMessage(TaskInfo, Integer): WxCpMessage</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1910" y="8047.540000000001" width="407" height="275" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-95" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>EnterpriseWeChatRobotHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- accountUtils: AccountUtils<br/>- logUtils: LogUtils</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- assembleParam(TaskInfo): EnterpriseWeChatRobotParam</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="504.79999999999995" y="8047.540000000001" width="428" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-96" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>FeiShuRobotHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- accountUtils: AccountUtils</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handler(TaskInfo): boolean<br/>+ recall(RecallTaskInfo): void<br/>- assembleParam(TaskInfo): FeiShuRobotParam</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-494" y="8047.540000000001" width="353" height="155" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-97" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>Handler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ doHandler(TaskInfo): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1413.5" y="6630" width="225" height="101" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-98" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>MiniProgramAccountHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- logUtils: LogUtils<br/>- accountUtils: AccountUtils</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handler(TaskInfo): boolean<br/>+ recall(RecallTaskInfo): void<br/>- getWxMaTemplateData(Map&lt;String, String&gt;): List&lt;MsgData&gt;<br/>- assembleReq(Set&lt;String&gt;, MiniProgramContentModel): WxMaSubscribeMessage</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-1100" y="8047.540000000001" width="586" height="203" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-99" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>OfficialAccountHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- accountUtils: AccountUtils<br/>- logUtils: LogUtils</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- getWxMpTemplateData(Map&lt;String, String&gt;): List&lt;WxMpTemplateData&gt;<br/>- assembleReq(Set&lt;String&gt;, OfficialAccountsContentModel): WxMpTemplateMessage</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-126.5" y="8047.540000000001" width="607" height="203" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-100" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>PushHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- accountUtils: AccountUtils<br/>- accessTokenUtils: AccessTokenUtils<br/>- HEADER_TOKEN_NAME: String<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ handler(TaskInfo): boolean<br/>+ recall(RecallTaskInfo): void<br/>- createTaskId(PushParam): String<br/>- assembleParam(PushContentModel): SendPushParam<br/>- batchPush(String, PushParam): String<br/>- singlePush(PushParam): String<br/>- assembleParam(PushContentModel, Set&lt;String&gt;): SendPushParam</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3193" y="8047.540000000001" width="492" height="299" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-101" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SmsHandler</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- AUTO_FLOW_RULE: Integer<br/>- FLOW_KEY_PREFIX: String<br/>- applicationContext: ApplicationContext<br/>- log: Logger<br/>- config: ConfigService<br/>- FLOW_KEY: String<br/>- accountUtils: AccountUtils<br/>- smsRecordDao: SmsRecordDao</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(RecallTaskInfo): void<br/>+ handler(TaskInfo): boolean<br/>- getMessageTypeSmsConfig(TaskInfo): List&lt;MessageTypeSmsConfig&gt;<br/>- loadBalance(List&lt;MessageTypeSmsConfig&gt;): MessageTypeSmsConfig[]<br/>- getSmsContent(TaskInfo): String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1360" y="8047.540000000001" width="529" height="347" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-102" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-89" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2542" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-49" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-102" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7615" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-105" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.750;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-91" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1241" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-46" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-105" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.5544" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-107" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-92" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="4233" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-52" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-107" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8835" y="2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-109" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-93" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3783" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-51" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-109" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8649" y="-1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-111" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-94" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2007" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-48" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-111" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.6261" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-113" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.750;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-95" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="827" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-45" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-113" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.6972" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-115" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.750;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-96" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="-229" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-43" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-115" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8378" y="-3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-117" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.750;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-98" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="-660" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-42" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-117" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8614" y="3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-119" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.750;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-99" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="334" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-44" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-119" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7773" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-121" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-100" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3316" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-50" value="Extends&nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-121" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8423" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-123" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.250;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-101" target="nYgzgHyj-BZefE6Z0Cs2-90" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1488" y="7715.54" />
|
|
|
|
|
<mxPoint x="1526" y="7715.54" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-47" value="Extends" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-123" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.3422" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="1" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-125" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-44" target="nYgzgHyj-BZefE6Z0Cs2-45" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2214.5" y="-330" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2374.5" y="-330" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2805.5" y="-540" />
|
|
|
|
|
<mxPoint x="2207.5" y="-540" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-126" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>RecallService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(SendRequest): SendResponse</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3218.5" y="-380" width="287" height="71" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-127" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RecallServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- processController: ProcessController</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ recall(SendRequest): SendResponse</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3215.5" y="-129" width="290" height="110" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-128" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-46" target="nYgzgHyj-BZefE6Z0Cs2-45" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2356.5" y="-140" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2516.5" y="-140" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-129" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-128" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-130" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-127" target="nYgzgHyj-BZefE6Z0Cs2-126" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3273.5" y="-114" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3275.5" y="-233" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-131" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-130" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-132" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-44" target="nYgzgHyj-BZefE6Z0Cs2-126" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2231.5" y="-435" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2232.5" y="-300" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2805.5" y="-540" />
|
|
|
|
|
<mxPoint x="3362.5" y="-540" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-133" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-46" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3220.5" y="430" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2946.5" y="519" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2206" y="100" />
|
|
|
|
|
<mxPoint x="2795.5" y="100" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-134" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-48" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2570.5" y="1453.3899999999999" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2855.5" y="1452.842252252252" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-135" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-134" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2875" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="13" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-136" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-50" target="nYgzgHyj-BZefE6Z0Cs2-48" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1859.5" y="1586.4299999999998" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2130.5" y="1584.4299999999998" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-137" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-136" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2875" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="13" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-138" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-64" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2295.5" y="2110" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2096.8" y="1467.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2357.5" y="1810" />
|
|
|
|
|
<mxPoint x="2045.5" y="1810" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-14" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-138" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7244" y="-1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-140" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-51" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2442.5" y="2040" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2130.8" y="1447.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2815.5" y="1810" />
|
|
|
|
|
<mxPoint x="2047.8000000000002" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-15" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-140" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7949" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-142" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-60" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3145.5" y="2100" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2278.8" y="1527.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3189.5" y="1810" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-16" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-142" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8309" y="2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-144" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-52" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1644.5" y="2050" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2143.8" y="1458.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1942.5" y="1810" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-13" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-144" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.6728" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-146" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-56" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1265.5" y="2060" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2143.8" y="1458.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1537.5" y="1807" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-12" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-146" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7602" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-148" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-55" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="895.5" y="2030" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2143.8" y="1458.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1107.5" y="1810" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-11" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-148" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8105" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-150" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-61" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="501.5" y="2070" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2143.8" y="1458.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="695.5" y="1807" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-10" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-150" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8453" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-152" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-58" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="102.5" y="2060" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2098.8" y="1463.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="273.5" y="1807" />
|
|
|
|
|
<mxPoint x="2048.8" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-9" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-152" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.869" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-154" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-59" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-224.5" y="2070" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2047.8000000000002" y="1447.1099999999997" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="-228.20000000000005" y="1807.1099999999997" />
|
|
|
|
|
<mxPoint x="2047.8000000000002" y="1807.1099999999997" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-8" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-154" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8904" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-159" value="<br><div><span style="font-size: 14px">process</span><span style="font-size: 14px"><br></span></div><div><span style="font-size: 14px">核心处理逻辑,根据传入责任链code,</span></div><div><span style="font-size: 14px">选择不同责任链,然后依次执行,返回</span></div><div><span style="font-size: 14px">结果在</span><span style="font-size: 14px">p</span><span style="font-size: 14px">rocessContext中</span><span style="font-size: 14px"><br></span></div><div><span style="font-size: 14px"><br></span></div><div><span style="font-size: 14px">preCheck</span><div><span style="font-size: 14px">主要对p</span><span style="font-size: 14px">rocessContext内容进行判空</span></div></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2135.5" y="330" width="310" height="198" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-161" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-47" target="nYgzgHyj-BZefE6Z0Cs2-53" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2674.5" y="518" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2675.5" y="781" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3415.5" y="663" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-164" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-159" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2462.5" y="570" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2575.5" y="650" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-168" value="" style="endArrow=open;endFill=1;endSize=12;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-37" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3516.5" y="1258.75" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3025.5" y="750.0000000000005" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3245.5" y="1160" />
|
|
|
|
|
<mxPoint x="3245.5" y="728" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-1" value="association" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-168" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="0.0168" y="-3" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="81" y="202" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-170" value="" style="endArrow=open;endFill=1;endSize=12;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-49" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3509.5" y="1094" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3135.5" y="690" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-171" value="association" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-170" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1625" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-172" value="<font style="font-size: 18px"><span>配置类会初始化</span><span>templateConfig映射</span></font><div><div><span><b><font style="font-size: 18px">send:</font><font style="font-size: 18px">发送消息责任链</font></b></span></div><div><span style="font-size: 14px">sendPreCheckAction、</span></div><div><span style="font-size: 14px">sendAssembleAction、</span></div><div><span style="font-size: 14px">sendAfterCheckAction、</span></div><div><span style="font-size: 14px">sendMqAction</span></div><div><b><span><font style="font-size: 18px">recall:</font><font style="font-size: 18px">撤回</font></span><span><font size="3">消息责任链</font></span></b></div><div><span style="font-size: 14px">recallAssembleAction、</span></div><div><span style="font-size: 14px">recallMqAction</span></div><div><span><font style="font-size: 18px"><b>handler:处理消息责任链</b></font></span></div><div><span style="font-size: 14px">discardAction、</span></div><div><span style="font-size: 14px">shieldAction、</span></div><div><span style="font-size: 14px">deduplicationAction、</span></div><div><span style="font-size: 14px">sendMessageAction</span></div></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="4060" y="830" width="360" height="288" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-173" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.004;exitY=0.728;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-172" target="4XslHzMP1OHPMfzihlBu-37" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2671.5" y="861" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3840.5" y="1324" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-174" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-173" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-175" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.011;exitY=0.257;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-172" target="nYgzgHyj-BZefE6Z0Cs2-49" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="4135" y="849.0000000000005" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3980" y="593" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-176" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-175" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-182" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-127" target="nYgzgHyj-BZefE6Z0Cs2-47" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2516.5" y="250" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2759.5" y="673" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3360.5" y="100" />
|
|
|
|
|
<mxPoint x="2795.5" y="100" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-184" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-62" target="nYgzgHyj-BZefE6Z0Cs2-50" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-618.5" y="2100" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2067.8" y="1403.6800000000003" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="-734.5" y="1800" />
|
|
|
|
|
<mxPoint x="2047.5" y="1810" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-7" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-184" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.9094" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="-9" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-189" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RecallTaskModel</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- messageTemplateId: Long<br>- recallTaskInfo: RecallTaskInfo<br>- recallMessageId: List&lt;String&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;"><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="628.5" y="1430" width="306" height="110" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-190" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>TaskInfo</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- messageId: String<br>- sendAccount: Integer<br>- receiver: Set&lt;String&gt;<br>- idType: Integer<br>- templateType: Integer<br>- sendChannel: Integer<br>- msgType: Integer<br>- shieldType: Integer<br>- contentModel: ContentModel<br>- bizId: String<br>- businessId: Long<br>- messageTemplateId: Long</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;"><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1082.5" y="1430" width="302" height="320" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-191" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendTaskModel</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- messageTemplateId: Long<br>- messageParamList: List&lt;MessageParam&gt;<br>- taskInfo: List&lt;TaskInfo&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;"><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="138.5" y="1428" width="383" height="110" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-192" 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="nYgzgHyj-BZefE6Z0Cs2-189" target="nYgzgHyj-BZefE6Z0Cs2-54" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="798.5" y="1310" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1050.2" y="950" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-193" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-192" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-194" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-191" target="nYgzgHyj-BZefE6Z0Cs2-54" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="658.5" y="1330" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="791.5" y="1160" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="330.5" y="1310" />
|
|
|
|
|
<mxPoint x="781.5" y="1310" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-195" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-194" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-196" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-190" target="nYgzgHyj-BZefE6Z0Cs2-54" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="791.5" y="1440" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="791.5" y="1160" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1233.5" y="1310" />
|
|
|
|
|
<mxPoint x="781.5" y="1310" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-197" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="nYgzgHyj-BZefE6Z0Cs2-196" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="nYgzgHyj-BZefE6Z0Cs2-198" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-50" target="nYgzgHyj-BZefE6Z0Cs2-54" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1478" y="880" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1638" y="880" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-2" value="<span style="font-size: 18px">若走send流程,责任链如下:</span><div><span style="font-size: 18px">sendPreCheckAction、</span></div><div><span style="font-size: 18px">sendAssembleAction、</span></div><div><span style="font-size: 18px">sendAfterCheckAction、</span></div><div><span style="font-size: 18px">sendMqAction,</span></div><div><span style="font-size: 18px">若走recall流程,责任链如下:</span><div><div><font style="font-size: 18px">recallAssembleAction、</font></div><div><font style="font-size: 18px">recallMqAction,</font></div></div></div><div><span><b><font style="font-size: 18px">走到SendMqAction/RecallMqAction</font></b></span></div><div><span><b><font style="font-size: 18px">上半部分生产流程就走完了,</font></b></span></div><div><span><b><font style="font-size: 18px">接下来是消费流程</font></b></span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2639.15" y="1040" width="321.7" height="290" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-3" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-47" target="MUpVZVcSp18z9gzbLe4r-2" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3290.5" y="1342.1799999999998" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3135.5" y="1094.1799999999998" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-4" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="MUpVZVcSp18z9gzbLe4r-3" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-18" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-61" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="578.5" y="2610" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="738.5" y="2610" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="695.5" y="2560" />
|
|
|
|
|
<mxPoint x="1094.5" y="2560" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-19" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-56" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1104.5" y="2390" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1439.5" y="2893" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1535.5" y="2560" />
|
|
|
|
|
<mxPoint x="1094.5" y="2560" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="MUpVZVcSp18z9gzbLe4r-20" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-61" target="nYgzgHyj-BZefE6Z0Cs2-70" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="693.5" y="2299" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1020.5" y="2800" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="695.5" y="2560" />
|
|
|
|
|
<mxPoint x="1094.5" y="2560" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-2" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br><b>ProcessModel(副本)</b></p><hr size="1">" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3700" y="70" width="191.7" height="40" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-4" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-2" target="nYgzgHyj-BZefE6Z0Cs2-53" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3870.5" y="280" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="4030.5" y="280" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3795.5" y="345" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-5" value="composition" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZhQrENzqxHASfNF_k0y2-4" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.225" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-4" y="-5" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-6" value="<span style="font-size: 18px; text-wrap: nowrap;">此处消息队列有多个实现,应用会根据配置文件初始化一个实现,</span><div><span style="font-size: 18px; text-wrap: nowrap;">而后在调用时使用</span></div><div><div><span style="font-size: 18px; text-wrap: nowrap;"><b>@ConditionalOnProperty(name = "austin.mq.pipeline",&nbsp;</b></span></div><div><span style="font-size: 18px; text-wrap: nowrap;"><b>havingValue = MessageQueuePipeline.xxx)</b></span></div></div><div><span style="font-size: 18px; text-wrap: nowrap;">当然,对应的接收器,也会成套初始化</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1646.5" y="2745.5" width="530" height="210" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-7" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-70" target="ZhQrENzqxHASfNF_k0y2-6" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2035.5" y="2390" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2039.5" y="2637" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-8" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZhQrENzqxHASfNF_k0y2-7" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-10" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-66" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="55.5" y="3500" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="373" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-11" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-67" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="476.5" y="3473" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="762" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-23" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1094" y="3401" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1094" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-13" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1425.5" y="3439.000000000001" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1426" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-14" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-21" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1754.5" y="3400" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1780" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-15" value="<span style="font-size: 18px; text-wrap: nowrap;">消息将发送到对应消息队列中</span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-294.5" y="3510" width="344.5" height="140" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-21" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SpringEventBusSendMqServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- applicationContext: ApplicationContext</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String, String): void<br/>+ send(String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1605.5" y="3260" width="349" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-22" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RabbitSendMqServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- rabbitTemplate: RabbitTemplate<br/>- confTopic: String<br/>- exchangeName: String<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String, String): void<br/>+ send(String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1286.5" y="3260" width="271" height="179" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-23" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RocketMqSendMqServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- rocketMqTemplate: RocketMQTemplate<br/>- log: Logger</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ send(String, String, String): void<br/>+ send(String, String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="939" y="3260" width="310" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-28" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RocketMqBizReceiver</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- consumeService: ConsumeService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ onMessage(String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="960.5" y="4379" width="275" height="109.5" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-29" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RabbitMqReceiver</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- consumeService: ConsumeService<br/>- MSG_TYPE_RECALL: String<br/>- MSG_TYPE_SEND: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ onMessage(Message): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1272.5" y="4379" width="274" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-30" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SpringEventBusReceiverListener</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- springEventBusReceiver: SpringEventBusReceiver<br/>- sendTopic: String<br/>- recallTopic: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ onApplicationEvent(AustinSpringEventBusEvent): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1635.5" y="4380" width="405" height="141" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-31" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SpringEventBusReceiver</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- consumeService: ConsumeService</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ consume(List&lt;TaskInfo&gt;): void<br/>+ recall(RecallTaskInfo): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1701" y="4630" width="274" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-33" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>ConsumeService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ consume2Send(List&lt;TaskInfo&gt;): void<br/>+ consume2recall(RecallTaskInfo): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="951.5" y="5160" width="295" height="101" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-34" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ConsumeServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- logUtils: LogUtils<br/>- handlerHolder: HandlerHolder<br/>- LOG_BIZ_TYPE: String<br/>- context: ApplicationContext<br/>- taskPendingHolder: TaskPendingHolder<br/>- LOG_BIZ_RECALL_TYPE: String</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ consume2Send(List&lt;TaskInfo&gt;): void<br/>+ consume2recall(RecallTaskInfo): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="944" y="5400" width="308" height="227" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-35" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;strokeColor=#000000;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.001;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-34" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-2" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZhQrENzqxHASfNF_k0y2-35" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="0.0082" y="-1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-37" value="<span style="font-size: 18px">以各种消息队列接收方式,</span><div><span style="font-size: 18px">接收到任务消息,</span></div><div><span style="font-size: 18px"><b>发送器和接收器,会根据配置成套初始化</b></span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="-294.5" y="3934.5" width="344.5" height="140" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-38" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-327" y="-460" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="-167" y="-460" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-39" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZhQrENzqxHASfNF_k0y2-38" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-40" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-90" target="nYgzgHyj-BZefE6Z0Cs2-97" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="954" y="6866.54" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1114" y="6866.54" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="ZhQrENzqxHASfNF_k0y2-41" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="ZhQrENzqxHASfNF_k0y2-40" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="11" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-1" value="" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-81" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry x="-0.0095" y="-30" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="374.29999999999995" y="5080" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1146.5" y="5049" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="345.5" y="4940" />
|
|
|
|
|
<mxPoint x="1099.5" y="4940" />
|
|
|
|
|
</Array>
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-5" value="Use" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-1" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.7633" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="12" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-2" value="" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-84" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="351.5" y="4696" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1085.5" y="5020" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="725.5" y="4940" />
|
|
|
|
|
<mxPoint x="1099.5" y="4940" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-4" value="Use" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-2" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.8678" relative="1" as="geometry">
|
|
|
|
|
<mxPoint y="89" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-8" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-28" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry x="-0.4365" y="-3" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1307.5" y="4800" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1145.5" y="5060" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-9" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-29" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry x="-0.6632" y="1" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1108.5" y="4500" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1109.5" y="5070" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1409.5" y="4940" />
|
|
|
|
|
<mxPoint x="1099.5" y="4940" />
|
|
|
|
|
</Array>
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-10" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-31" target="ZhQrENzqxHASfNF_k0y2-33" edge="1">
|
|
|
|
|
<mxGeometry x="-0.8503" y="2" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1655.5" y="4750" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1656.5" y="5320" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1838" y="4940" />
|
|
|
|
|
<mxPoint x="1099.5" y="4940" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-11" value="<span style="font-size: 18px; text-wrap: nowrap;">接收到消息后</span><div><span style="font-size: 18px; text-wrap: nowrap;">再调用实际的处理者</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1246.5" y="5000" width="239" height="110" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-13" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=-0.006;entryY=0.545;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="4XslHzMP1OHPMfzihlBu-11" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1105.5" y="5060" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="718.5" y="5190" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-14" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-13" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-16" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>TaskPendingHolder</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- holder: Map&lt;String, ExecutorService&gt;<br/>- threadPoolUtils: ThreadPoolUtils<br/>- groupIds: List&lt;String&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ route(String): ExecutorService<br/>+ init(): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1649" y="5720" width="297" height="174" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-17" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-34" target="4XslHzMP1OHPMfzihlBu-16" edge="1">
|
|
|
|
|
<mxGeometry x="0.3577" y="-1" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2146.5" y="5080" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1448.5" y="5554" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1096" y="5810" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-18" value="<div><span style="text-align: center; text-wrap: nowrap;"><font style="font-size: 18px;"><b>send</b></font></span></div><span style="font-size: 14px; text-align: center; text-wrap: nowrap;">TaskPendingHolde内</span><span style="background-color: initial; text-wrap: nowrap; font-size: 14px; text-align: center;">每个渠道都会初始化一个线程池,</span><div><span style="background-color: initial; text-wrap: nowrap; font-size: 14px; text-align: center;">send消息时,会选择对应渠道</span><span style="background-color: initial; text-wrap: nowrap; font-size: 14px; text-align: center;">的线程池去执行任务,任务详情如<b>Task</b></span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1283" y="5670" width="263.5" height="100" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-21" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>HandlerHolder(副本)</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- handlers: Map&lt;Integer, Handler&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ putHandler(Integer, Handler): void<br>+ route(Integer): Handler</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="270" y="5749" width="273" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-22" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-34" target="4XslHzMP1OHPMfzihlBu-21" edge="1">
|
|
|
|
|
<mxGeometry x="0.4661" y="2" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1261.5" y="5524" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1718.5" y="5524" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1096" y="5810" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-23" value="<div><b style="text-align: center"><font style="font-size: 18px">recall</font></b></div><b style="font-size: 14px ; text-align: center">HandlerHolder&nbsp;中是处理方法集合,</b><div><span style="font-size: 14px ; text-align: center">recall 操作无线程池,直接调用</span></div><div><span style="font-size: 14px ; text-align: center">对应渠道的处理方式</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="650" y="5689" width="240" height="100" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-27" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Task</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- log: Logger<br/>- taskInfo: TaskInfo<br/>- processController: ProcessController</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ run(): void<br/>+ getProcessController(): ProcessController<br/>+ hashCode(): int<br/>+ equals(Object): boolean<br/>+ getTaskInfo(): TaskInfo<br/>+ setTaskInfo(TaskInfo): Task<br/>+ toString(): String<br/>+ setProcessController(ProcessController): Task<br/># canEqual(Object): boolean</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2360" y="5645.5" width="353" height="323" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-32" value="<div><span><font style="font-size: 14px"><br></font></span></div><div><font style="font-size: 14px">线程池的最小单元 --&nbsp;<b>任务</b>,</font><span style="font-size: 14px">最后会</span><span style="font-size: 14px">放到线程池中执行。<b>Task</b></span><font style="font-size: 14px">中使用</font><span style="font-size: 14px">processController,即每个任务都会走</span><span style="font-size: 14px">一遍</span><span style="font-size: 14px">“<b>处理</b>”责任链,</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2005.5" y="5659" width="280.5" height="130" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-33" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ProcessController(副本)</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- templateConfig: Map&lt;String, ProcessTemplate&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ process(ProcessContext): ProcessContext<br>- preCheck(ProcessContext): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2850" y="5742" width="429" height="130" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-35" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-27" target="4XslHzMP1OHPMfzihlBu-33" edge="1">
|
|
|
|
|
<mxGeometry x="0.0579" y="2" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2797" y="5785" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2951" y="5755" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-37" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>TaskPipelineConfig</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ PIPELINE_HANDLER_CODE: String</p><p style="margin:0 0 0 4px;line-height:1.6;">- discardAction: DiscardAction</p><p style="margin:0 0 0 4px;line-height:1.6;">- shieldAction: ShieldAction<br>- deduplicationAction: DeduplicationAction<br>- sendMessageAction: SendMessageAction<br></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ taskTemplate(): ProcessTemplate<br>+ processController(): ProcessController</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3516.5" y="1045" width="320" height="226.5" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-38" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>TaskPipelineConfig (副本)</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ PIPELINE_HANDLER_CODE: String</p><p style="margin:0 0 0 4px;line-height:1.6;">- discardAction: DiscardAction</p><p style="margin:0 0 0 4px;line-height:1.6;">- shieldAction: ShieldAction<br>- deduplicationAction: DeduplicationAction<br>- sendMessageAction: SendMessageAction<br></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ taskTemplate(): ProcessTemplate<br>+ processController(): ProcessController</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3672" y="5720" width="320" height="226.5" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-41" value="" style="endArrow=open;endFill=1;endSize=12;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=-0.007;exitY=0.379;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-38" target="4XslHzMP1OHPMfzihlBu-33" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3461" y="6138.5" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3621" y="6138.5" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-42" value="association" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-41" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1625" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-43" value="<div style="text-align: left"><font style="font-size: 18px"><span><br></span></font></div><div style="text-align: left"><font style="font-size: 18px"><span>初始化</span><span>templateConfig</span></font><span style="font-size: medium">即处理器的责任链</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3370" y="5699" width="249" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-44" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>HandlerHolder&nbsp;</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">- handlers: Map&lt;Integer, Handler&gt;</p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;">+ putHandler(Integer, Handler): void<br>+ route(Integer): Handler</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2924.25" y="6211.5" width="273" height="116" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-46" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>SendMessageAction(副本)</b></p><hr size="1"><p style="margin: 0 0 0 4px ; line-height: 1.6">- handlerHolder: HandlerHolder</p><hr size="1"><p style="margin: 0 0 0 4px ; line-height: 1.6">+ process(ProcessContext&lt;TaskInfo&gt;): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2901" y="6030" width="327" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-47" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-33" target="4XslHzMP1OHPMfzihlBu-46" edge="1">
|
|
|
|
|
<mxGeometry x="0.2405" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3080.75" y="5920" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3353.75" y="6063.5" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="3064" y="5960" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-23" value="<font style="font-size: 9px"><font>其它处理流程&nbsp;</font><font><b>...</b></font></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" parent="4XslHzMP1OHPMfzihlBu-47" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="0.2152" y="-2" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2" y="-58" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-48" value="<div style="text-align: left"><span><font style="font-size: 14px">处理责任链最后,也是最核心</font></span></div><div style="text-align: left"><span><font style="font-size: 14px">的一步,发送消息&nbsp;</font></span><b style="font-size: 14px ; text-align: center">SendMessageAction</b></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3140" y="5920" width="264.5" height="80" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-49" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-46" target="4XslHzMP1OHPMfzihlBu-44" edge="1">
|
|
|
|
|
<mxGeometry x="0.0579" y="2" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3197.25" y="6348" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3197.25" y="6591" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-50" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-97" target="4XslHzMP1OHPMfzihlBu-21" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="245.5" y="6480" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="364.5" y="6380" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1526.5" y="6420" />
|
|
|
|
|
<mxPoint x="407" y="6420" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-51" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-50" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2875" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="13" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-52" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-97" target="4XslHzMP1OHPMfzihlBu-44" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3159.5" y="7065" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2015.5" y="6550" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1525.5" y="6420" />
|
|
|
|
|
<mxPoint x="3061" y="6420" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="4XslHzMP1OHPMfzihlBu-53" value="aggregation" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="4XslHzMP1OHPMfzihlBu-52" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2875" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="13" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-4" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-1220" y="3780" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="4580" y="3780" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-17" value="<div style="text-align: left"><span><font style="font-size: 14px">处理责任链中最后,也是最核心</font></span></div><div style="text-align: left"><span><font style="font-size: 14px">的一步,发送消息&nbsp;</font></span><b style="font-size: 14px ; text-align: center">SendMessageAction</b><span style="font-size: 14px ; text-align: center">,</span><span style="font-size: 14px ; text-align: center">后面有详细实现过程</span></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3054" y="2380" width="270" height="80" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-18" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryPerimeter=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-60" target="Dz-ZixIlSKtUcC1tPOlM-17" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3110" y="2703" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3533.5" y="2703" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-19" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Dz-ZixIlSKtUcC1tPOlM-18" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-1" y="20" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-21" value="<div style="text-align: center"><font style="font-size: 14px">执行完确切的发送/撤回功能后,Austin的主流程就结束了</font></div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1537.5" y="8535" width="263.5" height="100" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="Dz-ZixIlSKtUcC1tPOlM-22" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="4XslHzMP1OHPMfzihlBu-16" target="4XslHzMP1OHPMfzihlBu-27" edge="1">
|
|
|
|
|
<mxGeometry x="0.3577" y="-1" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1992.0000000000005" y="6040" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2614" y="6220" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-2" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>FlowControlFactory</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- applicationContext: ApplicationContext</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ flowControl(TaskInfo, FlowControlParam): void<br/>- init(): void<br/>- getRateLimitConfig(Integer): Double</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> applicationContext: ApplicationContext</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2020" y="7011.5" width="356" height="192" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-3" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-90" target="n5k2HQ6m22gCbRI7tMAW-2" edge="1">
|
|
|
|
|
<mxGeometry x="0.2405" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2241.999999999999" y="7245" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2793" y="7425" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-4" value="<div><span style="font-size: 14px">若子类设置限流策略(FlowControlParam),</span></div><div><span style="font-size: 14px">则会走限流流程</span></div><span style="font-size: 14px"><br></span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="1770" y="7161" width="180" height="84" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-6" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>ConfigService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ getProperty(String, String): String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2240" y="6640" width="269" height="71" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-7" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ConfigServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ getProperty(String, String): String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2694.5" y="6649.5" width="269" height="62" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-8" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=1.001;entryY=0.639;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="n5k2HQ6m22gCbRI7tMAW-6" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2695" y="6685" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2950" y="7122.459999999999" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-9" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-8" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-30" y="4" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-10" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-2" target="n5k2HQ6m22gCbRI7tMAW-6" edge="1">
|
|
|
|
|
<mxGeometry x="-0.3666" y="1" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2340" y="7165" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2750" y="6970" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-11" value="<div></div><span style="font-size: 14px">获取限流配置,不启用nacos、apollo,则用本地local.propertiess配置</span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2020" y="6760" width="210.85" height="80" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-15" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>FlowControlParam</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"># rateLimitStrategy: RateLimitStrategy<br/># rateLimiter: RateLimiter<br/># rateInitValue: Double</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"># canEqual(Object): boolean<br/>+ equals(Object): boolean<br/>+ builder(): FlowControlParamBuilder<br/>+ toString(): String<br/>+ hashCode(): int</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> rateInitValue: Double<br/> rateLimiter: RateLimiter<br/> rateLimitStrategy: RateLimitStrategy</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2648.85" y="6810" width="292" height="327" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-19" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>FlowControlService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ flowControl(TaskInfo, FlowControlParam): Double</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2528.5" y="7300" width="374" height="89" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-20" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-2" target="n5k2HQ6m22gCbRI7tMAW-19" edge="1">
|
|
|
|
|
<mxGeometry x="0.0644" y="-3" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2350" y="7424.25" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2687.5" y="7420" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2198" y="7345" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-21" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>RequestRateLimitServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ flowControl(TaskInfo, FlowControlParam): Double</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3103.5" y="7260" width="374" height="62" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-22" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>SendUserNumRateLimitServiceImpl</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ flowControl(TaskInfo, FlowControlParam): Double</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3103.5" y="7380" width="374" height="62" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-23" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-21" target="n5k2HQ6m22gCbRI7tMAW-19" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3035.5" y="7320" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3119.4990000000003" y="7134.369000000001" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2995.5" y="7291" />
|
|
|
|
|
<mxPoint x="2995.5" y="7345" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-24" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-23" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="35" y="-15" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-25" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-22" target="n5k2HQ6m22gCbRI7tMAW-19" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3113.5" y="7301" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2995.5" y="7411" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="2995.5" y="7411" />
|
|
|
|
|
<mxPoint x="2995.5" y="7345" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-26" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-25" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="33" y="8" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-33" value="<div></div><span style="font-size: 14px">根据请求数限流<br></span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3225.53" y="7077" width="129.93" height="60" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-34" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-21" target="n5k2HQ6m22gCbRI7tMAW-33" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3545.43" y="7060.05" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3684.9959999999996" y="7060.000000000001" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-35" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-34" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-36" value="<div></div><span style="font-size: 14px">根据用户数限流</span><span style="font-size: 14px"><br></span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3225.54" y="7550" width="129.92" height="60" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-36" target="n5k2HQ6m22gCbRI7tMAW-22" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3619.01" y="7543" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3619.005" y="7420" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-38" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-37" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-39" value="<div></div><span style="font-size: 14px">启动时,初始化flowControlServiceMap,而后根据参数,选择不同的限流策略</span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="2252.5" y="7470" width="173" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-40" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="n5k2HQ6m22gCbRI7tMAW-39" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2337" y="7345" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2725" y="7520" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-41" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-40" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-42" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0;entryY=0;entryDx=210.85000000000002;entryDy=55;entryPerimeter=0;" parent="1" target="n5k2HQ6m22gCbRI7tMAW-11" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2370" y="6815" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2725.5" y="7500" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-43" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-42" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-31" y="-3" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-44" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0;entryY=0;entryDx=75;entryDy=0;entryPerimeter=0;" parent="1" target="n5k2HQ6m22gCbRI7tMAW-4" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1845" y="7110" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1758.4999999999995" y="6940" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-45" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-44" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="4" y="6" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-46" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-15" target="n5k2HQ6m22gCbRI7tMAW-2" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2509" y="6980" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2669" y="6980" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-47" value="composition" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-46" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.225" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-47" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-48" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-15" edge="1">
|
|
|
|
|
<mxGeometry x="-0.3666" y="1" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3035.499999999999" y="7012" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3090" y="6892" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-49" value="<div style="text-align: center"><span><b>RateLimiter</b></span></div><hr size="1"><p style="margin: 0 0 0 4px ; line-height: 1.6">+ ...</p><p style="margin: 0 0 0 4px ; line-height: 1.6">+ ...</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3090" y="6860" width="269" height="80" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-50" value="<div></div><span style="font-size: 14px">com.google.common.util.concurrent,限流核心工具,三方工具包实现</span>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;align=left;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="3099.13" y="6670" width="250.73" height="90" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-51" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="n5k2HQ6m22gCbRI7tMAW-49" target="n5k2HQ6m22gCbRI7tMAW-50" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="3260" y="6873" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="3259.995" y="6750" as="targetPoint" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="n5k2HQ6m22gCbRI7tMAW-52" value="desc" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="n5k2HQ6m22gCbRI7tMAW-51" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.1818" y="1" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="19" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-1" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br></p><p style="margin:0px;margin-top:4px;text-align:center;"><b>MessageReceiver</b></p><hr size="1"><p style="margin:0 0 0 4px;line-height:1.6;"><br></p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
|
|
|
|
|
<mxGeometry x="950.5" y="3960" width="295" height="89" as="geometry" />
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-6" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-28" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1092" y="4070" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1100" y="4049" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-7" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rWbyQFEmdfEx521ZcHpP-6" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="6" y="-17" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-8" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1098" y="3780" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1510" y="4229" as="targetPoint" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-12" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-84" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1108" y="4391" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1108" y="4059" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="724" y="4160" />
|
|
|
|
|
<mxPoint x="1100" y="4160" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-13" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rWbyQFEmdfEx521ZcHpP-12" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-41" y="84" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-14" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-29" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="734" y="4389" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1108" y="4059" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1410" y="4160" />
|
|
|
|
|
<mxPoint x="1100" y="4160" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-15" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rWbyQFEmdfEx521ZcHpP-14" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="16" y="76" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-16" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="ZhQrENzqxHASfNF_k0y2-30" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="1772" y="4330" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="1460" y="4000" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="1840" y="4160" />
|
|
|
|
|
<mxPoint x="1100" y="4160" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-17" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rWbyQFEmdfEx521ZcHpP-16" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="173" y="76" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-18" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="nYgzgHyj-BZefE6Z0Cs2-81" target="rWbyQFEmdfEx521ZcHpP-1" edge="1">
|
|
|
|
|
<mxGeometry width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="734" y="4389" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="940" y="4090" as="targetPoint" />
|
|
|
|
|
<Array as="points">
|
|
|
|
|
<mxPoint x="342" y="4160" />
|
|
|
|
|
<mxPoint x="1100" y="4160" />
|
|
|
|
|
</Array>
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="rWbyQFEmdfEx521ZcHpP-19" value="implements" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="rWbyQFEmdfEx521ZcHpP-18" vertex="1" connectable="0">
|
|
|
|
|
<mxGeometry x="-0.2625" y="4" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="-172" y="84" as="offset" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
<mxCell id="2EYwseJNPYI1ZuTYU_al-1" value="Use" style="endArrow=open;endSize=12;dashed=1;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ZhQrENzqxHASfNF_k0y2-30" target="ZhQrENzqxHASfNF_k0y2-31">
|
|
|
|
|
<mxGeometry x="-0.0072" y="2" width="160" relative="1" as="geometry">
|
|
|
|
|
<mxPoint x="2062" y="4860" as="sourcePoint" />
|
|
|
|
|
<mxPoint x="2613" y="5040" as="targetPoint" />
|
|
|
|
|
<mxPoint as="offset" />
|
|
|
|
|
<Array as="points" />
|
|
|
|
|
</mxGeometry>
|
|
|
|
|
</mxCell>
|
|
|
|
|
</root>
|
|
|
|
|
</mxGraphModel>
|
|
|
|
|
</diagram>
|
|
|
|
|
</mxfile>
|