Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
04b063d8
You need to sign in or sign up before continuing.
Commit
04b063d8
authored
Jan 05, 2024
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
消息队列日志监听
parent
fc20c5ab
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
73 行增加
和
8 行删除
+73
-8
CabinetLogReceiver.java
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/CabinetLogReceiver.java
+24
-4
OutInLogsByCabinetReceiver.java
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsByCabinetReceiver.java
+23
-2
OutInLogsReceiver.java
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsReceiver.java
+26
-2
没有找到文件。
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/CabinetLogReceiver.java
View file @
04b063d8
...
...
@@ -4,7 +4,13 @@ import com.alibaba.fastjson.JSON;
import
com.junmp.jyzb.api.bean.query.InAndOutRecordReq.CabinetLogsRecordReq
;
import
com.junmp.jyzb.api.bean.req.RabbitMqOrderReq
;
import
com.junmp.jyzb.service.InventorySummaryService
;
import
com.junmp.v2.log.api.LogRecordApi
;
import
com.junmp.v2.log.api.bean.dto.LogRecordDto
;
import
com.junmp.v2.log.api.constant.LogConstant
;
import
com.junmp.v2.log.api.enums.LogTypeEnum
;
import
com.junmp.v2.log.api.factory.LogRecordFactory
;
import
com.rabbitmq.client.Channel
;
import
org.apache.poi.ss.formula.functions.Now
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.support.AmqpHeaders
;
import
org.springframework.messaging.handler.annotation.Header
;
...
...
@@ -12,6 +18,7 @@ import org.springframework.stereotype.Component;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.sql.Time
;
/**
* 单警柜出入库记录上报并且记录到数据库中
...
...
@@ -21,23 +28,36 @@ import java.io.IOException;
public
class
CabinetLogReceiver
{
@Resource
private
InventorySummaryService
inventorySummaryService
;
/**
* 日志记录的api
*/
@Resource
private
LogRecordApi
logRecordApi
;
@RabbitListener
(
queues
=
"CabinetLogsRecord"
)
//监听队列名
private
void
a
(
String
msg
,
Channel
channel
,
@Header
(
AmqpHeaders
.
DELIVERY_TAG
)
long
deliveryTag
){
// 创建日志对象
LogRecordDto
logRecordDTO
=
LogRecordFactory
.
createLogRecord
(
LogConstant
.
LOG_DEFAULT_NAME
,
"CabinetLogsRecord"
);
logRecordDTO
.
setLogType
(
LogTypeEnum
.
OPT_LOG
.
getCode
());
logRecordDTO
.
setHttpMethod
(
"RabbitMQ"
);
logRecordDTO
.
setLogContent
(
"CabinetLogsRecord"
);
logRecordDTO
.
setRequestResult
(
msg
);
try
{
System
.
out
.
println
(
"msg = "
+
msg
);
// 手动确认消息
channel
.
basicAck
(
deliveryTag
,
false
);
CabinetLogsRecordReq
req
=
JSON
.
parseObject
(
msg
,
CabinetLogsRecordReq
.
class
);
//将消息进行消费
Boolean
result
=
inventorySummaryService
.
cabinetInOutRecords
(
req
);
logRecordDTO
.
setRequestResult
(
result
.
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
Exception
e
)
{
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列ms
try
{
channel
.
basicNack
(
deliveryTag
,
false
,
true
);
logRecordDTO
.
setRequestResult
(
e
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
IOException
ex
)
{
logRecordDTO
.
setRequestResult
(
ex
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
throw
new
RuntimeException
(
ex
);
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsByCabinetReceiver.java
View file @
04b063d8
...
...
@@ -4,6 +4,11 @@ import com.alibaba.fastjson.JSON;
import
com.junmp.jyzb.api.bean.query.InAndOutRecordReq.CabinetLogsRecordReq
;
import
com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq
;
import
com.junmp.jyzb.service.LogSummaryService
;
import
com.junmp.v2.log.api.LogRecordApi
;
import
com.junmp.v2.log.api.bean.dto.LogRecordDto
;
import
com.junmp.v2.log.api.constant.LogConstant
;
import
com.junmp.v2.log.api.enums.LogTypeEnum
;
import
com.junmp.v2.log.api.factory.LogRecordFactory
;
import
com.rabbitmq.client.Channel
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.support.AmqpHeaders
;
...
...
@@ -21,23 +26,39 @@ public class OutInLogsByCabinetReceiver {
@Resource
private
LogSummaryService
logSummaryService
;
/**
* 日志记录的api
*/
@Resource
private
LogRecordApi
logRecordApi
;
@RabbitListener
(
queues
=
"CabinetLogsRecord"
)
//监听队列名
private
void
a
(
String
msg
,
Channel
channel
,
@Header
(
AmqpHeaders
.
DELIVERY_TAG
)
long
deliveryTag
){
// 创建日志对象
LogRecordDto
logRecordDTO
=
LogRecordFactory
.
createLogRecord
(
LogConstant
.
LOG_DEFAULT_NAME
,
"CabinetLogsRecord"
);
logRecordDTO
.
setLogType
(
LogTypeEnum
.
OPT_LOG
.
getCode
());
logRecordDTO
.
setHttpMethod
(
"RabbitMQ"
);
logRecordDTO
.
setLogContent
(
"CabinetLogsRecord"
);
logRecordDTO
.
setRequestResult
(
msg
);
try
{
System
.
out
.
println
(
"msg = "
+
msg
);
// 手动确认消息
channel
.
basicAck
(
deliveryTag
,
false
);
CabinetLogsRecordReq
req
=
JSON
.
parseObject
(
msg
,
CabinetLogsRecordReq
.
class
);
//将消息进行消费
Boolean
result
=
logSummaryService
.
processOutInRecords
(
req
);
logRecordDTO
.
setRequestResult
(
result
.
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
Exception
e
)
{
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列ms
try
{
channel
.
basicNack
(
deliveryTag
,
false
,
true
);
logRecordDTO
.
setRequestResult
(
e
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
IOException
ex
)
{
logRecordDTO
.
setRequestResult
(
ex
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
throw
new
RuntimeException
(
ex
);
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsReceiver.java
View file @
04b063d8
...
...
@@ -4,6 +4,11 @@ import com.alibaba.fastjson.JSON;
import
com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq
;
import
com.junmp.jyzb.service.LogSummaryService
;
import
com.junmp.jyzb.service.OrderMainService
;
import
com.junmp.v2.log.api.LogRecordApi
;
import
com.junmp.v2.log.api.bean.dto.LogRecordDto
;
import
com.junmp.v2.log.api.constant.LogConstant
;
import
com.junmp.v2.log.api.enums.LogTypeEnum
;
import
com.junmp.v2.log.api.factory.LogRecordFactory
;
import
com.rabbitmq.client.Channel
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.amqp.support.AmqpHeaders
;
...
...
@@ -16,28 +21,47 @@ import java.io.IOException;
/**
* 本地主机上报出入记录监听消息队列
*/
@Component
public
class
OutInLogsReceiver
{
@Resource
private
LogSummaryService
logSummaryService
;
/**
* 日志记录的api
*/
@Resource
private
LogRecordApi
logRecordApi
;
@RabbitListener
(
queues
=
"11111"
)
//监听队列名
private
void
a
(
String
msg
,
Channel
channel
,
@Header
(
AmqpHeaders
.
DELIVERY_TAG
)
long
deliveryTag
){
LogRecordDto
logRecordDTO
=
LogRecordFactory
.
createLogRecord
(
LogConstant
.
LOG_DEFAULT_NAME
,
"CabinetLogsRecord"
);
logRecordDTO
.
setLogType
(
LogTypeEnum
.
OPT_LOG
.
getCode
());
logRecordDTO
.
setHttpMethod
(
"RabbitMQ"
);
logRecordDTO
.
setLogContent
(
"OrderResult"
);
logRecordDTO
.
setRequestResult
(
msg
);
try
{
System
.
out
.
println
(
"msg = "
+
msg
);
// 创建日志对象
// 手动确认消息
channel
.
basicAck
(
deliveryTag
,
false
);
OutInLogsReq
req
=
JSON
.
parseObject
(
msg
,
OutInLogsReq
.
class
);
//将消息进行消费
Boolean
result
=
logSummaryService
.
processInventoryRecords
(
req
);
logRecordDTO
.
setRequestResult
(
result
.
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
Exception
e
)
{
// 处理消息过程中发生异常,拒绝消息并将其重新放回队列ms
try
{
channel
.
basicNack
(
deliveryTag
,
false
,
true
);
logRecordDTO
.
setRequestResult
(
e
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
}
catch
(
IOException
ex
)
{
logRecordDTO
.
setRequestResult
(
ex
.
getMessage
().
toString
());
logRecordApi
.
addAsync
(
logRecordDTO
);
throw
new
RuntimeException
(
ex
);
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论