首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

SPRING QUARTZ 报错 no value for key解决办法

2013-11-15 
SPRING QUARTZ 报错 no value for keyEclipse报错如下:java.lang.IllegalStateException: No value for ke

SPRING QUARTZ 报错 no value for key
Eclipse报错如下:
java.lang.IllegalStateException: No value for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@1785f0d] bound to thread [pool-2-thread-1]
at org.springframework.transaction.support.TransactionSynchronizationManager.unbindResource(TransactionSynchronizationManager.java:209)
at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:570)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1008)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:804)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at com.ss.base.instrument.TxProfiler.invoke(TxProfiler.java:45)

网上没找到该如何解决,请高手帮忙.
另外:tomcat设置为调试模式,设置断点进行跟踪,却不报错。如果不设置断点,就会报错。

初步推断 多线程引起 但不知该如何解决 spring
[解决办法]
java.lang.IllegalStateException: No value for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@1785f0d] bound to thread [pool-2-thread-1]

IllegalStateException = 状态非法

No value for key = key 没有值
[解决办法]
根据 JPA 规范,EntityManager 仅供单个线程使用。
通过 @PersistenceContext 注释来插入 EntityManager 实例,将应用程序更改为使用容器管理的持久性上下文(如果应用程序的编程模型顺应此更改)。本质上,这将通过支持容器进行管理,来强制执行“获取-使用-结束”模式。
如果要是希望在spring环境中使用@PersistenceContext和@PersistenceUnit,则在相关配置文件中增加
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

希望对你的多线程应用起到帮助。

热点排行