Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
thythm
ribbon
提交
2145f21c
R
ribbon
项目概览
thythm
/
ribbon
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
ribbon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2145f21c
编写于
1月 15, 2013
作者:
A
Allen Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code refactoring.
上级
a7b7ae9d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
182 deletion
+15
-182
ribbon-core/src/main/java/com/netflix/loadbalancer/LockMap.java
...-core/src/main/java/com/netflix/loadbalancer/LockMap.java
+0
-174
ribbon-core/src/main/java/com/netflix/niws/client/ClientFactory.java
.../src/main/java/com/netflix/niws/client/ClientFactory.java
+3
-3
ribbon-core/src/main/java/com/netflix/niws/client/ClientRequest.java
.../src/main/java/com/netflix/niws/client/ClientRequest.java
+12
-5
未找到文件。
ribbon-core/src/main/java/com/netflix/loadbalancer/LockMap.java
已删除
100644 → 0
浏览文件 @
a7b7ae9d
package
com.netflix.loadbalancer
;
// like synchronizedMap, but with support for explicit re-entrant
// locking
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.locks.ReentrantReadWriteLock
;
import
java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock
;
import
java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock
;
public
class
LockMap
<
K
,
V
>
extends
HashMap
<
K
,
V
>
{
protected
ReentrantReadWriteLock
rwl
=
new
ReentrantReadWriteLock
();
protected
ReadLock
rl
=
rwl
.
readLock
();
protected
WriteLock
wl
=
rwl
.
writeLock
();
public
LockMap
()
{
super
();
}
public
LockMap
(
int
initialCapacity
)
{
super
(
initialCapacity
);
}
public
LockMap
(
Map
<?
extends
K
,
?
extends
V
>
m
)
{
super
(
m
);
}
public
LockMap
(
int
initialCapacity
,
float
loadFactor
)
{
super
(
initialCapacity
,
loadFactor
);
}
public
void
readLock
()
{
rl
.
lock
();
}
public
void
readUnlock
()
{
rl
.
unlock
();
}
public
void
writeLock
()
{
wl
.
lock
();
}
public
void
writeUnlock
()
{
wl
.
unlock
();
}
@Override
public
void
clear
()
{
try
{
wl
.
lock
();
super
.
clear
();
}
finally
{
wl
.
unlock
();
}
}
@Override
public
boolean
containsKey
(
Object
key
)
{
try
{
rl
.
lock
();
return
super
.
containsKey
(
key
);
}
finally
{
rl
.
unlock
();
}
}
@Override
public
boolean
containsValue
(
Object
value
)
{
try
{
rl
.
lock
();
return
super
.
containsValue
(
value
);
}
finally
{
rl
.
unlock
();
}
}
@Override
public
Set
<
Map
.
Entry
<
K
,
V
>>
entrySet
()
{
try
{
rl
.
lock
();
return
super
.
entrySet
();
}
finally
{
rl
.
unlock
();
}
}
@Override
public
V
get
(
Object
key
)
{
try
{
rl
.
lock
();
return
super
.
get
(
key
);
}
finally
{
rl
.
unlock
();
}
}
@Override
public
boolean
isEmpty
()
{
try
{
rl
.
lock
();
return
super
.
isEmpty
();
}
finally
{
rl
.
unlock
();
}
}
@Override
public
Set
<
K
>
keySet
()
{
try
{
rl
.
lock
();
return
super
.
keySet
();
}
finally
{
rl
.
unlock
();
}
}
@Override
public
V
put
(
K
key
,
V
value
)
{
try
{
wl
.
lock
();
return
super
.
put
(
key
,
value
);
}
finally
{
wl
.
unlock
();
}
}
@Override
public
void
putAll
(
Map
<?
extends
K
,
?
extends
V
>
m
)
{
try
{
wl
.
lock
();
super
.
putAll
(
m
);
}
finally
{
wl
.
unlock
();
}
}
@Override
public
V
remove
(
Object
key
)
{
try
{
wl
.
lock
();
return
super
.
remove
(
key
);
}
finally
{
wl
.
unlock
();
}
}
@Override
public
int
size
()
{
try
{
rl
.
lock
();
return
super
.
size
();
}
finally
{
rl
.
unlock
();
}
}
@Override
public
Collection
<
V
>
values
()
{
try
{
rl
.
lock
();
return
super
.
values
();
}
finally
{
rl
.
unlock
();
}
}
@Override
public
Object
clone
()
{
try
{
rl
.
lock
();
LockMap
map
=
new
LockMap
();
map
.
putAll
(
this
);
return
map
;
}
finally
{
rl
.
unlock
();
}
}
}
ribbon-core/src/main/java/com/netflix/niws/client/ClientFactory.java
浏览文件 @
2145f21c
...
...
@@ -18,8 +18,8 @@ public class ClientFactory {
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ClientFactory
.
class
);
private
static
synchronized
AbstractClient
registerClientFromProperties
(
String
restClientName
,
NiwsClientConfig
niwsClientConfig
)
{
AbstractClient
client
=
null
;
private
static
synchronized
Abstract
LoadBalancerAware
Client
registerClientFromProperties
(
String
restClientName
,
NiwsClientConfig
niwsClientConfig
)
{
Abstract
LoadBalancerAware
Client
client
=
null
;
AbstractLoadBalancer
loadBalancer
=
null
;
try
{
if
(
simpleClientMap
.
get
(
restClientName
)
!=
null
)
{
...
...
@@ -29,7 +29,7 @@ public class ClientFactory {
}
try
{
String
clientClassName
=
(
String
)
niwsClientConfig
.
getProperty
(
NiwsClientConfigKey
.
ClientClassName
);
client
=
(
AbstractClient
)
instantiateNiwsConfigAwareClassInstance
(
clientClassName
,
niwsClientConfig
);
client
=
(
Abstract
LoadBalancerAware
Client
)
instantiateNiwsConfigAwareClassInstance
(
clientClassName
,
niwsClientConfig
);
boolean
initializeNFLoadBalancer
=
Boolean
.
valueOf
(
""
+
niwsClientConfig
.
getProperty
(
NiwsClientConfigKey
.
InitializeNFLoadBalancer
,
Boolean
.
valueOf
(
NiwsClientConfig
.
DEFAULT_ENABLE_LOADBALANCER
)));
...
...
ribbon-core/src/main/java/com/netflix/niws/client/ClientRequest.java
浏览文件 @
2145f21c
...
...
@@ -16,6 +16,13 @@ public class ClientRequest implements Cloneable {
this
.
uri
=
uri
;
}
public
ClientRequest
(
URI
uri
,
Object
loadBalancerKey
,
boolean
isRetriable
,
NiwsClientConfig
overrideConfig
)
{
this
.
uri
=
uri
;
this
.
loadBalancerKey
=
loadBalancerKey
;
this
.
isRetriable
=
isRetriable
;
this
.
overrideConfig
=
overrideConfig
;
}
public
ClientRequest
(
ClientRequest
request
)
{
this
.
uri
=
request
.
uri
;
this
.
loadBalancerKey
=
request
.
loadBalancerKey
;
...
...
@@ -28,7 +35,7 @@ public class ClientRequest implements Cloneable {
}
p
ublic
final
ClientRequest
setUri
(
URI
uri
)
{
p
rotected
final
ClientRequest
setUri
(
URI
uri
)
{
this
.
uri
=
uri
;
return
this
;
}
...
...
@@ -37,7 +44,7 @@ public class ClientRequest implements Cloneable {
return
loadBalancerKey
;
}
p
ublic
final
ClientRequest
setLoadBalancerKey
(
Object
loadBalancerKey
)
{
p
rotected
final
ClientRequest
setLoadBalancerKey
(
Object
loadBalancerKey
)
{
this
.
loadBalancerKey
=
loadBalancerKey
;
return
this
;
}
...
...
@@ -46,7 +53,7 @@ public class ClientRequest implements Cloneable {
return
isRetriable
;
}
p
ublic
final
ClientRequest
setRetriable
(
boolean
isRetriable
)
{
p
rotected
final
ClientRequest
setRetriable
(
boolean
isRetriable
)
{
this
.
isRetriable
=
isRetriable
;
return
this
;
}
...
...
@@ -55,12 +62,12 @@ public class ClientRequest implements Cloneable {
return
overrideConfig
;
}
p
ublic
final
ClientRequest
setOverrideConfig
(
NiwsClientConfig
overrideConfig
)
{
p
rotected
final
ClientRequest
setOverrideConfig
(
NiwsClientConfig
overrideConfig
)
{
this
.
overrideConfig
=
overrideConfig
;
return
this
;
}
public
ClientRequest
createWithNew
Uri
(
URI
newURI
)
{
public
ClientRequest
replace
Uri
(
URI
newURI
)
{
ClientRequest
req
;
try
{
req
=
(
ClientRequest
)
this
.
clone
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录