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)	
相关推荐
CyrusYiVPP11 分钟前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
2601_967980111 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理
xbzb1 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
瑞克-桑切斯1 小时前
redis
数据库·redis·缓存
噢,我明白了3 小时前
JAVA中的一些基础应用知识点
java·开发语言
时间的拾荒人4 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾4 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
合尘猫4 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事4 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581615 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python