Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
jforum
提交
54b3f797
J
jforum
项目概览
街头小贩
/
jforum
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jforum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
54b3f797
编写于
10月 01, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
改用TWR
上级
67ccf278
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
29 deletion
+16
-29
trident/src/main/java/com/apobates/forum/member/storage/ehcache/OnlineMemberEhcacheStorage.java
...um/member/storage/ehcache/OnlineMemberEhcacheStorage.java
+12
-26
trident/src/main/java/com/apobates/forum/trident/TridentAppConfig.java
...ain/java/com/apobates/forum/trident/TridentAppConfig.java
+1
-1
trident/src/main/java/com/apobates/forum/trident/TridentFrontConfig.java
...n/java/com/apobates/forum/trident/TridentFrontConfig.java
+3
-2
未找到文件。
trident/src/main/java/com/apobates/forum/member/storage/ehcache/OnlineMemberEhcacheStorage.java
浏览文件 @
54b3f797
...
...
@@ -29,13 +29,16 @@ import java.util.Optional;
* @since 20201001
*/
public
class
OnlineMemberEhcacheStorage
implements
OnlineMemberStorage
{
@Autowired
private
CookieMetaConfig
metaConfig
;
@Autowired
private
JCacheCacheManager
cacheCacheManager
;
private
final
CookieMetaConfig
metaConfig
;
private
final
JCacheCacheManager
cacheCacheManager
;
private
final
static
String
EHC_STORE
=
"olMemberSession"
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
OnlineMemberEhcacheStorage
.
class
);
public
OnlineMemberEhcacheStorage
(
CookieMetaConfig
metaConfig
,
JCacheCacheManager
cacheCacheManager
)
{
this
.
metaConfig
=
metaConfig
;
this
.
cacheCacheManager
=
cacheCacheManager
;
}
@Override
public
void
store
(
MemberSessionBean
memberSessionBean
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
String
passStub
=
rndStub
();
...
...
@@ -45,17 +48,12 @@ public class OnlineMemberEhcacheStorage implements OnlineMemberStorage {
Map
<
String
,
String
>
val
=
MemberSessionBeanConverter
.
toMap
(
memberSessionBean
,
expireDate
);
if
(
afterPart
.
isPresent
()
&&
null
!=
val
&&
!
val
.
isEmpty
())
{
String
ecKey
=
metaConfig
.
getName
()
+
":"
+
afterPart
.
get
();
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
try
{
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
);
try
(
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
)){
cache
.
put
(
ecKey
,
memberSessionBean
);
cache
.
close
();
}
catch
(
Exception
e
){
if
(
logger
.
isDebugEnabled
()){
logger
.
debug
(
"[OM][EHC][save]"
+
e
.
getMessage
(),
e
);
}
}
finally
{
cacheManager
.
close
();
}
serializeCookie
(
passStub
,
expireDate
,
request
,
response
,
metaConfig
.
getName
(),
metaConfig
.
getPath
(),
metaConfig
.
getDomain
(),
metaConfig
.
isHttps
());
}
...
...
@@ -66,15 +64,12 @@ public class OnlineMemberEhcacheStorage implements OnlineMemberStorage {
Optional
<
String
>
afterPart
=
getEhcacheKey
(
request
);
//前缀:hashValue
if
(
afterPart
.
isPresent
())
{
String
ecKey
=
metaConfig
.
getName
()
+
":"
+
afterPart
.
get
();
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
try
{
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
).
remove
(
ecKey
);
try
(
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
)){
cache
.
remove
(
ecKey
);
}
catch
(
Exception
e
){
if
(
logger
.
isDebugEnabled
()){
logger
.
debug
(
"[OM][EHC][del]"
+
e
.
getMessage
(),
e
);
}
}
finally
{
cacheManager
.
close
();
}
expireCookie
(
request
,
response
,
metaConfig
.
getName
(),
metaConfig
.
getPath
(),
metaConfig
.
getDomain
());
}
...
...
@@ -96,9 +91,7 @@ public class OnlineMemberEhcacheStorage implements OnlineMemberStorage {
return
Optional
.
empty
();
}
String
ecKey
=
metaConfig
.
getName
()
+
":"
+
afterPart
.
get
();
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
try
{
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
);
try
(
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
)){
MemberSessionBean
msb
=
cache
.
get
(
ecKey
);
cache
.
close
();
return
Optional
.
ofNullable
(
msb
);
...
...
@@ -106,8 +99,6 @@ public class OnlineMemberEhcacheStorage implements OnlineMemberStorage {
if
(
logger
.
isDebugEnabled
()){
logger
.
debug
(
"[OM][EHC][get]"
+
e
.
getMessage
(),
e
);
}
}
finally
{
cacheManager
.
close
();
}
return
Optional
.
empty
();
}
...
...
@@ -119,18 +110,13 @@ public class OnlineMemberEhcacheStorage implements OnlineMemberStorage {
return
;
}
String
ecKey
=
metaConfig
.
getName
()
+
":"
+
afterPart
.
get
();
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
try
{
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
);
try
(
CacheManager
cacheManager
=
cacheCacheManager
.
getCacheManager
();
Cache
<
String
,
MemberSessionBean
>
cache
=
cacheManager
.
getCache
(
EHC_STORE
,
String
.
class
,
MemberSessionBean
.
class
)){
MemberSessionBean
msb
=
cache
.
get
(
ecKey
);
cache
.
put
(
ecKey
,
msb
.
refact
(
group
,
role
,
status
));
cache
.
close
();
}
catch
(
Exception
e
){
if
(
logger
.
isDebugEnabled
()){
logger
.
debug
(
"[OM][EHC][refresh]"
+
e
.
getMessage
(),
e
);
}
}
finally
{
cacheManager
.
close
();
}
}
...
...
trident/src/main/java/com/apobates/forum/trident/TridentAppConfig.java
浏览文件 @
54b3f797
...
...
@@ -111,7 +111,7 @@ public class TridentAppConfig{
jCacheManagerFactoryBean
.
setCacheManagerUri
(
new
ClassPathResource
(
"ehcache.xml"
).
getURI
());
return
jCacheManagerFactoryBean
;
}
@Bean
@Bean
(
"cacheCacheManager"
)
public
JCacheCacheManager
ehCacheCacheManager
(
JCacheManagerFactoryBean
jCache
)
throws
IOException
{
JCacheCacheManager
jCacheCacheManager
=
new
org
.
springframework
.
cache
.
jcache
.
JCacheCacheManager
();
jCacheCacheManager
.
setCacheManager
(
jCache
.
getObject
());
...
...
trident/src/main/java/com/apobates/forum/trident/TridentFrontConfig.java
浏览文件 @
54b3f797
...
...
@@ -5,6 +5,7 @@ import java.util.List;
import
com.apobates.forum.member.storage.ehcache.EhcacheMemberStorageCondition
;
import
com.apobates.forum.member.storage.ehcache.OnlineMemberEhcacheStorage
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.cache.jcache.JCacheCacheManager
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -254,9 +255,9 @@ public class TridentFrontConfig implements WebMvcConfigurer{
}
@Bean
(
"ehcacheStorageProvider"
)
@Conditional
(
EhcacheMemberStorageCondition
.
class
)
public
OnlineMemberEhcacheStorage
getMemberEhacheStorage
(){
public
OnlineMemberEhcacheStorage
getMemberEhacheStorage
(
CookieMetaConfig
cookieConfig
,
JCacheCacheManager
cacheCacheManager
){
//ehcache
return
new
com
.
apobates
.
forum
.
member
.
storage
.
ehcache
.
OnlineMemberEhcacheStorage
();
return
new
com
.
apobates
.
forum
.
member
.
storage
.
ehcache
.
OnlineMemberEhcacheStorage
(
cookieConfig
,
cacheCacheManager
);
}
//图片存储
@Bean
(
name
=
"imageIOConfig"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录