1.20.JDeveloper开发JMS-记录日志功能(二)

本文介绍如何在OSB服务过程中记录详细的日志信息。通过将数据异步发送至JMS,再由EJB接收并记录到数据库及Elasticsearch中,实现了服务请求和响应的全程监控。

前言

在上一章节1.19.JDeveloper开发JMS-记录日志功能(一),我们实现了EJB监听到发送的消息。

本章节中我们准备只要OSB管道中进行了服务接入,就异步向JMS放入过程的数据(包括出错时错误日志):如请求系统 ,服务系统 ,请求报文,返回报文,请求时间,返回时间等,当EJB接收到消息后,把该过程数据记录进数据与elasticsearch,实现OSB服务过程日志记录功能。

新建JMS服务

在目标目录->右键->new->Business Service进行新建服务

image-20210604152056892

image-20210604152222678

image-20210604152238300

image-20210604152339293

新建成功后,点击BS_Monitor.bix查看效果:注意红框内的类型,根据你的消息类型进行调整。

image-20210604152428894

修改管道

以前些章节实现的REST服务接入,并进行字段映射为例:1.14.OSB中使用XSL Map 映射REST服务字段

目前已实现通过SOAP通用企业形式请求REST服务,本次目标为修改管道,以记录服务过程中的相关信息:

1、修改成功通过路由后的返回管道,异步调用BS_Monitor.bix,目的是向JMS写入OSB相关过程数据。

image-20210604152837886

2、通过管道中的相关参数,整合为固定xml格式并替换body,控制写入JMS数据内容:

以下参数是根据不同的需求进行记录的,这里仅为我所有用的参数,仅作参考:

interfaceNmae:服务名称(如:01001000000001 注:5位系统 号+9位顺序号)
transactionId:事务流水号(如:2021060312451400001 注:年+月+日+时+分+秒+5位流水号)
source:请求系统(如01002 注:代表OA系统)
target:服务系统(如01001 注:代表HR系统)
partnerTimeStamp:服务方完成时间
osbHost:请求IP
startTimeStamp:请求开始时间
endTimeStamp:请求完成时间
requestMessage:请求报文
responseMessage:返回报文
businessKeyValues:服务方控制关键字
type:类型(PS 请求  BS服务)
osbStatusCode:OSB状态码
osbMessage:OSB信息内容
bsStatusCode:BS方状态码
Copy

image-20210604152725574

3、管道 错误时处理

同理,在管道出现错误时我们也需要把日志传入JMS进行数据库记录

image-20210604154324570

制定为模块

为了方便以后所有的服务都以同样的形式接入服务,把该管道过程制定为模版:

image-20210604154453970

测试消息接入

目前为此如果我们通过管道进行服务请求时,管道向JMS发送信息,由于我们weblogic路在本地,并且功能就是在控制台打印输出,所以效果如下:可以看到控制台已有EJB输出的日志了。

image-20210604154851840

连接数据

目前我们已收到消息,那下一步就是把数据写入数据,这里使用jdeveloper的数据源反各序列功能

image-20210604155441759

设置数据库参数,并进行测试。

image-20210604155335400

实例数据对象

image-20210604155737573

image-20210604155822581

image-20210604155842112

image-20210604155921185

image-20210604160058623

image-20210604160228867

image-20210604160300724

image-20210604160413645

最终效果出来一个类文件与xml配置文件,如上图即可。

这里使用了本地数据源,建议这里使用weblogic中的数据库,所以我们改成这样:

image-20210609150023079

处理数据并记录数据库

修改EJB中的onMessage()方法,用于收到消息后写入数据。

image-20210609150429499

配置Weblogic数据源

image-20210609152336209

测试

使用soapui进行请求,查看是否在数据库中存在日志

image-20210609152413047

image-20210609164516328

数据介绍数据整理全国30个省份制造业细分行业产值,能够反映一定时期内细分行业工业生产总规模和总水平的指标,是计算工业生产发展速度和主要比例关系、计算工业产品销售率等其他经济指标的基础。先进制造业数据可用于两业融合测算。数据名称:全国30省-制造业细分行业产值/先进制造业细分行业产值数据数据年份:2001-2022年数据指标农副食品加工业;食品制造业;饮料制造业;烟草制造业;纺织业;纺织服装鞋帽制造业;皮革、毛皮、羽毛(绒)极其制品业;木材加工及木、竹、藤、棕、草制品业;家具制造业;造纸及纸制品业;印刷业和记录媒介的复制;文教体育用品制造业;石油加工、炼焦及核燃料加工业化;学原料及化学制品制造业;医药制造业;化学纤维制造业;橡胶和塑料制品制品业;非金属矿物制品业;黑色金属冶炼及压延加工业;有色金属冶炼及压延加工业;金属制品业;通用设备制造业;专用设备制造业;汽车制造业;其他运输设备制造业;电气机械及器材制造业;通信设备计算机及其他电子设备制造业;仪器仪表及文化、办公用机械制造业;其他制造业;废弃资源和废旧材料回收加工业;制造业总产值印刷业和记录媒介的复制;石油加工、炼焦及核燃料加工业;化学原料及化学制品制造业;医药制造业;橡胶和塑料制品制品业;非金属矿物制品业;黑色金属冶炼及压延加工业;有色金属冶炼及压延加工业;金属制品业;通用设备制造业;专用设备制造业;汽车制造业;其他运输设备制造业;电气机械及器材制造业;通信设备计算机及其他电子设备制造业;仪器仪表及文化、办公用机械制造业;废弃资源和废旧材料回收加工业数据概述2001-2022年全国30个省份制造业细分行业产值数据.xlsx全国30个省份先进制造业细分30行业产值数据2021.xlsx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值