Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
incubator-dubbo
提交
b8827f9e
I
incubator-dubbo
项目概览
爱吃血肠
/
incubator-dubbo
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
incubator-dubbo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b8827f9e
编写于
3月 08, 2019
作者:
K
ken.lj
提交者:
Huxing Zhang
3月 08, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Dubbo-3367] Fail to parse config text with white space (#3590)
上级
a8b28cf3
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
58 addition
and
4 deletion
+58
-4
dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
...va/org/apache/dubbo/common/config/ConfigurationUtils.java
+3
-3
dubbo-common/src/main/java/org/apache/dubbo/common/utils/StringUtils.java
.../main/java/org/apache/dubbo/common/utils/StringUtils.java
+4
-0
dubbo-common/src/test/java/org/apache/dubbo/common/config/ConfigurationUtilsTest.java
...rg/apache/dubbo/common/config/ConfigurationUtilsTest.java
+42
-0
dubbo-common/src/test/java/org/apache/dubbo/common/utils/StringUtilsTest.java
...t/java/org/apache/dubbo/common/utils/StringUtilsTest.java
+8
-0
dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
...src/main/java/org/apache/dubbo/config/AbstractConfig.java
+1
-1
未找到文件。
dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java
浏览文件 @
b8827f9e
...
@@ -38,7 +38,7 @@ public class ConfigurationUtils {
...
@@ -38,7 +38,7 @@ public class ConfigurationUtils {
public
static
int
getServerShutdownTimeout
()
{
public
static
int
getServerShutdownTimeout
()
{
int
timeout
=
Constants
.
DEFAULT_SERVER_SHUTDOWN_TIMEOUT
;
int
timeout
=
Constants
.
DEFAULT_SERVER_SHUTDOWN_TIMEOUT
;
Configuration
configuration
=
Environment
.
getInstance
().
getConfiguration
();
Configuration
configuration
=
Environment
.
getInstance
().
getConfiguration
();
String
value
=
configuration
.
getString
(
Constants
.
SHUTDOWN_WAIT_KEY
);
String
value
=
StringUtils
.
trim
(
configuration
.
getString
(
Constants
.
SHUTDOWN_WAIT_KEY
)
);
if
(
value
!=
null
&&
value
.
length
()
>
0
)
{
if
(
value
!=
null
&&
value
.
length
()
>
0
)
{
try
{
try
{
...
@@ -47,7 +47,7 @@ public class ConfigurationUtils {
...
@@ -47,7 +47,7 @@ public class ConfigurationUtils {
// ignore
// ignore
}
}
}
else
{
}
else
{
value
=
configuration
.
getString
(
Constants
.
SHUTDOWN_WAIT_SECONDS_KEY
);
value
=
StringUtils
.
trim
(
configuration
.
getString
(
Constants
.
SHUTDOWN_WAIT_SECONDS_KEY
)
);
if
(
value
!=
null
&&
value
.
length
()
>
0
)
{
if
(
value
!=
null
&&
value
.
length
()
>
0
)
{
try
{
try
{
timeout
=
Integer
.
parseInt
(
value
)
*
1000
;
timeout
=
Integer
.
parseInt
(
value
)
*
1000
;
...
@@ -64,7 +64,7 @@ public class ConfigurationUtils {
...
@@ -64,7 +64,7 @@ public class ConfigurationUtils {
}
}
public
static
String
getProperty
(
String
property
,
String
defaultValue
)
{
public
static
String
getProperty
(
String
property
,
String
defaultValue
)
{
return
Environment
.
getInstance
().
getConfiguration
().
getString
(
property
,
defaultValue
);
return
StringUtils
.
trim
(
Environment
.
getInstance
().
getConfiguration
().
getString
(
property
,
defaultValue
)
);
}
}
public
static
Map
<
String
,
String
>
parseProperties
(
String
content
)
throws
IOException
{
public
static
Map
<
String
,
String
>
parseProperties
(
String
content
)
throws
IOException
{
...
...
dubbo-common/src/main/java/org/apache/dubbo/common/utils/StringUtils.java
浏览文件 @
b8827f9e
...
@@ -789,4 +789,8 @@ public final class StringUtils {
...
@@ -789,4 +789,8 @@ public final class StringUtils {
}
}
return
buf
.
toString
();
return
buf
.
toString
();
}
}
public
static
String
trim
(
String
str
)
{
return
str
==
null
?
null
:
str
.
trim
();
}
}
}
dubbo-common/src/test/java/org/apache/dubbo/common/config/ConfigurationUtilsTest.java
0 → 100644
浏览文件 @
b8827f9e
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.apache.dubbo.common.config
;
import
org.apache.dubbo.common.Constants
;
import
org.junit.jupiter.api.Assertions
;
import
org.junit.jupiter.api.Test
;
/**
*
*/
public
class
ConfigurationUtilsTest
{
@Test
public
void
testGetServerShutdownTimeout
()
{
System
.
setProperty
(
Constants
.
SHUTDOWN_WAIT_KEY
,
" 10000"
);
Assertions
.
assertEquals
(
10000
,
ConfigurationUtils
.
getServerShutdownTimeout
());
System
.
clearProperty
(
Constants
.
SHUTDOWN_WAIT_KEY
);
}
@Test
public
void
testGetProperty
()
{
System
.
setProperty
(
Constants
.
SHUTDOWN_WAIT_KEY
,
" 10000"
);
Assertions
.
assertEquals
(
"10000"
,
ConfigurationUtils
.
getProperty
(
Constants
.
SHUTDOWN_WAIT_KEY
));
System
.
clearProperty
(
Constants
.
SHUTDOWN_WAIT_KEY
);
}
}
dubbo-common/src/test/java/org/apache/dubbo/common/utils/StringUtilsTest.java
浏览文件 @
b8827f9e
...
@@ -287,4 +287,12 @@ public class StringUtilsTest {
...
@@ -287,4 +287,12 @@ public class StringUtilsTest {
assertThat
(
s
,
containsString
(
"0,"
));
assertThat
(
s
,
containsString
(
"0,"
));
assertThat
(
s
,
containsString
(
"{\"enabled\":true}"
));
assertThat
(
s
,
containsString
(
"{\"enabled\":true}"
));
}
}
@Test
public
void
testTrim
()
{
assertEquals
(
"left blank"
,
StringUtils
.
trim
(
" left blank"
));
assertEquals
(
"right blank"
,
StringUtils
.
trim
(
"right blank "
));
assertEquals
(
"bi-side blank"
,
StringUtils
.
trim
(
" bi-side blank "
));
}
}
}
\ No newline at end of file
dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
浏览文件 @
b8827f9e
...
@@ -557,7 +557,7 @@ public abstract class AbstractConfig implements Serializable {
...
@@ -557,7 +557,7 @@ public abstract class AbstractConfig implements Serializable {
for
(
Method
method
:
methods
)
{
for
(
Method
method
:
methods
)
{
if
(
ClassHelper
.
isSetter
(
method
))
{
if
(
ClassHelper
.
isSetter
(
method
))
{
try
{
try
{
String
value
=
compositeConfiguration
.
getString
(
extractPropertyName
(
getClass
(),
method
));
String
value
=
StringUtils
.
trim
(
compositeConfiguration
.
getString
(
extractPropertyName
(
getClass
(),
method
)
));
// isTypeMatch() is called to avoid duplicate and incorrect update, for example, we have two 'setGeneric' methods in ReferenceConfig.
// isTypeMatch() is called to avoid duplicate and incorrect update, for example, we have two 'setGeneric' methods in ReferenceConfig.
if
(
StringUtils
.
isNotEmpty
(
value
)
&&
ClassHelper
.
isTypeMatch
(
method
.
getParameterTypes
()[
0
],
value
))
{
if
(
StringUtils
.
isNotEmpty
(
value
)
&&
ClassHelper
.
isTypeMatch
(
method
.
getParameterTypes
()[
0
],
value
))
{
method
.
invoke
(
this
,
ClassHelper
.
convertPrimitive
(
method
.
getParameterTypes
()[
0
],
value
));
method
.
invoke
(
this
,
ClassHelper
.
convertPrimitive
(
method
.
getParameterTypes
()[
0
],
value
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录