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

前言

在上一章节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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值