1.客户端是个CPU卡操作,处理CPU卡充值金额。已经用applet实现。
2.表单提交把数据增加到ORACLE中,同时CPU卡已要充值金额。EXTJS+struts2+spring3+mybatis。业务层已经用拦截器的方式过滤,进行事务管理。
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource" />
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <tx:method name="create*" propagation="REQUIRED" />
   <tx:method name="delete*" propagation="REQUIRED" />
   <tx:method name="modify*" propagation="REQUIRED" />
   <tx:method name="veryfi*" propagation="REQUIRED" />
   <tx:method name="import*" propagation="REQUIRED" />
   <tx:method name="query*" propagation="SUPPORTS" read-only="true" />
   <tx:method name="tx*" propagation=  "REQUIRES_NEW"/>
   <tx:method name="*" propagation="SUPPORTS" read-only="true" />
  </tx:attributes>
</tx:advice>
3.问题:我在提交表单时,先操作数据增加到数据库中,然后同时操作客户端CPU卡充值金额(这里CPU卡操作每一步操作会通过js调用apple返回一个0值<表示成功>)。我想在提交表单后,加入事务,不知道怎么加事务。

解决方案 »

  1.   

    数据增加到数据库中,操作客户端CPU卡充值金额
    在页面上是一个操作还是两个操作?
    只要是一个操作,在对数据库处理时,将所有对数据库进行的操作作为一个事务就是了
      

  2.   

    你的业务在服务器端,这里可以加事务,但你的applet在界面上,两边怎么能同时加事务呢?又不是在同一个体系中。
    最多,可以通过一定的手段来保证applet中的程序正常,比如通过返回数据确认等。