From 5e1a44366303920589b171cf08c9278bb1671094 Mon Sep 17 00:00:00 2001 From: ZhiQiang Gu <43897640+yunfeiyanggzq@users.noreply.github.com> Date: Mon, 6 Jul 2020 13:46:04 +0800 Subject: [PATCH] demo: Update slot chain SPI demo (#1581) Signed-off-by: yunfeiyanggzq --- .../alibaba/csp/sentinel/demo/slot/DemoSlot.java | 4 +++- .../sentinel/demo/slot/DemoSlotChainBuilder.java | 16 +++++----------- ....alibaba.csp.sentinel.slotchain.ProcessorSlot | 2 ++ ...ibaba.csp.sentinel.slotchain.SlotChainBuilder | 2 -- 4 files changed, 10 insertions(+), 14 deletions(-) create mode 100644 sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.ProcessorSlot delete mode 100644 sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.SlotChainBuilder diff --git a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlot.java b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlot.java index ea9f329f..f43ae3ae 100644 --- a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlot.java +++ b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlot.java @@ -19,17 +19,19 @@ import com.alibaba.csp.sentinel.context.Context; import com.alibaba.csp.sentinel.node.DefaultNode; import com.alibaba.csp.sentinel.slotchain.AbstractLinkedProcessorSlot; import com.alibaba.csp.sentinel.slotchain.ResourceWrapper; +import com.alibaba.csp.sentinel.spi.SpiOrder; /** * An example slot that records current context and entry resource. * * @author Eric Zhao */ +@SpiOrder(-3500) public class DemoSlot extends AbstractLinkedProcessorSlot { @Override public void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode node, int count, boolean prioritized, Object... args) - throws Throwable { + throws Throwable { System.out.println("Current context: " + context.getName()); System.out.println("Current entry resource: " + context.getCurEntry().getResourceWrapper().getName()); diff --git a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlotChainBuilder.java b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlotChainBuilder.java index c311c89d..a1494c69 100644 --- a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlotChainBuilder.java +++ b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/java/com/alibaba/csp/sentinel/demo/slot/DemoSlotChainBuilder.java @@ -20,17 +20,11 @@ import com.alibaba.csp.sentinel.slotchain.SlotChainBuilder; import com.alibaba.csp.sentinel.slots.DefaultSlotChainBuilder; /** - * An example slot chain builder. To activate this slot chain builder, - * add the class name to corresponding SPI file in `resource/META-INF/services` directory. - * * @author Eric Zhao + * + * @deprecated since 1.7.2, we can use @SpiOrder(-3500) to adjust the order of {@link DemoSlot}, + * this class is reserved for compatibility with older versions. */ -public class DemoSlotChainBuilder implements SlotChainBuilder { - - @Override - public ProcessorSlotChain build() { - ProcessorSlotChain chain = new DefaultSlotChainBuilder().build(); - chain.addLast(new DemoSlot()); - return chain; - } +@Deprecated +public class DemoSlotChainBuilder extends DefaultSlotChainBuilder { } diff --git a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.ProcessorSlot b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.ProcessorSlot new file mode 100644 index 00000000..49f508f3 --- /dev/null +++ b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.ProcessorSlot @@ -0,0 +1,2 @@ +# Custom slot processor +com.alibaba.csp.sentinel.demo.slot.DemoSlot \ No newline at end of file diff --git a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.SlotChainBuilder b/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.SlotChainBuilder deleted file mode 100644 index 529b016a..00000000 --- a/sentinel-demo/sentinel-demo-slot-chain-spi/src/main/resources/META-INF/services/com.alibaba.csp.sentinel.slotchain.SlotChainBuilder +++ /dev/null @@ -1,2 +0,0 @@ -# Custom slot chain builder -com.alibaba.csp.sentinel.demo.slot.DemoSlotChainBuilder \ No newline at end of file