多个正则支持逗号分隔

This commit is contained in:
redkale
2024-06-21 11:04:33 +08:00
parent c99cf9d0d9
commit 38e8da994e
4 changed files with 376 additions and 374 deletions

View File

@@ -342,8 +342,8 @@ serviceid1_name1 serviceid1_name2 serviceid2_name1 serviceid2_name2
path: servlet的ContextPath前缀 默认为空
autoload="true" 默认值. 自动加载classpath下所有的Servlet类
autoload="false" 需要显著的指定Service类
includes 当autoload="true" 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
excludes 当autoload="true" 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开
includes 当autoload="true" 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;或者逗号,隔开
excludes 当autoload="true" 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;或者逗号,隔开
-->
<servlets path="/pipes" autoload="true" includes="" excludes="">
<!--

View File

@@ -108,8 +108,10 @@ public final class ClassFilter<T> {
Set<String> includeValues,
Set<String> excludeValues) {
ClassFilter filter = new ClassFilter(classLoader, null, null, excludeSuperClasses);
filter.setIncludePatterns(includeRegxs == null ? null : includeRegxs.split(";"));
filter.setExcludePatterns(excludeRegxs == null ? null : excludeRegxs.split(";"));
filter.setIncludePatterns(
includeRegxs == null ? null : includeRegxs.replace(',', ';').split(";"));
filter.setExcludePatterns(
excludeRegxs == null ? null : excludeRegxs.replace(',', ';').split(";"));
filter.setPrivilegeIncludes(includeValues);
filter.setPrivilegeExcludes(excludeValues);
return filter;

View File

@@ -628,8 +628,8 @@ public abstract class NodeServer {
if (list.getBoolValue("autoload", true)) {
String includes = list.getValue("includes", "");
String excludes = list.getValue("excludes", "");
filter.setIncludePatterns(includes.split(";"));
filter.setExcludePatterns(excludes.split(";"));
filter.setIncludePatterns(includes.replace(',', ';').split(";"));
filter.setExcludePatterns(excludes.replace(',', ';').split(";"));
} else if (ref2 == null || ref2 == Annotation.class) { // service如果是autoload=false则不需要加载
filter.setRefused(true);
} else if (ref2 != Annotation.class) {

View File

@@ -424,8 +424,8 @@ public class MessageModuleEngine extends ModuleEngine {
if (consumerConf.getBoolValue("autoload", true)) {
String includes = consumerConf.getValue("includes", "");
String excludes = consumerConf.getValue("excludes", "");
filter.setIncludePatterns(includes.split(";"));
filter.setExcludePatterns(excludes.split(";"));
filter.setIncludePatterns(includes.replace(',', ';').split(";"));
filter.setExcludePatterns(excludes.replace(',', ';').split(";"));
} else {
filter.setRefused(true);
}