JAXBContext.newInstance线程阻塞

问题现象:java.lang.Thread.State: BLOCKED (on object monitor)at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:719)- waiting to lock <0x0000000080af2208> (a sun.net.www.protocol.jar.URLJarFile)at java.io.FilterI...
摘要由CSDN通过智能技术生成

问题现象:

java.lang.Thread.State: BLOCKED (on object monitor)

        at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:719)

        - waiting to lock <0x0000000080af2208> (a sun.net.www.protocol.jar.URLJarFile)

        at java.io.FilterInputStream.read(FilterInputStream.java:133)

        at java.io.DataInputStream.read(DataInputStream.java:100)

        at com.sun.xml.internal.bind.v2.bytecode.ClassTailor.tailor(ClassTailor.java:176)

        at com.sun.xml.internal.bind.v2.runtime.reflect.opt.AccessorInjector.tailor(AccessorInjector.java:107)

        at com.sun.xml.internal.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:68)

      ....

at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234)

        at javax.xml.bind.ContextFinder.find(ContextFinder.java:462)

        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641)

        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)

解决:

JAXBContextImpl#newInstance(Class clazz)方法内存在synchronized修饰的io流,属于线程安全,多个线程获取JAXBContext对象时会阻塞

使用单例模式代替JAXBContext.newInstance创建JAXBContext对象

 

1.问题:

夜间批量cpu100%,查看日志发现bean转xml工具类耗时较长

 

关键日志:

2021-05-21 02:20:11.168 [SOFA-SEV-BOLT-BIZ-12200-13-T40] INFO  [TarceId:0b080b8d1621534806127496822] com...utils...ESBUtils - request soaRequest {transId:xxx}:SoaRequest{name='FindRequest', xmlns='http://localhost:9001/app100/proxyService/inquery/origiTransInqeury/xxx500_v1_0_0_proxy', params={requestHeader={HD_Init_Ext_TX_Cd=019E, HD_Termn_Typ=99, HD_Chnl_Seq_Num=123, HD_Chrg_Fine_Item_Cnt=0, HD_Free_Amt=0.00}, requestBody={Cust_Acct_Num=111}}}

2021-05-21 02:20:15.157 [SOFA-SEV-BOLT-BIZ-12200-13-T40] INFO  [TarceId:0b080b8d1621534806127496822] com....utils...ESBUtils - bean--Xml = :3989ms

2021-05-21 02:20:15.236 [SOFA-SEV-BOLT-BIZ-12200-13-T40] INFO  com...utils...ESBUtils - request time:79ms

2021-05-21 02:20:15.237 [SOFA-SEV-BOLT-BIZ-12200-13-T40] INFO  [TarceId:0b080b8d1621534806127496822] com...utils...ESBUtils - Xml--bean = :1ms

2021-05-21 02:20:15.237 [SOFA-SEV-BOLT-BIZ-12200-13-T40] INFO  [TarceId:0b080b8d1621534806127496822] com...utils...ESBUtils - totRunTime:4069ms

 

检查这段时间

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值