From 6c3eaedbecccdaccec2b3ad681d081fb5539c54a Mon Sep 17 00:00:00 2001 From: "bryan.zhang" Date: Thu, 21 Mar 2019 19:54:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0liteflow-springboot-starter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liteflow-core/pom.xml | 88 ++++++++++ .../liteflow/core/FlowExecutor.java | 0 .../liteflow/core/NodeComponent.java | 0 .../liteflow/core/NodeCondComponent.java | 0 .../liteflow/entity/config/Chain.java | 0 .../liteflow/entity/config/Condition.java | 0 .../liteflow/entity/config/Node.java | 0 .../liteflow/entity/config/ThenCondition.java | 0 .../liteflow/entity/config/WhenCondition.java | 0 .../liteflow/entity/data/AbsSlot.java | 0 .../liteflow/entity/data/CmpStep.java | 0 .../liteflow/entity/data/CmpStepType.java | 0 .../liteflow/entity/data/DataBus.java | 0 .../liteflow/entity/data/DefaultSlot.java | 0 .../liteflow/entity/data/Slot.java | 0 .../entity/monitor/CompStatistics.java | 0 .../exception/ChainNotFoundException.java | 0 .../ComponentNotAccessException.java | 0 .../FlowExecutorNotInitException.java | 0 .../exception/FlowSystemException.java | 0 .../exception/NoAvailableSlotException.java | 0 .../liteflow/exception/ParseException.java | 0 .../thebeastshop/liteflow/flow/FlowBus.java | 0 .../liteflow/monitor/MonitorBus.java | 0 .../liteflow/parser/ClassXmlFlowParser.java | 0 .../liteflow/parser/LocalXmlFlowParser.java | 0 .../liteflow/parser/RegexEntity.java | 0 .../liteflow/parser/XmlFlowParser.java | 0 .../parser/ZookeeperXmlFlowParser.java | 0 .../liteflow/spring/ComponentScaner.java | 0 .../liteflow/util/Dom4JReader.java | 0 .../thebeastshop/liteflow/util/IOUtil.java | 0 .../liteflow/util/LOGOPrinter.java | 0 .../liteflow/util/LimitQueue.java | 0 .../thebeastshop/liteflow/test/TestMain.java | 0 .../liteflow/test/TestWithSpringMain.java | 0 .../liteflow/test/component/AComponent.java | 0 .../liteflow/test/component/BComponent.java | 0 .../liteflow/test/component/CComponent.java | 0 .../test/component/CondComponent.java | 0 .../liteflow/test/component/DComponent.java | 0 .../liteflow/test/component/EComponent.java | 0 .../liteflow/test/component/FComponent.java | 0 .../liteflow/test/component/GComponent.java | 0 .../liteflow/test/component/HComponent.java | 0 .../liteflow/test/component/M1Component.java | 0 .../liteflow/test/component/M2Component.java | 0 .../liteflow/test/component/M3Component.java | 0 .../liteflow/test/component/MComponent.java | 0 .../liteflow/test/component/P1Component.java | 0 .../liteflow/test/component/P2Component.java | 0 .../liteflow/test/component/PComponent.java | 0 .../src/test/resources/config/flow.xml | 0 .../src/test/resources/log4j.xml | 0 .../src/test/resources/spring-test.xml | 0 liteflow-spring-boot-starter/pom.xml | 32 ++++ .../springboot/LiteflowAutoConfiguration.java | 40 +++++ .../liteflow/springboot/LiteflowProperty.java | 19 +++ .../main/resources/META-INF/spring.factories | 3 + liteflow-test/pom.xml | 2 +- .../src/main/resources/application.properties | 2 +- liteflow/pom.xml | 150 ----------------- .../spring/FlowContextInitializer.java | 39 ----- .../main/resources/META-INF/spring.factories | 2 - pom.xml | 158 ++++++++++++++++++ 65 files changed, 342 insertions(+), 193 deletions(-) create mode 100644 liteflow-core/pom.xml rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/core/NodeComponent.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/core/NodeCondComponent.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/config/Chain.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/config/Condition.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/config/Node.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/config/ThenCondition.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/config/WhenCondition.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStep.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStepType.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/DataBus.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/DefaultSlot.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/entity/monitor/CompStatistics.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/ChainNotFoundException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/ComponentNotAccessException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/FlowExecutorNotInitException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/FlowSystemException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/NoAvailableSlotException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/exception/ParseException.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/flow/FlowBus.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/monitor/MonitorBus.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/parser/ClassXmlFlowParser.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/parser/LocalXmlFlowParser.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/parser/RegexEntity.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/parser/XmlFlowParser.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/parser/ZookeeperXmlFlowParser.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/spring/ComponentScaner.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/util/Dom4JReader.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/util/IOUtil.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/util/LOGOPrinter.java (100%) rename {liteflow => liteflow-core}/src/main/java/com/thebeastshop/liteflow/util/LimitQueue.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/TestMain.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/TestWithSpringMain.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/AComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/BComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/CComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/CondComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/DComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/EComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/FComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/GComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/HComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/M1Component.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/M2Component.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/M3Component.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java (100%) rename {liteflow => liteflow-core}/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java (100%) rename {liteflow => liteflow-core}/src/test/resources/config/flow.xml (100%) rename {liteflow => liteflow-core}/src/test/resources/log4j.xml (100%) rename {liteflow => liteflow-core}/src/test/resources/spring-test.xml (100%) create mode 100644 liteflow-spring-boot-starter/pom.xml create mode 100644 liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowAutoConfiguration.java create mode 100644 liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowProperty.java create mode 100644 liteflow-spring-boot-starter/src/main/resources/META-INF/spring.factories delete mode 100644 liteflow/pom.xml delete mode 100644 liteflow/src/main/java/com/thebeastshop/liteflow/spring/FlowContextInitializer.java delete mode 100644 liteflow/src/main/resources/META-INF/spring.factories create mode 100644 pom.xml diff --git a/liteflow-core/pom.xml b/liteflow-core/pom.xml new file mode 100644 index 000000000..27f1febce --- /dev/null +++ b/liteflow-core/pom.xml @@ -0,0 +1,88 @@ + + + com.thebeastshop + liteflow-core + jar + 4.0.0 + 2.1.0 + + + com.thebeastshop + liteflow + 2.1.0 + + + + + org.apache.commons + commons-lang3 + + + org.apache.commons + commons-collections4 + + + commons-io + commons-io + + + org.springframework + spring-beans + + + org.springframework + spring-context + + + org.springframework + spring-aop + + + org.springframework + spring-expression + + + org.springframework + spring-test + + + org.slf4j + slf4j-api + + + com.alibaba + fastjson + + + dom4j + dom4j + + + junit + junit + + + commons-logging + commons-logging + + + org.apache.curator + curator-framework + + + log4j + log4j + + + slf4j-api + org.slf4j + + + + + org.apache.curator + curator-recipes + + + diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/core/NodeComponent.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/core/NodeComponent.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/core/NodeComponent.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/core/NodeComponent.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/core/NodeCondComponent.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/core/NodeCondComponent.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/core/NodeCondComponent.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/core/NodeCondComponent.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Chain.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Chain.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Chain.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Chain.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Condition.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Condition.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Condition.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Condition.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Node.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Node.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/Node.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/Node.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/ThenCondition.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/ThenCondition.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/ThenCondition.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/ThenCondition.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/WhenCondition.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/WhenCondition.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/config/WhenCondition.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/config/WhenCondition.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/AbsSlot.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStep.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStep.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStep.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStep.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStepType.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStepType.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStepType.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/CmpStepType.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/DataBus.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/DataBus.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/DataBus.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/DataBus.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/DefaultSlot.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/DefaultSlot.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/DefaultSlot.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/DefaultSlot.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/data/Slot.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/entity/monitor/CompStatistics.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/monitor/CompStatistics.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/entity/monitor/CompStatistics.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/entity/monitor/CompStatistics.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/ChainNotFoundException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ChainNotFoundException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/ChainNotFoundException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ChainNotFoundException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/ComponentNotAccessException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ComponentNotAccessException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/ComponentNotAccessException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ComponentNotAccessException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/FlowExecutorNotInitException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/FlowExecutorNotInitException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/FlowExecutorNotInitException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/FlowExecutorNotInitException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/FlowSystemException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/FlowSystemException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/FlowSystemException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/FlowSystemException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/NoAvailableSlotException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/NoAvailableSlotException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/NoAvailableSlotException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/NoAvailableSlotException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/exception/ParseException.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ParseException.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/exception/ParseException.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/exception/ParseException.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/flow/FlowBus.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/flow/FlowBus.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/flow/FlowBus.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/flow/FlowBus.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/monitor/MonitorBus.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/monitor/MonitorBus.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/monitor/MonitorBus.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/monitor/MonitorBus.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/parser/ClassXmlFlowParser.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/ClassXmlFlowParser.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/parser/ClassXmlFlowParser.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/ClassXmlFlowParser.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/parser/LocalXmlFlowParser.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/LocalXmlFlowParser.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/parser/LocalXmlFlowParser.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/LocalXmlFlowParser.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/parser/RegexEntity.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/RegexEntity.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/parser/RegexEntity.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/RegexEntity.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/XmlFlowParser.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/parser/XmlFlowParser.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/XmlFlowParser.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/parser/ZookeeperXmlFlowParser.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/ZookeeperXmlFlowParser.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/parser/ZookeeperXmlFlowParser.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/parser/ZookeeperXmlFlowParser.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/spring/ComponentScaner.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/spring/ComponentScaner.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/spring/ComponentScaner.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/spring/ComponentScaner.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/util/Dom4JReader.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/util/Dom4JReader.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/util/Dom4JReader.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/util/Dom4JReader.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/util/IOUtil.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/util/IOUtil.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/util/IOUtil.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/util/IOUtil.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/util/LOGOPrinter.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/util/LOGOPrinter.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/util/LOGOPrinter.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/util/LOGOPrinter.java diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/util/LimitQueue.java b/liteflow-core/src/main/java/com/thebeastshop/liteflow/util/LimitQueue.java similarity index 100% rename from liteflow/src/main/java/com/thebeastshop/liteflow/util/LimitQueue.java rename to liteflow-core/src/main/java/com/thebeastshop/liteflow/util/LimitQueue.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/TestMain.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/TestMain.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/TestMain.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/TestMain.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/TestWithSpringMain.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/TestWithSpringMain.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/TestWithSpringMain.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/TestWithSpringMain.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/AComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/AComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/AComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/AComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/BComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/BComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/BComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/BComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/CComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/CComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/CComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/CComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/CondComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/CondComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/CondComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/CondComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/DComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/DComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/DComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/DComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/EComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/EComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/EComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/EComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/FComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/FComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/FComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/FComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/GComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/GComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/GComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/GComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/HComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/HComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/HComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/HComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M1Component.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M1Component.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M1Component.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M1Component.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M2Component.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M2Component.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M2Component.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M2Component.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M3Component.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M3Component.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/M3Component.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/M3Component.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/MComponent.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/P1Component.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/P2Component.java diff --git a/liteflow/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java b/liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java similarity index 100% rename from liteflow/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java rename to liteflow-core/src/test/java/com/thebeastshop/liteflow/test/component/PComponent.java diff --git a/liteflow/src/test/resources/config/flow.xml b/liteflow-core/src/test/resources/config/flow.xml similarity index 100% rename from liteflow/src/test/resources/config/flow.xml rename to liteflow-core/src/test/resources/config/flow.xml diff --git a/liteflow/src/test/resources/log4j.xml b/liteflow-core/src/test/resources/log4j.xml similarity index 100% rename from liteflow/src/test/resources/log4j.xml rename to liteflow-core/src/test/resources/log4j.xml diff --git a/liteflow/src/test/resources/spring-test.xml b/liteflow-core/src/test/resources/spring-test.xml similarity index 100% rename from liteflow/src/test/resources/spring-test.xml rename to liteflow-core/src/test/resources/spring-test.xml diff --git a/liteflow-spring-boot-starter/pom.xml b/liteflow-spring-boot-starter/pom.xml new file mode 100644 index 000000000..142176d0c --- /dev/null +++ b/liteflow-spring-boot-starter/pom.xml @@ -0,0 +1,32 @@ + + + + liteflow + com.thebeastshop + 2.1.0 + + 4.0.0 + + liteflow-spring-boot-starter + + + + com.thebeastshop + liteflow-core + ${project.parent.version} + + + org.springframework.boot + spring-boot-autoconfigure + 2.0.5.RELEASE + + + org.springframework.boot + spring-boot-configuration-processor + 2.0.5.RELEASE + + + + diff --git a/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowAutoConfiguration.java new file mode 100644 index 000000000..160fd922a --- /dev/null +++ b/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowAutoConfiguration.java @@ -0,0 +1,40 @@ +package com.thebeastshop.liteflow.springboot; + +import com.google.common.collect.Lists; +import com.thebeastshop.liteflow.core.FlowExecutor; +import com.thebeastshop.liteflow.spring.ComponentScaner; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Configuration +@ConditionalOnProperty(name = "liteflow.ruleSource") +public class LiteflowAutoConfiguration { + + @Bean + public ComponentScaner componentScaner(){ + return new ComponentScaner(); + } + + @Bean + public FlowExecutor flowExecutor(LiteflowProperty property){ + if(StringUtils.isNotBlank(property.getRuleSource())){ + List ruleList = Lists.newArrayList(property.getRuleSource().split(",")); + FlowExecutor flowExecutor = new FlowExecutor(); + flowExecutor.setRulePath(ruleList); + return flowExecutor; + }else{ + return null; + } + } +} diff --git a/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowProperty.java b/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowProperty.java new file mode 100644 index 000000000..c97115e64 --- /dev/null +++ b/liteflow-spring-boot-starter/src/main/java/com/thebeastshop/liteflow/springboot/LiteflowProperty.java @@ -0,0 +1,19 @@ +package com.thebeastshop.liteflow.springboot; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class LiteflowProperty { + + @Value("${liteflow.ruleSource}") + private String ruleSource; + + public String getRuleSource() { + return ruleSource; + } + + public void setRuleSource(String ruleSource) { + this.ruleSource = ruleSource; + } +} diff --git a/liteflow-spring-boot-starter/src/main/resources/META-INF/spring.factories b/liteflow-spring-boot-starter/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..5f08005da --- /dev/null +++ b/liteflow-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -0,0 +1,3 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ + com.thebeastshop.liteflow.springboot.LiteflowProperty,\ + com.thebeastshop.liteflow.springboot.LiteflowAutoConfiguration diff --git a/liteflow-test/pom.xml b/liteflow-test/pom.xml index 49fcc8cc7..2c8fe3f96 100644 --- a/liteflow-test/pom.xml +++ b/liteflow-test/pom.xml @@ -25,7 +25,7 @@ com.thebeastshop - liteflow + liteflow-spring-boot-starter 2.1.0 diff --git a/liteflow-test/src/main/resources/application.properties b/liteflow-test/src/main/resources/application.properties index c79fb6b3e..5638b647a 100644 --- a/liteflow-test/src/main/resources/application.properties +++ b/liteflow-test/src/main/resources/application.properties @@ -1 +1 @@ -liteFlow.ruleSource=config/flow.xml +liteflow.ruleSource=config/flow.xml diff --git a/liteflow/pom.xml b/liteflow/pom.xml deleted file mode 100644 index eda89e07a..000000000 --- a/liteflow/pom.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - com.thebeastshop - liteflow - jar - 4.0.0 - 2.1.0 - - - UTF-8 - 1.8 - 3.4 - 4.1 - 2.4 - 1.2 - 5.0.9.RELEASE - 1.7.21 - 1.2.17 - 1.7.5 - 1.7.13 - 1.2.7 - 1.6.1 - 2.12.0 - 4.12 - - - - - org.apache.commons - commons-lang3 - ${commons.lang3.version} - - - org.apache.commons - commons-collections4 - ${commons-collections.version} - - - commons-io - commons-io - ${commons-io.version} - - - org.springframework - spring-beans - ${spring.version} - - - org.springframework - spring-context - ${spring.version} - - - org.springframework - spring-aop - ${spring.version} - - - org.springframework - spring-expression - ${spring.version} - - - org.springframework - spring-test - ${spring.version} - - - org.slf4j - slf4j-api - ${org.slf4j.version} - - - com.alibaba - fastjson - ${fastjson.version} - - - dom4j - dom4j - ${dom4j.version} - - - junit - junit - ${junit.version} - - - commons-logging - commons-logging - ${commons-logging.version} - - - org.apache.curator - curator-framework - ${curator.version} - - - log4j - log4j - - - slf4j-api - org.slf4j - - - - - org.apache.curator - curator-recipes - ${curator.version} - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - UTF-8 - ${java.version} - ${java.version} - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.18.1 - - true - - - - - - - - nexus-releases - nexus-releases - http://118.178.236.200:8087/nexus/content/repositories/thirdparty - - - nexus-snapshots - nexus-snapshots - http://118.178.236.200:8087/nexus/content/repositories/snapshots - - - diff --git a/liteflow/src/main/java/com/thebeastshop/liteflow/spring/FlowContextInitializer.java b/liteflow/src/main/java/com/thebeastshop/liteflow/spring/FlowContextInitializer.java deleted file mode 100644 index 35ecefa2c..000000000 --- a/liteflow/src/main/java/com/thebeastshop/liteflow/spring/FlowContextInitializer.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.thebeastshop.liteflow.spring; - -import com.thebeastshop.liteflow.core.FlowExecutor; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.context.ApplicationContextInitializer; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.core.env.ConfigurableEnvironment; -import org.springframework.core.env.PropertySource; - -import java.util.Arrays; -import java.util.Iterator; - -public class FlowContextInitializer implements ApplicationContextInitializer { - - private final static String LITEFLOW_PROPERTY = "liteFlow.ruleSource"; - - @Override - public void initialize(ConfigurableApplicationContext context) { - ConfigurableEnvironment environment = context.getEnvironment(); - - Iterator> it = environment.getPropertySources().iterator(); - while (it.hasNext()){ - PropertySource propertySource = it.next(); - if(propertySource.containsProperty(LITEFLOW_PROPERTY)){ - //注册scaner - DefaultListableBeanFactory factory = (DefaultListableBeanFactory)context.getBeanFactory(); - BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(ComponentScaner.class); - factory.registerBeanDefinition("componentScaner", beanDefinitionBuilder.getRawBeanDefinition()); - //注册flowExecutor - String rulePath = (String)propertySource.getProperty(LITEFLOW_PROPERTY); - beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(FlowExecutor.class); - beanDefinitionBuilder.addPropertyValue("rulePath",Arrays.asList(rulePath.split(","))); - factory.registerBeanDefinition("flowExecutor", beanDefinitionBuilder.getRawBeanDefinition()); - } - } - } -} diff --git a/liteflow/src/main/resources/META-INF/spring.factories b/liteflow/src/main/resources/META-INF/spring.factories deleted file mode 100644 index e58aa7f0a..000000000 --- a/liteflow/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.context.ApplicationContextInitializer=\ - com.thebeastshop.liteflow.spring.FlowContextInitializer diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..2f841eb9d --- /dev/null +++ b/pom.xml @@ -0,0 +1,158 @@ + + + com.thebeastshop + liteflow + pom + 4.0.0 + 2.1.0 + + + UTF-8 + 1.8 + 3.4 + 4.1 + 2.4 + 1.2 + 5.0.9.RELEASE + 1.7.21 + 1.2.17 + 1.7.5 + 1.7.13 + 1.2.7 + 1.6.1 + 2.12.0 + 4.12 + + + + + + org.apache.commons + commons-lang3 + ${commons.lang3.version} + + + org.apache.commons + commons-collections4 + ${commons-collections.version} + + + commons-io + commons-io + ${commons-io.version} + + + org.springframework + spring-beans + ${spring.version} + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-aop + ${spring.version} + + + org.springframework + spring-expression + ${spring.version} + + + org.springframework + spring-test + ${spring.version} + + + org.slf4j + slf4j-api + ${org.slf4j.version} + + + com.alibaba + fastjson + ${fastjson.version} + + + dom4j + dom4j + ${dom4j.version} + + + junit + junit + ${junit.version} + + + commons-logging + commons-logging + ${commons-logging.version} + + + org.apache.curator + curator-framework + ${curator.version} + + + log4j + log4j + + + slf4j-api + org.slf4j + + + + + org.apache.curator + curator-recipes + ${curator.version} + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + UTF-8 + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + true + + + + + + + liteflow-core + liteflow-test + liteflow-spring-boot-starter + + + + + nexus-releases + nexus-releases + http://118.178.236.200:8087/nexus/content/repositories/thirdparty + + + nexus-snapshots + nexus-snapshots + http://118.178.236.200:8087/nexus/content/repositories/snapshots + + +