diff --git a/liteflow-core/pom.xml b/liteflow-core/pom.xml
index 6e1cd6d6a..777e9b61a 100644
--- a/liteflow-core/pom.xml
+++ b/liteflow-core/pom.xml
@@ -28,22 +28,27 @@
org.springframework
spring-beans
+ true
org.springframework
spring-context
+ true
org.springframework
spring-aop
+ true
org.springframework
spring-expression
+ true
org.springframework
spring-test
+ true
org.slf4j
diff --git a/liteflow-test-spring/pom.xml b/liteflow-test-spring/pom.xml
new file mode 100644
index 000000000..b15c3e545
--- /dev/null
+++ b/liteflow-test-spring/pom.xml
@@ -0,0 +1,51 @@
+
+
+
+ liteflow
+ com.thebeastshop
+ 2.2.0-SNAPSHOT
+
+ 4.0.0
+
+ liteflow-test-spring
+
+
+
+ org.springframework
+ spring-beans
+ true
+
+
+ org.springframework
+ spring-context
+ true
+
+
+ org.springframework
+ spring-aop
+ true
+
+
+ org.springframework
+ spring-expression
+ true
+
+
+ org.springframework
+ spring-test
+ true
+
+
+ com.thebeastshop
+ liteflow-core
+ ${project.parent.version}
+
+
+ ch.qos.logback
+ logback-classic
+ 1.2.3
+
+
+
diff --git a/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/Runner.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/Runner.java
new file mode 100644
index 000000000..577b1726b
--- /dev/null
+++ b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/Runner.java
@@ -0,0 +1,22 @@
+package com.thebeastshop.flowtest;
+
+import com.thebeastshop.liteflow.core.FlowExecutor;
+import com.thebeastshop.liteflow.entity.data.Slot;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class Runner {
+
+ private static final Logger log = LoggerFactory.getLogger(Runner.class);
+ private static ClassPathXmlApplicationContext context;
+
+ public static void main(String[] args) throws Throwable {
+ context = new ClassPathXmlApplicationContext(new String[]{"/applicationContext.xml"});
+ context.start();
+ log.info("启动成功");
+ FlowExecutor flowExecutor = context.getBean(FlowExecutor.class);
+ Slot slot = flowExecutor.execute("chain3", "it's a request");
+ System.out.println(slot);
+ }
+}
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/AComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/AComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/AComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/AComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/BComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/BComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/BComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/BComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/CComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/CComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/CComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/CComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/CondComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/CondComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/CondComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/CondComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/DComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/DComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/DComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/DComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/EComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/EComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/EComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/EComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/FComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/FComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/FComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/FComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/GComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/GComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/GComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/GComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/HComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/HComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/HComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/HComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M1Component.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M1Component.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M1Component.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M1Component.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M2Component.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M2Component.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M2Component.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M2Component.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M3Component.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M3Component.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/M3Component.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/M3Component.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/MComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/MComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/MComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/MComponent.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/P1Component.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/P1Component.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/P1Component.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/P1Component.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/P2Component.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/P2Component.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/P2Component.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/P2Component.java
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/components/PComponent.java b/liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/PComponent.java
similarity index 100%
rename from liteflow-test/src/main/java/com/thebeastshop/flowtest/components/PComponent.java
rename to liteflow-test-spring/src/main/java/com/thebeastshop/flowtest/components/PComponent.java
diff --git a/liteflow-test-spring/src/main/resources/applicationContext.xml b/liteflow-test-spring/src/main/resources/applicationContext.xml
new file mode 100644
index 000000000..531efac34
--- /dev/null
+++ b/liteflow-test-spring/src/main/resources/applicationContext.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+ config/flow.xml
+
+
+
+
+
diff --git a/liteflow-test/src/main/resources/config/flow.xml b/liteflow-test-spring/src/main/resources/config/flow.xml
similarity index 100%
rename from liteflow-test/src/main/resources/config/flow.xml
rename to liteflow-test-spring/src/main/resources/config/flow.xml
diff --git a/liteflow-test-spring/src/main/resources/logback.xml b/liteflow-test-spring/src/main/resources/logback.xml
new file mode 100644
index 000000000..980b9bbb6
--- /dev/null
+++ b/liteflow-test-spring/src/main/resources/logback.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+
+
+
+
+ ${LOG_HOME}/${APP_NAME}.log
+
+
+ ${LOG_HOME}/${APP_NAME}.log.%d{yyyy-MM-dd}.%i.log
+
+ 30
+
+ 1000MB
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+
+
+
+
+
+
+
+
+
diff --git a/liteflow-test/pom.xml b/liteflow-test/pom.xml
deleted file mode 100644
index cc3fd6793..000000000
--- a/liteflow-test/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.0.5.RELEASE
-
-
- com.thebeastshop
- liteflow-test
- 1.0.0
- Demo project for Spring Boot
-
-
- 1.8
-
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
-
- com.thebeastshop
- liteflow-spring-boot-starter
- 2.2.0-SNAPSHOT
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.18.1
-
- true
-
-
-
- maven-deploy-plugin
-
- true
-
-
-
-
-
-
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/FlowtestApplication.java b/liteflow-test/src/main/java/com/thebeastshop/flowtest/FlowtestApplication.java
deleted file mode 100644
index e2d0755a4..000000000
--- a/liteflow-test/src/main/java/com/thebeastshop/flowtest/FlowtestApplication.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.thebeastshop.flowtest;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SpringBootApplication
-public class FlowtestApplication {
-
- public static void main(String[] args) {
- try{
- SpringApplication.run(FlowtestApplication.class, args);
- }catch (Throwable t){
- t.printStackTrace();
- }
- }
-}
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/TestFlow.java b/liteflow-test/src/main/java/com/thebeastshop/flowtest/TestFlow.java
deleted file mode 100644
index 88851b292..000000000
--- a/liteflow-test/src/main/java/com/thebeastshop/flowtest/TestFlow.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.thebeastshop.flowtest;
-
-import com.thebeastshop.liteflow.core.FlowExecutor;
-import com.thebeastshop.liteflow.entity.data.Slot;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
-
-import javax.annotation.Resource;
-
-@Component
-public class TestFlow implements CommandLineRunner {
-
- @Resource
- private FlowExecutor flowExecutor;
-
- @Override
- public void run(String... args) throws Exception {
- Slot slot = flowExecutor.execute("chain1", "it's a request");
- System.out.println(slot);
- }
-}
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest.java b/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest.java
deleted file mode 100644
index 9804a5d78..000000000
--- a/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package com.thebeastshop.flowtest.curator;
-
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.framework.CuratorFrameworkFactory;
-import org.apache.curator.framework.recipes.cache.*;
-import org.apache.curator.retry.RetryNTimes;
-
-public class CuratorTest {
-
- /** Zookeeper info */
- private static final String ZK_ADDRESS = "123.206.92.144:2181,123.206.92.144:2182,123.206.92.144:2183";
- private static final String ZK_PATH = "/zktest/a1/aa1";
-
- public static void main(String[] args) throws Exception {
- // 1.Connect to zk
- CuratorFramework client = CuratorFrameworkFactory.newClient(
- ZK_ADDRESS,
- new RetryNTimes(10, 5000)
- );
- client.start();
-
- checkNode(client);
-
-// childNodeListen(client);
-
-// removeNodeData(client);
-
-// createNode(client);
-
-// nodeListen(client);
-//
-// modifyNodeData(client);
-
- System.in.read();
-
-// getNodeData(client);
-//
-//
-
- }
-
- private static void checkNode(CuratorFramework client) throws Exception {
- System.out.println(client.checkExists().forPath("/test"));
- }
-
- private static void createNode(CuratorFramework client) throws Exception {
- String data1 = "nice to meet you";
- print("create", ZK_PATH, data1);
- client.create().
- creatingParentsIfNeeded().
- forPath(ZK_PATH, data1.getBytes());
- }
-
- private static void getNodeData(CuratorFramework client) throws Exception {
- print("ls", "/");
- print(client.getChildren().forPath("/"));
- print("get", ZK_PATH);
- print(client.getData().forPath(ZK_PATH));
- }
-
- private static void modifyNodeData(CuratorFramework client) throws Exception {
- String data2 = "world for u";
- print("set", ZK_PATH, data2);
- client.setData().forPath(ZK_PATH, data2.getBytes());
- print("get", ZK_PATH);
- print(client.getData().forPath(ZK_PATH));
- }
-
- private static void removeNodeData(CuratorFramework client) throws Exception {
- print("delete", "/zktest/dddd");
- client.delete().forPath("/zktest/dddd");
- print("ls", "/");
- print(client.getChildren().forPath("/"));
- }
-
- private static void nodeListen(CuratorFramework client) throws Exception {
- final NodeCache cache = new NodeCache(client,ZK_PATH);
- cache.start();
-
- cache.getListenable().addListener(new NodeCacheListener() {
-
- @Override
- public void nodeChanged() throws Exception {
- byte[] res = cache.getCurrentData().getData();
- System.out.println("data: " + new String(res));
- }
- });
- }
-
- private static void childNodeListen(CuratorFramework client) throws Exception {
- final PathChildrenCache cache = new PathChildrenCache(client,"/zktest",true);
- cache.start();
-
- cache.getListenable().addListener(new PathChildrenCacheListener() {
-
- @Override
- public void childEvent(CuratorFramework curator, PathChildrenCacheEvent event) throws Exception {
- switch (event.getType()) {
- case CHILD_ADDED:
- System.out.println("add:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- case CHILD_UPDATED:
- System.out.println("update:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- case CHILD_REMOVED:
- System.out.println("remove:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- default:
- break;
- }
- }
- });
- }
-
-
- private static void print(String... cmds) {
- StringBuilder text = new StringBuilder("$ ");
- for (String cmd : cmds) {
- text.append(cmd).append(" ");
- }
- System.out.println(text.toString());
- }
-
- private static void print(Object result) {
- System.out.println(
- result instanceof byte[]
- ? new String((byte[]) result)
- : result);
- }
-
-}
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest2.java b/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest2.java
deleted file mode 100644
index cb3c2a9a4..000000000
--- a/liteflow-test/src/main/java/com/thebeastshop/flowtest/curator/CuratorTest2.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.thebeastshop.flowtest.curator;
-
-import org.apache.curator.framework.CuratorFramework;
-import org.apache.curator.framework.CuratorFrameworkFactory;
-import org.apache.curator.framework.recipes.cache.*;
-import org.apache.curator.retry.RetryNTimes;
-
-public class CuratorTest2 {
-
- /** Zookeeper info */
- private static final String ZK_ADDRESS = "114.55.174.189:2181";
- private static final String ZK_PATH = "/zktest/ffff";
-
- public static void main(String[] args) throws Exception {
- // 1.Connect to zk
- CuratorFramework client = CuratorFrameworkFactory.newClient(
- ZK_ADDRESS,
- new RetryNTimes(10, 5000)
- );
- client.start();
-
-// removeNodeData(client);
-
-// createNode(client);
-
-// nodeListen(client);
-//
- modifyNodeData(client);
-
- }
-
- private static void createNode(CuratorFramework client) throws Exception {
- String data1 = "hello";
- print("create", ZK_PATH, data1);
- client.create().
- creatingParentsIfNeeded().
- forPath(ZK_PATH, data1.getBytes());
- }
-
- private static void getNodeData(CuratorFramework client) throws Exception {
- print("ls", "/");
- print(client.getChildren().forPath("/"));
- print("get", ZK_PATH);
- print(client.getData().forPath(ZK_PATH));
- }
-
- private static void modifyNodeData(CuratorFramework client) throws Exception {
- String data2 = "world for u";
- print("set", ZK_PATH, data2);
- client.setData().forPath(ZK_PATH, data2.getBytes());
- print("get", ZK_PATH);
- print(client.getData().forPath(ZK_PATH));
- }
-
- private static void removeNodeData(CuratorFramework client) throws Exception {
- print("delete", "/zktest/dddd");
- client.delete().forPath("/zktest/dddd");
- print("ls", "/");
- print(client.getChildren().forPath("/"));
- }
-
- private static void nodeListen(CuratorFramework client) throws Exception {
- final NodeCache cache = new NodeCache(client,ZK_PATH);
- cache.start();
-
- cache.getListenable().addListener(new NodeCacheListener() {
-
- @Override
- public void nodeChanged() throws Exception {
- byte[] res = cache.getCurrentData().getData();
- System.out.println("data: " + new String(res));
- }
- });
- }
-
- private static void childNodeListen(CuratorFramework client) throws Exception {
- final PathChildrenCache cache = new PathChildrenCache(client,"/zktest",true);
- cache.start();
-
- cache.getListenable().addListener(new PathChildrenCacheListener() {
-
- @Override
- public void childEvent(CuratorFramework curator, PathChildrenCacheEvent event) throws Exception {
- switch (event.getType()) {
- case CHILD_ADDED:
- System.out.println("add:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- case CHILD_UPDATED:
- System.out.println("update:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- case CHILD_REMOVED:
- System.out.println("remove:" + event.getData().getPath() + ":" + new String(event.getData().getData()));
- break;
- default:
- break;
- }
- }
- });
- }
-
-
- private static void print(String... cmds) {
- StringBuilder text = new StringBuilder("$ ");
- for (String cmd : cmds) {
- text.append(cmd).append(" ");
- }
- System.out.println(text.toString());
- }
-
- private static void print(Object result) {
- System.out.println(
- result instanceof byte[]
- ? new String((byte[]) result)
- : result);
- }
-
-}
diff --git a/liteflow-test/src/main/java/com/thebeastshop/flowtest/regex/RegexTest.java b/liteflow-test/src/main/java/com/thebeastshop/flowtest/regex/RegexTest.java
deleted file mode 100644
index 5d1ab825f..000000000
--- a/liteflow-test/src/main/java/com/thebeastshop/flowtest/regex/RegexTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.thebeastshop.flowtest.regex;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class RegexTest {
-
- public static void main(String[] args) {
- String str = "192.168.1.1:2181,192.168.1.2:2182,192.168.1.3:2183";
- List list = new ArrayList();
- Pattern p = Pattern.compile("[\\w\\d][\\w\\d\\.]+\\:(\\d)+(\\,[\\w\\d][\\w\\d\\.]+\\:(\\d)+)*");
- Matcher m = p.matcher(str);
- while(m.find()){
- list.add(m.group());
- }
- System.out.println(list.size());
- System.out.println(list);
-
- }
-
-}
diff --git a/liteflow-test/src/main/resources/application.properties b/liteflow-test/src/main/resources/application.properties
deleted file mode 100644
index 5638b647a..000000000
--- a/liteflow-test/src/main/resources/application.properties
+++ /dev/null
@@ -1 +0,0 @@
-liteflow.ruleSource=config/flow.xml
diff --git a/liteflow-test/src/test/java/com/thebeastshop/flowtest/FlowtestApplicationTests.java b/liteflow-test/src/test/java/com/thebeastshop/flowtest/FlowtestApplicationTests.java
deleted file mode 100644
index 97c0a42f1..000000000
--- a/liteflow-test/src/test/java/com/thebeastshop/flowtest/FlowtestApplicationTests.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.thebeastshop.flowtest;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest
-public class FlowtestApplicationTests {
-
- @Test
- public void contextLoads() {
- }
-
-}
diff --git a/pom.xml b/pom.xml
index 304801e24..206181c27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -139,8 +139,9 @@
liteflow-core
- liteflow-test
- liteflow-spring-boot-starter
+ liteflow-spring-boot-starter
+ liteflow-test-springboot
+ liteflow-test-spring