Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
d63cfc8e
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d63cfc8e
编写于
1月 22, 2015
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add JdkIdGenerator and use it in SockJS client
Issue: SPR-12658
上级
7621cc78
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
86 addition
and
6 deletion
+86
-6
spring-core/src/main/java/org/springframework/util/AlternativeJdkIdGenerator.java
...a/org/springframework/util/AlternativeJdkIdGenerator.java
+5
-3
spring-core/src/main/java/org/springframework/util/JdkIdGenerator.java
...rc/main/java/org/springframework/util/JdkIdGenerator.java
+34
-0
spring-core/src/main/java/org/springframework/util/SimpleIdGenerator.java
...main/java/org/springframework/util/SimpleIdGenerator.java
+44
-0
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/SockJsUrlInfo.java
...ringframework/web/socket/sockjs/client/SockJsUrlInfo.java
+3
-3
未找到文件。
spring-core/src/main/java/org/springframework/util/AlternativeJdkIdGenerator.java
浏览文件 @
d63cfc8e
...
...
@@ -22,9 +22,11 @@ import java.util.Random;
import
java.util.UUID
;
/**
* A variation of {@link UUID#randomUUID()} that uses {@link SecureRandom} only for the
* initial seed and {@link Random} thereafter. This provides better performance in
* exchange for less securely random id's.
* An {@link org.springframework.util.IdGenerator IdGenerator} that uses
* {@link SecureRandom} for the initial seed and {@link Random} thereafter
* instead of calling {@link UUID#randomUUID()} every time as
* {@link org.springframework.util.JdkIdGenerator JdkIdGenerator} does.
* This provides a better balance between securely random id's and performance.
*
* @author Rossen Stoyanchev
* @author Rob Winch
...
...
spring-core/src/main/java/org/springframework/util/JdkIdGenerator.java
0 → 100644
浏览文件 @
d63cfc8e
/*
* Copyright 2002-2013 the original author or authors.
*
* Licensed 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.springframework.util
;
import
java.util.UUID
;
/**
* An IdGenerator that calls {@link java.util.UUID#randomUUID()}.
*
* @author Rossen Stoyanchev
* @since 4.2
*/
public
class
JdkIdGenerator
implements
IdGenerator
{
public
UUID
generateId
()
{
return
UUID
.
randomUUID
();
}
}
spring-core/src/main/java/org/springframework/util/SimpleIdGenerator.java
0 → 100644
浏览文件 @
d63cfc8e
/*
* Copyright 2002-2013 the original author or authors.
*
* Licensed 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.springframework.util
;
import
java.util.UUID
;
import
java.util.concurrent.atomic.AtomicLong
;
/**
* An simple IdGenerator that starts at 1 and increments by 1 with each call.
*
* @author Rossen Stoyanchev
* @since 4.2
*/
public
class
SimpleIdGenerator
implements
IdGenerator
{
private
final
AtomicLong
mostSigBits
=
new
AtomicLong
(
0
);
private
final
AtomicLong
leastSigBits
=
new
AtomicLong
(
0
);
@Override
public
UUID
generateId
()
{
long
leastSigBits
=
this
.
leastSigBits
.
incrementAndGet
();
if
(
leastSigBits
==
0
)
{
this
.
mostSigBits
.
incrementAndGet
();
}
return
new
UUID
(
this
.
mostSigBits
.
get
(),
leastSigBits
);
}
}
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/SockJsUrlInfo.java
浏览文件 @
d63cfc8e
/*
* Copyright 2002-201
4
the original author or authors.
* Copyright 2002-201
5
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -19,8 +19,8 @@ package org.springframework.web.socket.sockjs.client;
import
java.net.URI
;
import
java.util.UUID
;
import
org.springframework.util.AlternativeJdkIdGenerator
;
import
org.springframework.util.IdGenerator
;
import
org.springframework.util.JdkIdGenerator
;
import
org.springframework.web.socket.sockjs.transport.TransportType
;
import
org.springframework.web.util.UriComponentsBuilder
;
...
...
@@ -33,7 +33,7 @@ import org.springframework.web.util.UriComponentsBuilder;
*/
public
class
SockJsUrlInfo
{
private
static
final
IdGenerator
idGenerator
=
new
Alternative
JdkIdGenerator
();
private
static
final
IdGenerator
idGenerator
=
new
JdkIdGenerator
();
private
final
URI
sockJsUrl
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录