首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebLogic10.3.0:在bean池中丢失无状态会话bean

WebLogic10.3.0:在bean池中丢失无状态会话bean
EN

Stack Overflow用户
提问于 2010-02-17 13:55:05
回答 2查看 1.6K关注 0票数 1

我们有一种奇怪的情况,在WebLogic10.3.0中的Bean池中丢失了一个无状态SessionBean。由于池中只有一个bean,因此有效地挂起了所有传入呼叫。由于应用程序限制,我们不希望池中有多个实例。

在Weblogic管理控制台中,我们可以看到bean池中有一个实例,使用中的bean为0,等待传入的请求为1个。问题是,为什么系统不将请求发送到一个明显免费的bean实例?

这种情况发生在几个小时和100,000多个传入请求之后,同样的场景在旧的weblogic 8环境中运行良好。

我们得到以下堆栈跟踪:

代码语言:javascript
运行
复制
   "[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@b0d484 TIMED_WAITING

            sun.misc.Unsafe.park(Native Method)

            java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198)

            java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2054)

            weblogic.ejb.container.pool.StatelessSessionPool.waitForBean(StatelessSessionPool.java:269)

            weblogic.ejb.container.pool.StatelessSessionPool.getBean(StatelessSessionPool.java:111)

            weblogic.ejb.container.manager.StatelessManager.preInvoke(StatelessManager.java:148)

            weblogic.ejb.container.internal.BaseRemoteObject.preInvoke(BaseRemoteObject.java:227)

            weblogic.ejb.container.internal.StatelessRemoteObject.preInvoke(StatelessRemoteObject.java:52)

            com.mycompany.beans.MessageLogFacace_n73y0z_EOImpl.isMyStuffValid(MessageLogFacace_n73y0z_EOImpl.java:261)

            com.mycompany.beans.MessageLogFacace_n73y0z_EOImpl_WLSkel.invoke(Unknown Source)

            weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)

            weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)

            weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)

            weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

            weblogic.security.service.SecurityManager.runAs(Unknown Source)

            weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)

            weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)

            weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

            weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

任何帮助都是非常欢迎的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-07 22:16:12

这在Oracle中是一个已知的问题,他们有一个解决此问题的修补程序。请与Oracle支持部门联系以获得修补程序。

票数 0
EN

Stack Overflow用户

发布于 2010-02-17 15:37:08

这更像是一个解决办法,而不是一个直接的答案,但如果这适用于WebLogic 8,也许可以尝试切换到8.1风格的执行队列,看看它是否有用。在任何情况下,你都应该打开一个箱子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2281186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档