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)	
相关推荐
大模型码小白11 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧12 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
段一凡-华北理工大学13 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe13 小时前
C++——多态
开发语言·c++
心平气和量大福大14 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
从零开始的代码生活_15 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸15 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
C^h15 小时前
python函数学习
人工智能·python·机器学习
Fanta丶15 小时前
4.Python set()集合、dict(字典、映射)、 数据容器的通用功能
python
决战灬15 小时前
langgraph之interrupt(理论篇)
人工智能·python·agent