TongWeb8.0 JNDI缓存

TongWeb8.0默认开启了JNDI缓存,若遇到如下异常或线程阻塞在com.tongweb.naming.JndiCache上,则增加参数-Dtongweb.disableJndiCache=true关闭缓存。

复制代码
#部署应用异常
Caused by: java.lang.IllegalStateExcception: Recursive update
  at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java)
  at com.tongweb.naming.JndiCache.lookup(JndiCache.java:80)

#访问阻塞在JndiCache上  
"TW-8088-2" #86 daemon prio=5 os_prio=0 tid=0x00000289a7373800 nid=0x69f4 runnable [0x000000bb038fb000]
   java.lang.Thread.State: RUNNABLE
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1718)
	at com.tongweb.naming.JndiCache.lookup(JndiCache.java:80)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup0(ContextHandler.java:47)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup(ContextHandler.java:42)
	at com.tongweb.tongejb.core.ivm.naming.IvmContext.lookup0(IvmContext.java:192)
	at com.tongweb.tongejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:159)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookupInternal(ContextHandler.java:71)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lambda$lookup0$0(ContextHandler.java:47)
	at com.tongweb.tongejb.core.ivm.ContextHandler$$Lambda$164/1730914651.lookup(Unknown Source)
	at com.tongweb.naming.JndiCache.lambda$lookup$1(JndiCache.java:82)
	at com.tongweb.naming.JndiCache$$Lambda$166/28020301.apply(Unknown Source)
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
	- locked <0x00000000d8f16a28> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
	at com.tongweb.naming.JndiCache.lookup(JndiCache.java:80)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup0(ContextHandler.java:47)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup(ContextHandler.java:42)
	at javax.naming.InitialContext.lookup(InitialContext.java:417)
	
"TW-8088-5" #89 daemon prio=5 os_prio=0 tid=0x0000022a45da0800 nid=0x7d9c waiting for monitor entry [0x0000006a471fb000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1674)
	- waiting to lock <0x00000000d9a443b0> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
	at com.tongweb.naming.JndiCache.lookup(JndiCache.java:80)
	at com.tongweb.tongejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:160)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup0(ContextHandler.java:62)
	at com.tongweb.tongejb.core.ivm.ContextHandler.lookup(ContextHandler.java:41)
	at javax.naming.InitialContext.lookup(InitialContext.java:417)
	at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
	at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
	at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
	at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)	
相关推荐
2401_8714928517 小时前
如何在 React Router v6 中正确配置多路由组件显示
jvm·数据库·python
叶子野格17 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
光影少年17 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
ch3nyuyu17 小时前
静态库和动态库的制作
linux·运维·开发语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.18 小时前
《redis-cluster 集群部署完全手册(含扩容+缩容)》
数据库·redis·缓存
a11177618 小时前
高斯泼溅 (Gaussian Splatting) 的 Three.js 实现
开发语言·javascript·ecmascript
成都渲染101云渲染666618 小时前
云渲染全面支持3dsMax 2027,高效渲染体验升级
开发语言·前端·javascript
神仙别闹18 小时前
基于Python(Django)+MySQL 实现(Web)SQL智能检测系统的设计与实现
python·mysql·django
甄心爱学习18 小时前
【项目实训】法律文书智能摘要系统4
python·github·个人开发
向往着的青绿色19 小时前
Java反序列化漏洞(持续更新中)
java·开发语言·计算机网络·安全·web安全·网络安全·网络攻击模型