From c3573733106e7a31b2dee220cf5420eea9893050 Mon Sep 17 00:00:00 2001 From: redkale Date: Wed, 24 Jul 2024 22:32:28 +0800 Subject: [PATCH] =?UTF-8?q?ClassFilter.toPattern=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/META-INF/application-template.xml | 4 ++-- src/main/java/org/redkale/annotation/Resource.java | 2 +- src/main/java/org/redkale/boot/ClassFilter.java | 4 ++++ src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/META-INF/application-template.xml b/src/main/java/META-INF/application-template.xml index 0852e7245..5e4eb47e8 100644 --- a/src/main/java/META-INF/application-template.xml +++ b/src/main/java/META-INF/application-template.xml @@ -271,12 +271,12 @@ serviceid1_name1 serviceid1_name2 serviceid2_name1 serviceid2_name2 【节点在中唯一】 当Server为HTTP协议时, request节点才有效。 remoteaddr 节点: 替换请求方节点的IP地址, 通常请求方是由nginx等web静态服务器转发过的则需要配置该节点。 - 且value值只能是以request.headers.开头,表示从request.headers中获取对应的header值。 + 且value值只能是以request.headers.开头,表示从request.headers中获取对应的header值, 多个header用逗号隔开。 locale value值必须是request.headers.或request.parameters.开头。 例如下面例子获取request.getRemoteAddr()值,如果header存在X-RemoteAddress值则返回X-RemoteAddress值,不存在返回getRemoteAddress()。 --> - + diff --git a/src/main/java/org/redkale/annotation/Resource.java b/src/main/java/org/redkale/annotation/Resource.java index 59eaac2f8..77edfe289 100644 --- a/src/main/java/org/redkale/annotation/Resource.java +++ b/src/main/java/org/redkale/annotation/Resource.java @@ -15,7 +15,7 @@ import java.lang.annotation.*; * @since Common Annotations 1.0 * @since 2.8.0 */ -@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD}) +@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface Resource { diff --git a/src/main/java/org/redkale/boot/ClassFilter.java b/src/main/java/org/redkale/boot/ClassFilter.java index a12722169..d42c334ed 100644 --- a/src/main/java/org/redkale/boot/ClassFilter.java +++ b/src/main/java/org/redkale/boot/ClassFilter.java @@ -414,6 +414,7 @@ public final class ClassFilter { * 一个*表示包的一个层级, 两个*表示包的多层级 * 例如: * *.platf.** 转成 ^(\w+)\.platf\.(.*)$ + * .platf. 转成 ^(.*)\.platf\.(.*)$ * * @param regex 正则表达式 * @return Pattern @@ -422,6 +423,9 @@ public final class ClassFilter { if (regex.indexOf('^') >= 0 || regex.indexOf('$') >= 0 || regex.indexOf('\\') >= 0) { // 已经是标准正则表达式 return regex; } + if (regex.startsWith(".") && regex.endsWith(".")) { // .platf. + regex = "**" + regex + "**"; + } String str = regex.replace("**", sxing).replace("*", dxing); str = str.replace("\\.", dian).replace(".", dian); return "^" + str.replace(dian, "\\.").replace(dxing, "(\\w+)").replace(sxing, "(.*)") + "$"; diff --git a/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java b/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java index d17bab915..5ec9bba87 100644 --- a/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java +++ b/src/main/java/org/redkale/cluster/spi/CacheClusterAgent.java @@ -157,7 +157,7 @@ public class CacheClusterAgent extends ClusterAgent implements Resourcable { checkApplicationHealth(); checkHttpAddressHealth(); loadSncpAddressHealth(); - long e = System.currentTimeMillis() - s; + long e = (System.currentTimeMillis() - s) / 1000; if (e >= ttls * 9 / 10) { logger.log(Level.WARNING, getClass().getSimpleName() + ".schedule check-slower cost " + e + " ms"); } else if (e >= ttls / 2) {