栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

此错误的原因是什么java.lang.IllegalStateException:尝试返回未知的connection2?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

此错误的原因是什么java.lang.IllegalStateException:尝试返回未知的connection2?

在JBoss
Wiki中
对此进行了回答。这里是相关的:

许多持久性框架(Hibernate2 /
OBJ)“随机”打开和关闭连接。就JBoss而言,似乎一个ejb分配了连接,而另一个ejb则关闭了该连接。连接关闭检查不了解此行为。它期望分配连接的同一ejb也将其关闭。

如果您使用这种模式或框架,则可以关闭此消息(请参阅下文),但是在检测连接泄漏时您将自己决定。从3.2.6开始,在CachedConnectionManager上有一个“
listInUseConnections()” 。

但是,此已知问题与某些事务划分语义有关。这实际上不是JBoss的用途,更多的是ThreadLocal模式绕过J2EE语义。

如果确实遇到问题,则从conf /
standardjboss.xml中的拦截器堆栈中删除CachedConnectionInterceptor可以解决伪造的消息。特别是对于Hibernate2,这是
安全的, 因为只要您正确地进行了最终用户事务,您就可以至少信任hibernate来正确关闭连接。

要删除CachedConnectionInterceptor,请编辑conf /
standardjboss.xml并删除对拦截器的所有引用。这些看起来像:

<container-configuration>  <container-name>Standard Stateless SessionBean</container-name>  <call-logging>false</call-logging>  <invoker-proxy-binding-name>stateless-http-invoker</invoker-proxy-

binding-name>

org.jboss.resource.connectionmanager.CachedConnectionInterceptor

Hibernate3提供了其他机制来管理会话(和连接),因此很容易避免此问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号