- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临一个问题,我有一个方法正在调用服务层中的另一个方法,如下所示:
@Transactional
@Override
public void method1(List<String> vals)
{
for (String value : vals){
method2(value);
}
}
@Transactional(propagation= Propagation.REQUIRED)
public void method2(String value)
{
//Hibernate Call 1
//Hibernate Call 2
}
<tx:annotation-driven transaction-manager="transactionManager"/>
<aop:aspectj-autoproxy/>
<!-- Transaction manager for hibernate -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
<property name="dataSource" ref="dataSource"></property>
</bean>
12/22/11 18:4455410: ERROR [ http-8181-1] (.support.TransactionSynchronizationUtils:87 ) - TransactionSynchronization.beforeCompletion threw exception java.lang.IllegalStateException: No value for key [org.hibernate.impl.SessionFactoryImpl@1b2668f] bound to thread [http-8181-1] at org.springframework.transaction.support.TransactionSynchronizationManager.unbindResource(TransactionSynchronizationManager.java:190) at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCompletion(SpringSessionSynchronization.java:187) at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCompletion(TransactionSynchronizationUtils.java:84) at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion(AbstractPlatformTransactionManager.java:895) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:693) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy31.method1(Unknown Source)
最佳答案
我真的看不出这段代码有什么问题。您可以尝试的一件事是一种解决方法:将 method2 代码提取到另一种方法,比如 method3 没有 @Transactional
并从保持 @Transactional
的 method2 和 method1 调用它.
附带问题:method1 和method2 是否在同一个类中?如果是并且使用了 JDK 代理,则 @Transactional
从方法 1 调用时,方法 2 周围将被忽略。
关于hibernate - @Transaction 问题 : TransactionSynchronization. beforeCompletion 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8604527/
我制作了一个使用 spring jdbc 从数据库访问数据的自定义中介类。 我从那个类中制作了一个 jar 并将其部署在 WSO2_HOME/repository/components/lib 中。
我正在使用 Spring TransactionSynchronizationManager 注册一个 beforeCompletion 回调,如下所示: @Transactional public
每次我用 JmsTemplate 发送消息时都会抛出异常。 (我使用Spring 3.0.5.RELEASE)。我找不到不兼容的类! 我的类路径中的 Spring jar: 错误日志: springf
我面临一个问题,我有一个方法正在调用服务层中的另一个方法,如下所示: @Transactional @Override public void method1(List vals)
在 Spring TransactionSynchronization 接口(interface)中它有方法(按执行顺序): - beforeCommit - beforeCompletion - a
我是一名优秀的程序员,十分优秀!