ClassFilter.toPattern优化
This commit is contained in:
@@ -271,12 +271,12 @@ serviceid1_name1 serviceid1_name2 serviceid2_name1 serviceid2_name2
|
||||
【节点在<server>中唯一】
|
||||
当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()。
|
||||
-->
|
||||
<request>
|
||||
<remoteaddr value="request.headers.X-RemoteAddress"/>
|
||||
<remoteaddr value="request.headers.X-RemoteAddress,X-Forwarded-For"/>
|
||||
<locale value="request.headers.locale" />
|
||||
<rpc authenticator="org.redkale.net.http.HttpRpcAuthenticator的实现类"/>
|
||||
</request>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -414,6 +414,7 @@ public final class ClassFilter<T> {
|
||||
* 一个*表示包的一个层级, 两个*表示包的多层级
|
||||
* 例如:
|
||||
* *.platf.** 转成 ^(\w+)\.platf\.(.*)$
|
||||
* .platf. 转成 ^(.*)\.platf\.(.*)$
|
||||
*
|
||||
* @param regex 正则表达式
|
||||
* @return Pattern
|
||||
@@ -422,6 +423,9 @@ public final class ClassFilter<T> {
|
||||
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, "(.*)") + "$";
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user