首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datanucleus,PMF线程是否保存?tomcat中的问题

Datanucleus,PMF线程是否保存?tomcat中的问题
EN

Stack Overflow用户
提问于 2012-05-29 15:57:37
回答 1查看 164关注 0票数 0

你知道datanucleus中的PMF是否是线程安全的?我有以下问题:

我有一个PMF,它创建了几个PersistenceManagers,一个用于方法调用。PMF在线程和方法之间共享。

在单线程中运行应用程序时一切正常,但当应用程序部署在Tomcat上时,压力测试显示,在某些情况下,持久性管理器堆叠在并发的getObjectById调用上。

这不是一个锁定问题,因为非事务性读取处于打开状态。多线程标志也被设置为true。

每次创建新的PMF时,这个问题都消失了。但是这个解决方案是昂贵的。对更好的解决方案有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2012-05-30 02:33:55

正如JDO规范明确说明的那样,PMF是线程安全的。PM不是线程安全的,所有DataNucleus文档都建议每个请求一个PM。由于您(假设您)每个请求有1个PM,因此不存在锁定的前景,因为PM不与另一个PM共享任何内容

如果你说你有阻塞,你可以很容易地提供一个线程转储,它显示了两个PM是如何相互锁定的,然后演示了什么阻塞了什么以及为什么阻塞。可能性...L2缓存,存储管理器(数据存储)。显然,使用最新的版本对所有这些都有意义

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

https://stackoverflow.com/questions/10795179

复制
相关文章

相似问题

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