public void add()//PROPAGATION_NEVER不应在事务中进行
{
addPerson.addUser();//PROPAGATION_SUPPORTS支持现在的事务,没有就非事务进行
addPerson.addPerson();//PROPAGATION_REQUIRED表示在目前的事务中执行操作,如果事务不存在就建立一个新的事务。
}是否逻辑有些混乱啊
{
addPerson.addUser();//PROPAGATION_SUPPORTS支持现在的事务,没有就非事务进行
addPerson.addPerson();//PROPAGATION_REQUIRED表示在目前的事务中执行操作,如果事务不存在就建立一个新的事务。
}是否逻辑有些混乱啊
解决方案 »
- 谁会ssl呀 和ssh结合使用
- 请问如何将excel嵌入到jsp中?
- 严重: Exception sending context initialized event to listener instance of class or
- 高手求救:tomcat加载webapp lib下自己的jar包找不到资源啊
- 下面代码会不会引起脏读,幻像读
- jsp从数据库中读取时间的问题!!
- 做.net 快两年了,想转JAVA现在正在学WEBWORK+SPRING+HIBERNATE大家能给点建议吗?
- 客户端打包?EJB高手请进!~~~~~~~~~~~~~~~~~~~~~~~~~
- 急!Struts实现复选框问题
- 极菜问:如何锁住文件不让别的程序或人修改删除,高分求教
- Hibernate问题
- struts问题:一个表单里面,多个按钮,实现不同功能
<prop key="addPerson">PROPAGATION_REQUIRED</prop>
加上+Exception试试,感觉你的逻辑比较乱了。。
<prop key="addPerson">PROPAGATION_REQUIRED,+xxxException</prop>
PROPAGATION_NEVER
PROPAGATION_
PROPAGATION_REQUIRED
区别而已,如果按照它们字面的意思,
好象不应该这样的
你可以试试编程式事务的操作。http://spring.jactiongroup.net/viewtopic.php?t=2182
11:14:01,281 WARN HibernateTransactionManager:601 - Should roll back transaction but cannot - no transaction available //然后抛出了这个警告,第一个方法写入的数据没有被回滚。
<bean id="es"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<property name="target" ref="exampleService"/>
<property name="transactionAttributes">
<props>
<prop key="add1">PROPAGATION_SUPPORTS</prop>
<prop key="add2">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean> <bean id="testAdd"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<property name="target" >
<bean class="com.saro.example.web.TestAdd" >
<property name="es" ref="es" />
</bean>
</property>
<property name="transactionAttributes">
<props>
<prop key="add">PROPAGATION_NEVER</prop>
</props>
</property>
</bean>楼主把你的完整配置和代码贴出来看看。
this.es.add1();
this.es.add2();
} private ExampleService es; public void setEs(ExampleService es) {
this.es = es;
}
}
<property name="target"><ref local="trantTestTarget"/></property>你这里的trantTestTarget使用的不是你配置的那个addPerson(有事务增强的bean)而是new了一个AddPerson?