代理服务器org.springframework.orm.jpa.SharedEntityManagerCreator:invoke:289

时间:2015-07-20 13:05:20

标签: mysql hibernate jboss7.x spring-data-jpa

我正在为我目前正在处理的应用程序执行基准测试。经过大量的迭代后,我们可以确定时间组件。

它是一个基于Web的应用程序,使用Spring Data JPA和hibernate作为持久性提供程序。

从监控工具中我们发现类Proxy For org.springframework.orm.jpa.SharedEntityManagerCreator:invoke:289是运行更多数量(2000)并发线程所花费的时间。

请告诉我可能的原因和解决方案。

以下是我正在使用的版本 春天 - 4.1.7.RELEASE Hibernate - 4.2.15.Final Spring Data JPA - 1.8.0.RELEASE 下面是钻取的向下调用图

Drill Down Call Graph

1 个答案:

答案 0 :(得分:1)

SharedEntityManagerCreator正在为该特定线程创建一个新的EntityManager实例。如果您使用JPA,那么根据规范的定义,EntityManager不应该是线程安全的。

您发布的行号意味着EntityManager实例上的反射方法调用花了那么多时间。所以我会检查实际调用的方法,它的作用以及为什么需要这么长时间。 SharedEntityManagerCreator基本上只是转发呼叫。