Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_57962205
redisson
提交
3f51e5f2
R
redisson
项目概览
weixin_57962205
/
redisson
与 Fork 源项目一致
从无法访问的项目Fork
通知
10
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redisson
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3f51e5f2
编写于
7月 24, 2021
作者:
N
Nikita Koksharov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactoring
上级
28f5d195
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
9 addition
and
46 deletion
+9
-46
redisson/src/main/java/org/redisson/connection/ClientConnectionsEntry.java
.../java/org/redisson/connection/ClientConnectionsEntry.java
+0
-4
redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java
...ain/java/org/redisson/connection/pool/ConnectionPool.java
+6
-23
redisson/src/main/java/org/redisson/pubsub/AsyncSemaphore.java
...son/src/main/java/org/redisson/pubsub/AsyncSemaphore.java
+3
-19
未找到文件。
redisson/src/main/java/org/redisson/connection/ClientConnectionsEntry.java
浏览文件 @
3f51e5f2
...
...
@@ -176,10 +176,6 @@ public class ClientConnectionsEntry {
runnable
.
run
();
}
public
void
removeConnection
(
Runnable
runnable
)
{
freeConnectionsCounter
.
remove
(
runnable
);
}
public
void
releaseConnection
()
{
freeConnectionsCounter
.
release
();
}
...
...
redisson/src/main/java/org/redisson/connection/pool/ConnectionPool.java
浏览文件 @
3f51e5f2
...
...
@@ -228,29 +228,12 @@ abstract class ConnectionPool<T extends RedisConnection> {
protected
final
RFuture
<
T
>
acquireConnection
(
RedisCommand
<?>
command
,
ClientConnectionsEntry
entry
)
{
RPromise
<
T
>
result
=
new
RedissonPromise
<
T
>();
AcquireCallback
<
T
>
callback
=
new
AcquireCallback
<
T
>()
{
boolean
executed
;
@Override
public
void
run
()
{
executed
=
true
;
connectTo
(
entry
,
result
,
command
);
}
@Override
public
void
accept
(
T
t
,
Throwable
u
)
{
if
(
executed
)
{
return
;
}
entry
.
removeConnection
(
this
);
}
};
result
.
onComplete
(
callback
);
acquireConnection
(
entry
,
callback
,
command
);
return
result
;
}
Runnable
callback
=
()
->
{
connectTo
(
entry
,
result
,
command
);
};
acquireConnection
(
entry
,
callback
,
command
);
return
result
;
}
protected
boolean
tryAcquireConnection
(
ClientConnectionsEntry
entry
)
{
if
(
entry
.
getNodeType
()
==
NodeType
.
SLAVE
&&
entry
.
isFailed
())
{
...
...
redisson/src/main/java/org/redisson/pubsub/AsyncSemaphore.java
浏览文件 @
3f51e5f2
...
...
@@ -28,7 +28,6 @@ public class AsyncSemaphore {
private
final
AtomicInteger
counter
;
private
final
Queue
<
Runnable
>
listeners
=
new
ConcurrentLinkedQueue
<>();
private
final
Set
<
Runnable
>
removedListeners
=
Collections
.
newSetFromMap
(
new
ConcurrentHashMap
<>());
public
AsyncSemaphore
(
int
permits
)
{
counter
=
new
AtomicInteger
(
permits
);
...
...
@@ -40,25 +39,19 @@ public class AsyncSemaphore {
acquire
(
runnable
);
try
{
boolean
r
=
latch
.
await
(
timeoutMillis
,
TimeUnit
.
MILLISECONDS
);
if
(!
r
)
{
remove
(
runnable
);
}
return
r
;
return
latch
.
await
(
timeoutMillis
,
TimeUnit
.
MILLISECONDS
);
}
catch
(
InterruptedException
e
)
{
remove
(
runnable
);
Thread
.
currentThread
().
interrupt
();
return
false
;
}
}
public
int
queueSize
()
{
return
listeners
.
size
()
-
removedListeners
.
size
()
;
return
listeners
.
size
();
}
public
void
removeListeners
()
{
listeners
.
clear
();
removedListeners
.
clear
();
}
public
void
acquire
(
Runnable
listener
)
{
...
...
@@ -79,21 +72,12 @@ public class AsyncSemaphore {
return
;
}
if
(
removedListeners
.
remove
(
listener
))
{
counter
.
incrementAndGet
();
tryRun
();
}
else
{
listener
.
run
();
}
listener
.
run
();
}
else
{
counter
.
incrementAndGet
();
}
}
public
void
remove
(
Runnable
listener
)
{
removedListeners
.
add
(
listener
);
}
public
int
getCounter
()
{
return
counter
.
get
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录