我的项目中有几种使用spring@Transactional
的方法如下:
@Transactional(value = "sys.tx.mngr", propagation = Propagation.REQUIRES_NEW)
public void addMember(InputParam input)
{
// do somthing...
}
@Transactional(value = "sys.tx.mngr", propagation = Propagation.REQUIRES_NEW)
public void blockMember(InputBlockParam param)
{
// do somthing...
}
然后我为每种方法设置不同的超时时间,如下所示:
@Transactional(value = "sys.tx.mngr", propagation = Propagation.REQUIRES_NEW,timeout = 40)
public void addMember(InputParam input)
{
// do somthing...
}
@Transactional(value = "sys.tx.mngr", propagation = Propagation.REQUIRES_NEW, timeout = 20)
public void blockMember(InputBlockParam param)
{
// do somthing...
}
我想在最后一步将超时设置为由属性文件配置,但我不知道是什么。spring Transactional
在可配置或动态的注释中设置超时是否有任何解决方案?
编辑:
我sys.tx.mngr
在spring上下文文件中定义如下:
<bean id="sys.tx.mngr" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="emf"/>
</bean>
<tx:annotation-driven transaction-manager="sys.tx.mngr" />
或者是否有其他方法可以在每个方法的弹簧上下文文件中定义超时?