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)	
相关推荐
平常心的技术小牛2 小时前
Qt-快速上手-QMenuBar
开发语言·qt
青 春 记 忆3 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
Python私教3 小时前
多个项目怎么安全合并?先适配,再切换
后端·python·架构
余额瞒着我当琳5 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
坐吃山猪5 小时前
WebClient内存配置解析
开发语言·springboot·webflux
北斗落凡尘5 小时前
LangGraph 入门实战(12)--使用MCP
后端·python·langchain
jdksjw6 小时前
同步与异步、阻塞与非阻塞、多线程、协程超详细讲解(Python并发编程从入门到精通)
开发语言·python
Zach_菠萝侠6 小时前
【DeepSeek Harness 研究】进化方向4:安全加固 思考、设计与实现
开发语言·安全·deepseek
Mike_Zhang6 小时前
使用python统计FreeSWITCH呼叫并发
python·freeswitch
SL-staff6 小时前
技术实践:HR如何用JVS-Logic可视化编排实现考勤数据同步(含节点配置与异常处理)
开发语言·python·低代码·钉钉·可视化编排·jvs-logic·hr技术