Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
wecloud_im_server
Commits
134a6188
Commit
134a6188
authored
Sep 30, 2022
by
Future
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ehcache
parent
b7f37177
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
11 deletions
+46
-11
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
+3
-11
core/src/main/java/com/wecloud/im/service/EhcacheService.java
+26
-0
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
+6
-0
core/src/main/resources/ehcache.xml
+11
-0
No files found.
core/src/main/java/com/wecloud/im/action/NormalChatAction.java
View file @
134a6188
...
...
@@ -28,9 +28,7 @@ import com.wecloud.im.sdk.enums.MutedEnum;
import
com.wecloud.im.service.EhcacheService
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientBlacklistService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImConversationMembersService
;
import
com.wecloud.im.service.ImConversationService
;
import
com.wecloud.im.service.ImInboxService
;
import
com.wecloud.im.service.ImMessageService
;
import
com.wecloud.im.ws.enums.MsgTypeEnum
;
...
...
@@ -38,7 +36,6 @@ import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import
com.wecloud.im.ws.model.WsResponse
;
import
com.wecloud.im.ws.model.request.PushVO
;
import
com.wecloud.im.ws.sender.ChannelSender
;
import
com.wecloud.im.ws.utils.RedisUtils
;
import
com.wecloud.pushserver.client.model.constant.MqConstant
;
import
com.wecloud.pushserver.client.model.dto.PushDTO
;
import
com.wecloud.utils.JsonUtils
;
...
...
@@ -56,7 +53,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.time.Duration
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
...
...
@@ -81,10 +77,6 @@ public class NormalChatAction {
@Autowired
private
ImApplicationService
imApplicationService
;
@Autowired
private
ImClientService
imClientService
;
@Autowired
private
ImConversationService
imConversationService
;
@Autowired
private
ImConversationMembersService
imConversationMembersService
;
@Autowired
private
ImMessageService
imMessageService
;
...
...
@@ -107,14 +99,14 @@ public class NormalChatAction {
// if (log.isDebugEnabled()) {
// log.debug("接收到参数,reqId: {},\n data: {}, ", reqId, data);
// }
ImConversationQueryVo
conversation
=
imConversationService
.
getCacheImConversationById
(
data
.
getToConversation
());
ImConversationQueryVo
conversation
=
ehcacheService
.
getEhCacheConversation
(
data
.
getToConversation
());
if
(
conversation
==
null
)
{
log
.
warn
(
"会reqId: {} ,会话id: {}db中不存在"
,
reqId
,
data
.
getToConversation
());
return
;
}
// 查询发送者client
ImClient
imClientSender
=
imClientService
.
getCacheIm
Client
(
request
.
getSenderClientId
());
ImClient
imClientSender
=
ehcacheService
.
getEhCache
Client
(
request
.
getSenderClientId
());
if
(
imClientSender
==
null
)
{
log
.
warn
(
"根据senderClientId: {} 查找不到 imClientSender!"
,
request
.
getSenderClientId
());
return
;
...
...
@@ -388,7 +380,7 @@ public class NormalChatAction {
heFkClientId
=
membersList
.
get
(
0
).
getFkClientId
();
}
ImClient
imClientReceiver
=
imClientService
.
getCacheIm
Client
(
heFkClientId
);
ImClient
imClientReceiver
=
ehcacheService
.
getEhCache
Client
(
heFkClientId
);
ImFriend
my
=
friendService
.
getByKey
(
meClientId
,
heClientId
);
ImFriend
friend
=
friendService
.
getByKey
(
heClientId
,
meClientId
);
...
...
core/src/main/java/com/wecloud/im/service/EhcacheService.java
View file @
134a6188
package
com
.
wecloud
.
im
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.wecloud.im.entity.ImApplication
;
import
com.wecloud.im.entity.ImClient
;
import
com.wecloud.im.param.ImConversationQueryVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.Cache
;
import
org.springframework.cache.CacheManager
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.stereotype.Service
;
...
...
@@ -19,6 +24,12 @@ import org.springframework.stereotype.Service;
public
class
EhcacheService
{
@Autowired
private
ImClientService
imClientService
;
@Autowired
private
ImConversationService
imConversationService
;
@Autowired
private
CacheManager
cacheManager
;
/**
...
...
@@ -42,5 +53,20 @@ public class EhcacheService {
}
}
@Cacheable
(
value
=
"business"
,
key
=
"#id"
)
public
ImClient
getEhCacheClient
(
Long
id
)
{
return
imClientService
.
getCacheImClient
(
id
);
}
@Cacheable
(
value
=
"business"
,
key
=
"#id"
)
public
ImConversationQueryVo
getEhCacheConversation
(
Long
id
)
{
return
imConversationService
.
getCacheImConversationById
(
id
);
}
@CacheEvict
(
value
=
"business"
,
key
=
"#id"
)
public
void
delEhCacheConversation
(
Long
id
)
{
}
}
core/src/main/java/com/wecloud/im/service/impl/ImConversationServiceImpl.java
View file @
134a6188
...
...
@@ -55,6 +55,7 @@ import com.wecloud.im.sdk.enums.GroupRoleEnum;
import
com.wecloud.im.sdk.enums.JoinConversationTypeEnum
;
import
com.wecloud.im.sdk.enums.MutedEnum
;
import
com.wecloud.im.service.ContextService
;
import
com.wecloud.im.service.EhcacheService
;
import
com.wecloud.im.service.ImApplicationService
;
import
com.wecloud.im.service.ImClientService
;
import
com.wecloud.im.service.ImConversationMembersService
;
...
...
@@ -86,6 +87,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.time.Duration
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
...
...
@@ -152,6 +154,9 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
@Autowired
private
RedisUtils
redisUtils
;
@Resource
private
EhcacheService
ehcacheService
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
boolean
saveImConversation
(
ImConversation
imConversation
)
{
...
...
@@ -809,6 +814,7 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
@Override
public
void
deleteCacheImConversationById
(
Long
id
)
{
redisUtils
.
delKey
(
"conversationId_"
+
id
);
ehcacheService
.
delEhCacheConversation
(
id
);
}
@Override
...
...
core/src/main/resources/ehcache.xml
View file @
134a6188
...
...
@@ -12,6 +12,17 @@
<persistence
strategy=
"localTempSwap"
/>
</defaultCache>
<cache
name=
"business"
maxElementsInMemory=
"100000"
eternal=
"false"
timeToIdleSeconds=
"86400"
timeToLiveSeconds=
"86400"
maxElementsOnDisk=
"10000000"
diskExpiryThreadIntervalSeconds=
"120"
memoryStoreEvictionPolicy=
"LRU"
>
<persistence
strategy=
"localTempSwap"
/>
</cache>
<cache
name=
"push"
maxElementsInMemory=
"10000"
eternal=
"false"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment