Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
Y
yzg-util
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
YZG
yzg-util
Commits
9e4c89ee
Commit
9e4c89ee
authored
May 18, 2022
by
yanzg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
将源码打包进jar包
parent
13831a3a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
77 additions
and
63 deletions
+77
-63
SystemContants.java
...in/java/com/yanzuoguang/util/contants/SystemContants.java
+1
-0
PlanConsumer.java
.../src/main/java/com.yanzuoguang.redis/mq/PlanConsumer.java
+0
-3
PlanProcedure.java
...src/main/java/com.yanzuoguang.redis/mq/PlanProcedure.java
+17
-13
PlanRegister.java
...main/java/com.yanzuoguang.redis/service/PlanRegister.java
+51
-35
PlanService.java
.../main/java/com.yanzuoguang.redis/service/PlanService.java
+4
-1
PlanConfigVo.java
.../src/main/java/com.yanzuoguang.redis/vo/PlanConfigVo.java
+4
-11
No files found.
yzg-util-base/src/main/java/com/yanzuoguang/util/contants/SystemContants.java
View file @
9e4c89ee
...
...
@@ -45,4 +45,5 @@ public final class SystemContants {
* 设置有效期
*/
public
static
final
long
DAY_UNIT
=
1000L
*
60
*
60
*
24
;
public
static
final
String
SYSTEM
=
"SYSTEM"
;
}
yzg-util-redis/src/main/java/com.yanzuoguang.redis/mq/PlanConsumer.java
View file @
9e4c89ee
...
...
@@ -3,12 +3,10 @@ package com.yanzuoguang.redis.mq;
import
com.alibaba.fastjson.TypeReference
;
import
com.rabbitmq.client.Channel
;
import
com.yanzuoguang.mq.service.MqService
;
import
com.yanzuoguang.redis.PlanContains
;
import
com.yanzuoguang.redis.PlanInfo
;
import
com.yanzuoguang.redis.service.PlanService
;
import
com.yanzuoguang.util.helper.JsonHelper
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.stereotype.Component
;
...
...
@@ -46,7 +44,6 @@ public class PlanConsumer implements InitializingBean {
* @param message 消息体
* @param channel 连接频道
*/
@RabbitListener
(
queues
=
{
PlanContains
.
YZG_PLAN_PLAN
})
public
void
plan
(
String
json
,
Message
message
,
Channel
channel
)
{
try
{
PlanInfo
<
String
>
timeNew
=
JsonHelper
.
deserialize
(
json
,
new
TypeReference
<
PlanInfo
<
String
>>()
{
...
...
yzg-util-redis/src/main/java/com.yanzuoguang.redis/mq/PlanProcedure.java
View file @
9e4c89ee
...
...
@@ -6,13 +6,14 @@ import com.yanzuoguang.mq.vo.QueueVo;
import
com.yanzuoguang.redis.PlanContains
;
import
com.yanzuoguang.redis.PlanInfo
;
import
com.yanzuoguang.redis.PlanLevelNamespace
;
import
com.yanzuoguang.redis.vo.PlanConfigVo
;
import
com.yanzuoguang.util.helper.JsonHelper
;
import
com.yanzuoguang.util.helper.StringHelper
;
import
org.springframework.amqp.rabbit.core.ChannelAwareMessageListener
;
import
org.springframework.stereotype.Component
;
import
java.util.LinkedHashSet
;
import
java.util.List
;
import
java.util.Set
;
/**
* 订单消息队列
...
...
@@ -23,40 +24,43 @@ import java.util.List;
public
class
PlanProcedure
{
private
final
MqService
mqService
;
private
final
List
<
PlanLevelNamespace
>
planLevelNamespaceList
;
private
final
Set
<
String
>
planLevelQueueNames
=
new
LinkedHashSet
<>()
;
public
PlanProcedure
(
MqService
mqService
,
List
<
PlanLevelNamespace
>
planLevelNamespaceList
)
{
this
.
mqService
=
mqService
;
this
.
planLevelNamespaceList
=
planLevelNamespaceList
;
planLevelNamespaceList
.
forEach
(
k
->
{
planLevelQueueNames
.
add
(
getQueueName
(
k
));
});
}
public
void
initQueue
(
ChannelAwareMessageListener
messageListener
)
{
// 库存任务
planLevelNamespaceList
.
forEach
(
k
->
{
String
queueName
=
getQueueName
(
k
);
planLevelQueueNames
.
forEach
(
k
->
{
// 创建队列,注册回调
mqService
.
createQueue
(
new
QueueVo
(
queueName
));
mqService
.
createQueue
(
new
QueueVo
(
k
));
// 应用程序级的任务交给队列处理
mqService
.
setQueueConsumer
(
queueName
,
messageListener
);
mqService
.
setQueueConsumer
(
k
,
messageListener
);
});
}
/**
* 执行库存任务
*
* @param planLevelNamespace 任务命名空间级别
* @param req 待执行的任务
*/
public
void
plan
(
Plan
ConfigVo
config
,
PlanInfo
<?>
req
)
{
plan
(
config
,
JsonHelper
.
serialize
(
req
));
public
void
plan
(
Plan
LevelNamespace
planLevelNamespace
,
PlanInfo
<?>
req
)
{
plan
(
planLevelNamespace
,
JsonHelper
.
serialize
(
req
));
}
/**
* 执行库存任务
*
* @param planLevelNamespace 任务命名空间级别
* @param json 执行的任务
*/
private
void
plan
(
Plan
ConfigVo
config
,
String
json
)
{
String
queueName
=
getQueueName
(
config
.
getPlanLevelNamespace
()
);
private
void
plan
(
Plan
LevelNamespace
planLevelNamespace
,
String
json
)
{
String
queueName
=
getQueueName
(
planLevelNamespace
);
mqService
.
message
(
new
MessageVo
(
queueName
,
json
,
0
));
}
...
...
yzg-util-redis/src/main/java/com.yanzuoguang.redis/service/PlanRegister.java
View file @
9e4c89ee
...
...
@@ -18,6 +18,10 @@ import java.util.*;
*/
@Component
public
class
PlanRegister
{
/**
* 默认命名空间处理
*/
private
final
Map
<
PlanLevelType
,
PlanLevelNamespaceDefault
>
mapLevelTypeNamespaceDefault
=
new
HashMap
<>();
/**
* 所有的任务
*/
...
...
@@ -27,11 +31,19 @@ public class PlanRegister {
*/
private
final
PlanStartDefault
planStartDefault
=
new
PlanStartDefault
();
private
final
PlanLevelDefault
planLevelDefault
=
new
PlanLevelDefault
();
private
final
Map
<
PlanLevelType
,
PlanLevelNamespaceDefault
>
mapLevelTypeNamespaceDefault
=
new
HashMap
<>();
public
PlanRegister
(
Optional
<
List
<
Plan
>>
plans
,
List
<
PlanLevelNamespaceDefault
>
planLevelNamespaceDefaults
)
{
// 先注册默认命名空间处理
planLevelNamespaceDefaults
.
forEach
(
k
->
{
PlanLevelType
level
=
k
.
getLevel
();
if
(
mapLevelTypeNamespaceDefault
.
containsKey
(
level
))
{
Log
.
error
(
PlanRegister
.
class
,
"默认命名级别处理%s已经存在!"
,
level
.
getName
());
return
;
}
mapLevelTypeNamespaceDefault
.
put
(
level
,
k
);
});
// 再注册所有任务
plans
.
ifPresent
(
planList
->
planList
.
forEach
(
this
::
register
));
planLevelNamespaceDefaults
.
forEach
(
k
->
mapLevelTypeNamespaceDefault
.
put
(
k
.
getLevel
(),
k
));
}
/**
...
...
@@ -62,35 +74,23 @@ public class PlanRegister {
if
(
plan
==
null
)
{
return
;
}
// 任务级别
PlanLevel
planLevel
=
getPlanLevel
(
plan
);
// 任务命名空间
PlanLevelNamespace
planLevelNamespace
=
getPlanLevelNamespace
(
plan
,
planLevel
);
if
(
planLevelNamespace
==
null
)
{
return
;
}
// 任务开启程序默认开启
PlanStart
planStart
=
getPlanStart
(
plan
);
// 任务关键字
PlanName
planName
=
getPlanName
(
plan
);
// 任务配置信息
PlanConfigVo
planConfigVo
=
new
PlanConfigVo
(
plan
,
planName
,
planStart
,
planLevel
,
planLevel
Namespace
);
PlanConfigVo
planConfigVo
=
new
PlanConfigVo
(
plan
,
planName
,
planStart
,
planLevelNamespace
);
// 任务配置
mapPlan
.
put
(
planName
.
getPlanKey
(),
planConfigVo
);
}
/**
* 任务在应用程序打开时是否运行
*
* @param plan 任务
* @return 任务在应用程序打开时是否运行的配置
*/
private
PlanStart
getPlanStart
(
Plan
plan
)
{
PlanStart
planStart
;
if
(
plan
instanceof
PlanStart
)
{
planStart
=
(
PlanStart
)
plan
;
}
else
{
planStart
=
planStartDefault
;
}
return
planStart
;
}
/**
* 获取任务的级别
*
...
...
@@ -107,22 +107,6 @@ public class PlanRegister {
return
planLevel
;
}
/**
* 获取任务名称
*
* @param plan 任务
* @return 任务名称
*/
private
PlanName
getPlanName
(
Plan
plan
)
{
PlanName
planName
;
if
(
plan
instanceof
PlanName
)
{
planName
=
(
PlanName
)
plan
;
}
else
{
planName
=
new
PlanNameDefault
(
plan
.
getClass
());
}
return
planName
;
}
/**
* 获取应用名称
*
...
...
@@ -141,4 +125,36 @@ public class PlanRegister {
Log
.
error
(
plan
.
getClass
(),
"没有实现 PlanLevelNamespace 接口,或者没有默认级别处理程序"
);
return
null
;
}
/**
* 任务在应用程序打开时是否运行
*
* @param plan 任务
* @return 任务在应用程序打开时是否运行的配置
*/
private
PlanStart
getPlanStart
(
Plan
plan
)
{
PlanStart
planStart
;
if
(
plan
instanceof
PlanStart
)
{
planStart
=
(
PlanStart
)
plan
;
}
else
{
planStart
=
planStartDefault
;
}
return
planStart
;
}
/**
* 获取任务名称
*
* @param plan 任务
* @return 任务名称
*/
private
PlanName
getPlanName
(
Plan
plan
)
{
PlanName
planName
;
if
(
plan
instanceof
PlanName
)
{
planName
=
(
PlanName
)
plan
;
}
else
{
planName
=
new
PlanNameDefault
(
plan
.
getClass
());
}
return
planName
;
}
}
yzg-util-redis/src/main/java/com.yanzuoguang.redis/service/PlanService.java
View file @
9e4c89ee
...
...
@@ -31,6 +31,9 @@ public class PlanService {
private
final
PlanRegister
planRegister
;
private
final
PlanProcedure
planProcedure
;
/**
* 用于判断任务是否已经执行,上次执行时间
*/
@CreateCache
(
name
=
PlanContains
.
YZG_PLAN_PLAN
,
expire
=
10
,
timeUnit
=
TimeUnit
.
DAYS
,
cacheType
=
CacheType
.
REMOTE
)
private
Cache
<
String
,
PlanInfo
<
String
>>
cachePlan
;
...
...
@@ -53,7 +56,7 @@ public class PlanService {
return
;
}
// 开始运行任务
planProcedure
.
plan
(
config
,
planInfo
);
planProcedure
.
plan
(
config
.
getPlanLevelNamespace
()
,
planInfo
);
});
}
...
...
yzg-util-redis/src/main/java/com.yanzuoguang.redis/vo/PlanConfigVo.java
View file @
9e4c89ee
package
com
.
yanzuoguang
.
redis
.
vo
;
import
com.yanzuoguang.redis.*
;
import
com.yanzuoguang.redis.Plan
;
import
com.yanzuoguang.redis.PlanLevelNamespace
;
import
com.yanzuoguang.redis.PlanName
;
import
com.yanzuoguang.redis.PlanStart
;
/**
* 任务配置
...
...
@@ -20,10 +23,6 @@ public class PlanConfigVo {
* 是否立即运行
*/
private
final
PlanStart
planStart
;
/**
* 应用程序级别
*/
private
final
PlanLevel
planLevel
;
/**
* 应用程序级别命名空间
*/
...
...
@@ -32,11 +31,9 @@ public class PlanConfigVo {
public
PlanConfigVo
(
Plan
plan
,
PlanName
planName
,
PlanStart
planStart
,
PlanLevel
planLevel
,
PlanLevelNamespace
planLevelNamespace
)
{
this
.
plan
=
plan
;
this
.
planName
=
planName
;
this
.
planLevel
=
planLevel
;
this
.
planStart
=
planStart
;
this
.
planLevelNamespace
=
planLevelNamespace
;
}
...
...
@@ -53,10 +50,6 @@ public class PlanConfigVo {
return
planStart
;
}
public
PlanLevel
getPlanLevel
()
{
return
planLevel
;
}
public
PlanLevelNamespace
getPlanLevelNamespace
()
{
return
planLevelNamespace
;
}
...
...
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