diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/LiteflowProperty.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/LiteflowProperty.java
index 60d38e4aa..d1d1690cf 100644
--- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/LiteflowProperty.java
+++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/LiteflowProperty.java
@@ -1,6 +1,7 @@
package com.yomahub.liteflow.solon;
+import org.noear.solon.Utils;
import org.noear.solon.annotation.Configuration;
import org.noear.solon.annotation.Inject;
@@ -84,7 +85,11 @@ public class LiteflowProperty {
}
public void setRuleSource(String ruleSource) {
- this.ruleSource = ruleSource;
+ if (ruleSource.contains("*")) {
+ this.ruleSource = String.join(",", Utils.resolvePaths(ruleSource));
+ } else {
+ this.ruleSource = ruleSource;
+ }
}
public int getSlotSize() {
diff --git a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java
index 49d24799c..712f2821c 100644
--- a/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java
+++ b/liteflow-solon-plugin/src/main/java/com/yomahub/liteflow/solon/integration/XPluginImpl.java
@@ -48,19 +48,18 @@ public class XPluginImpl implements Plugin {
node1.setNodeId(nodeId);
node1.setType(anno.nodeType());
- FlowBus.addSpringScanNode(bw.name(), node1);
+ FlowBus.addSpringScanNode(nodeId, node1);
});
context.beanBuilderAdd(LiteflowComponent.class, (clz, bw, anno) -> {
if(NodeComponent.class.isAssignableFrom(clz)) {
NodeComponent node1 = bw.raw();
- String id1 = Utils.annoAlias(anno.id(), anno.value());
- String name1 =Utils.annoAlias(anno.name(), id1);
+ String nodeId = Utils.annoAlias(anno.id(), anno.value());
- node1.setNodeId(id1);
- node1.setName(name1);
+ node1.setNodeId(nodeId);
+ node1.setName(anno.name());
- FlowBus.addSpringScanNode(node1.getNodeId(), node1);
+ FlowBus.addSpringScanNode(nodeId, node1);
}else{
context.beanExtract(bw); //尝试提取 LiteflowMethod 函数
}
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/ImplicitSubFlowELSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/ImplicitSubFlowELSpringbootTest.java
index 2ccd18509..f84de8d1c 100644
--- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/ImplicitSubFlowELSpringbootTest.java
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/ImplicitSubFlowELSpringbootTest.java
@@ -23,7 +23,6 @@ import java.util.Set;
*/
@RunWith(SolonJUnit4ClassRunner.class)
@TestPropertySource(value = "classpath:/subflow/application-implicit.properties")
-@Import(scanPackages = {"com.yomahub.liteflow.test.subflow.cmp2"})
public class ImplicitSubFlowELSpringbootTest extends BaseTest {
@Inject
private FlowExecutor flowExecutor;
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELSpringbootTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELSpringbootTest.java
index be7023a69..b758e1f4b 100644
--- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELSpringbootTest.java
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowInDifferentConfigELSpringbootTest.java
@@ -21,7 +21,6 @@ import org.noear.solon.test.annotation.TestPropertySource;
*/
@RunWith(SolonJUnit4ClassRunner.class)
@TestPropertySource("classpath:/subflow/application-subInDifferentConfig1.properties")
-@Import(scanPackages = {"com.yomahub.liteflow.test.subflow.cmp1","com.yomahub.liteflow.test.subflow.cmp2"})
public class SubflowInDifferentConfigELSpringbootTest extends BaseTest {
@Inject
private FlowExecutor flowExecutor;
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowXMLELSpringBootTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowXMLELSpringBootTest.java
index 6e7be89c7..675d0be27 100644
--- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowXMLELSpringBootTest.java
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowXMLELSpringBootTest.java
@@ -19,7 +19,6 @@ import org.noear.solon.test.annotation.TestPropertySource;
*/
@RunWith(SolonJUnit4ClassRunner.class)
@TestPropertySource(value = "classpath:/subflow/application-xml.properties")
-@Import(scanPackages = {"com.yomahub.liteflow.test.subflow.cmp1"})
public class SubflowXMLELSpringBootTest extends BaseTest {
@Inject
private FlowExecutor flowExecutor;
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowYmlELSpringBootTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowYmlELSpringBootTest.java
index e8eedb6f3..12a1c3b29 100644
--- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowYmlELSpringBootTest.java
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowYmlELSpringBootTest.java
@@ -19,7 +19,6 @@ import org.noear.solon.test.annotation.TestPropertySource;
*/
@RunWith(SolonJUnit4ClassRunner.class)
@TestPropertySource(value = "classpath:/subflow/application-yml.properties")
-@Import(scanPackages = {"com.yomahub.liteflow.test.subflow.cmp1"})
public class SubflowYmlELSpringBootTest extends BaseTest {
@Inject
private FlowExecutor flowExecutor;
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowJsonELSpringBootTest.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/SubflowJsonELSpringBootTest.java
similarity index 87%
rename from liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowJsonELSpringBootTest.java
rename to liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/SubflowJsonELSpringBootTest.java
index be0bf2a6b..1702ce0f7 100644
--- a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow/SubflowJsonELSpringBootTest.java
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/SubflowJsonELSpringBootTest.java
@@ -1,4 +1,4 @@
-package com.yomahub.liteflow.test.subflow;
+package com.yomahub.liteflow.test.subflow2;
import com.yomahub.liteflow.core.FlowExecutor;
import com.yomahub.liteflow.flow.LiteflowResponse;
@@ -6,7 +6,6 @@ import com.yomahub.liteflow.test.BaseTest;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.noear.solon.annotation.Import;
import org.noear.solon.annotation.Inject;
import org.noear.solon.test.SolonJUnit4ClassRunner;
import org.noear.solon.test.annotation.TestPropertySource;
@@ -19,7 +18,6 @@ import org.noear.solon.test.annotation.TestPropertySource;
*/
@RunWith(SolonJUnit4ClassRunner.class)
@TestPropertySource(value = "classpath:/subflow/application-json.properties")
-@Import(scanPackages = {"com.yomahub.liteflow.test.subflow.cmp1"})
public class SubflowJsonELSpringBootTest extends BaseTest {
@Inject
private FlowExecutor flowExecutor;
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ACmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ACmp.java
new file mode 100644
index 000000000..720376df0
--- /dev/null
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ACmp.java
@@ -0,0 +1,13 @@
+package com.yomahub.liteflow.test.subflow2.cmp1;
+
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+
+@Component("a")
+public class ACmp extends NodeComponent {
+ @Override
+ public void process() {
+ System.out.println("Acomp executed!");
+ }
+}
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/BCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/BCmp.java
new file mode 100644
index 000000000..e72e220f2
--- /dev/null
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/BCmp.java
@@ -0,0 +1,13 @@
+package com.yomahub.liteflow.test.subflow2.cmp1;
+
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+
+@Component("b")
+public class BCmp extends NodeComponent {
+ @Override
+ public void process() {
+ System.out.println("Bcomp executed!");
+ }
+}
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/CCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/CCmp.java
new file mode 100644
index 000000000..0bfbee60f
--- /dev/null
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/CCmp.java
@@ -0,0 +1,13 @@
+package com.yomahub.liteflow.test.subflow2.cmp1;
+
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+
+@Component("c")
+public class CCmp extends NodeComponent {
+ @Override
+ public void process() throws Exception {
+ System.out.println("Ccomp executed!");
+ }
+}
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/DCmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/DCmp.java
new file mode 100644
index 000000000..e2e43805d
--- /dev/null
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/DCmp.java
@@ -0,0 +1,13 @@
+package com.yomahub.liteflow.test.subflow2.cmp1;
+
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+
+@Component("d")
+public class DCmp extends NodeComponent {
+ @Override
+ public void process() throws Exception {
+ System.out.println("Dcomp executed!");
+ }
+}
diff --git a/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ECmp.java b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ECmp.java
new file mode 100644
index 000000000..361455157
--- /dev/null
+++ b/liteflow-testcase-el/liteflow-testcase-el-solon/src/test/java/com/yomahub/liteflow/test/subflow2/cmp1/ECmp.java
@@ -0,0 +1,14 @@
+package com.yomahub.liteflow.test.subflow2.cmp1;
+
+import com.yomahub.liteflow.core.NodeComponent;
+import org.noear.solon.annotation.Component;
+
+
+@Component("e")
+public class ECmp extends NodeComponent {
+
+ @Override
+ public void process() throws Exception {
+ System.out.println("Ecomp executed!");
+ }
+}
diff --git a/pom.xml b/pom.xml
index cebcbbc0b..56deab30a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
1.8.13
1.2.3
- 1.11.7-M1
+ 1.11.7-M2
4.1.84.Final
31.1-jre