欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI

页面树结构

欢迎使用普元文档库

Skip to end of metadata
Go to start of metadata

【问题描述】

具体问题如下:
场景一:两级rest的重投问题(httpheader的一个属性有一次请求带上,后面所有的转发都会加上)
                有一次请求的时候,httpheader 里面有加了一个属性 OIP-ResendFlag ,属性值是1,
                在后面的所有请求不管加不加这个属性,在转发的时候都会带上这个属性
场景二:无效的路由属性问题 (转发的时候设置的httpheader丢失)
                请求的时候httpheader 里面有以下属性aaaa
                    OIP-Sender   
                    OIP-ServCode
                    OIP-EsbId
                    OIP-MsgId
                    OIP-HTTPInvokeMethod 
                在转发的时候把这些属性已经设置到header里面,但是接受方收到的header没有这些属性。
                在把进程重启之后,这种现象消失
                由于接入我们的一些请求,还有一些路由属性不在header里面,没有这些属性,这个场景和场景三有些类似。
场景三:无此服务的问题 (转发的httpheader错乱,使用非本次请求的httpheader,转发设置的header和接收方接收的header不一样)
                 接收与请求设置的header是:
                    OIP-Sender   :10.1107
                    OIP-ServCode   :32.1107.GroupActiveTask.AsynReq
                    OIP-MsgId   :2015030922021921900000000016701122593
                对方收到的header是: 
                    OIP-Sender   : 10.1107
                    OIP-ServCode   : 51.1107.BatchTfjNotice.AsynReq
                    OIP-MsgId   : 0152c49ee2015-0312-12-34

【解答】

是改写的中介流的部分代码问题:开发人员在ESB的中介流里面,异步http请求的时候,要添加一下固有的属性,比如content-type等,这个使用了一个静态的HashMap,获得这个hashMap之后,又添加了一些请求自带的属性,显然这个map是静态的,在多线程并发的时候是不安全的,里面添加的属性不会改变,导致在数据量大,并发量高的情况下,极小的几率出现http头混乱的情况;

  • 无标签