记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
c567e4fc
Commit
c567e4fc
authored
Mar 11, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~opt;
parent
c5b3d56f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
75 additions
and
258 deletions
+75
-258
ConsumerAdamSqlUcenterRedisStreamConfig.java
.../adam/config/ConsumerAdamSqlUcenterRedisStreamConfig.java
+75
-258
No files found.
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-adam/src/main/java/com/liquidnet/service/consumer/adam/config/ConsumerAdamSqlUcenterRedisStreamConfig.java
View file @
c567e4fc
package
com
.
liquidnet
.
service
.
consumer
.
adam
.
config
;
import
com.liquidnet.common.cache.redis.config.RedisStreamConfig
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUCenterRdsReceiver
;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlUMemberRdsReceiver
;
import
com.liquidnet.service.consumer.adam.receiver.ConsumerAdamSqlURegisterRdsReceiver
;
import
lombok.
var
;
import
lombok.
extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.Consumer
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.ReadOffset
;
import
org.springframework.data.redis.connection.stream.StreamOffset
;
import
org.springframework.data.redis.connection.stream.*
;
import
org.springframework.data.redis.core.StreamOperations
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.Subscription
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
base
.
constant
.
MQConst
.
AdamQueue
;
@Slf4j
@Configuration
public
class
ConsumerAdamSqlUcenterRedisStreamConfig
extends
RedisStreamConfig
{
@Autowired
StringRedisTemplate
stringRedisTemplate
;
@Autowired
ConsumerAdamSqlURegisterRdsReceiver
consumerAdamURegisterRdsReceiver
;
@Autowired
...
...
@@ -27,258 +34,68 @@ public class ConsumerAdamSqlUcenterRedisStreamConfig extends RedisStreamConfig {
@Autowired
ConsumerAdamSqlUMemberRdsReceiver
consumerAdamUMemberRdsReceiver
;
/**
* 用户注册
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlURegister
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
AdamQueue
.
SQL_UREGISTER
.
getGroup
(),
getConsumerName
(
AdamQueue
.
SQL_UREGISTER
.
name
()
+
t
)),
StreamOffset
.
create
(
AdamQueue
.
SQL_UREGISTER
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamURegisterRdsReceiver
);
}
/**
* 用户中心
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlUCenter
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
AdamQueue
.
SQL_UCENTER
.
getGroup
(),
getConsumerName
(
AdamQueue
.
SQL_UCENTER
.
name
()
+
t
)),
StreamOffset
.
create
(
AdamQueue
.
SQL_UCENTER
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUCenterRdsReceiver
);
}
/**
* 购买会员
*
* @param listenerContainer
* @param t
* @return
*/
private
Subscription
receiveSqlUMember
(
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
,
int
t
)
{
return
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
AdamQueue
.
SQL_UMEMBER
.
getGroup
(),
getConsumerName
(
AdamQueue
.
SQL_UMEMBER
.
name
()
+
t
)),
StreamOffset
.
create
(
AdamQueue
.
SQL_UMEMBER
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUMemberRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 用户注册 */
@Bean
public
Subscription
subscriptionSqlURegister0
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
0
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister1
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
2
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
3
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister4
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
4
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister5
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
5
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister6
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
6
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister7
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
7
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister8
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
8
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlURegister9
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlURegister
(
listenerContainer
,
9
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | 用户中心 */
@Bean
public
Subscription
subscriptionSqlUCenter0
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
0
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter1
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
2
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
3
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter4
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
4
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter5
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
5
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter6
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
6
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter7
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
7
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter8
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
8
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUCenter9
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUCenter
(
listenerContainer
,
9
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | 购买会员 */
@Bean
public
Subscription
subscriptionSqlUMember0
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
0
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUMember1
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
1
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUMember2
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
2
);
listenerContainer
.
start
();
return
subscription
;
private
void
initStream
(
String
key
,
String
group
)
{
try
{
if
(!
stringRedisTemplate
.
hasKey
(
key
))
{
HashMap
<
String
,
String
>
map
=
CollectionUtil
.
mapStringString
();
map
.
put
(
"message"
,
" "
);
StreamOperations
<
String
,
Object
,
Object
>
stringObjectObjectStreamOperations
=
stringRedisTemplate
.
opsForStream
();
RecordId
recordId
=
stringObjectObjectStreamOperations
.
add
(
StreamRecords
.
mapBacked
(
map
).
withStreamKey
(
key
));
stringObjectObjectStreamOperations
.
createGroup
(
key
,
group
);
stringObjectObjectStreamOperations
.
delete
(
key
,
recordId
.
getValue
());
}
else
{
log
.
info
(
"redis stream exist [{},{}]"
,
key
,
group
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"Ex:redis stream init [{},{}]"
,
key
,
group
,
e
);
}
}
@Bean
// 用户注册
public
List
<
Subscription
>
subscriptionSqlURegister
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UREGISTER
;
this
.
initStream
(
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamURegisterRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
@Bean
// 用户中心
public
List
<
Subscription
>
subscriptionSqlUCenter
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UCENTER
;
this
.
initStream
(
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUCenterRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
@Bean
// 购买会员
public
List
<
Subscription
>
subscriptionSqlUMember
(
RedisConnectionFactory
factory
)
{
List
<
Subscription
>
subscriptionList
=
new
ArrayList
<>();
AdamQueue
stream
=
AdamQueue
.
SQL_UMEMBER
;
this
.
initStream
(
stream
.
getKey
(),
stream
.
getGroup
());
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
subscriptionList
.
add
(
listenerContainer
.
receiveAutoAck
(
Consumer
.
from
(
stream
.
getGroup
(),
getConsumerName
(
stream
.
name
()
+
i
)),
StreamOffset
.
create
(
stream
.
getKey
(),
ReadOffset
.
lastConsumed
()),
consumerAdamUMemberRdsReceiver
));
listenerContainer
.
start
();
}
return
subscriptionList
;
}
@Bean
public
Subscription
subscriptionSqlUMember3
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
3
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUMember4
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
4
);
listenerContainer
.
start
();
return
subscription
;
}
@Bean
public
Subscription
subscriptionSqlUMember5
(
RedisConnectionFactory
factory
)
{
var
listenerContainer
=
this
.
buildStreamMessageListenerContainer
(
factory
);
var
subscription
=
receiveSqlUMember
(
listenerContainer
,
5
);
listenerContainer
.
start
();
return
subscription
;
}
/* -------------------------------------------------------- | */
}
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