回滚可以写在存储过程里面,再oracle中的存储过程可以捕获异常,执行回滚,mysql的每做过,应该也可以,你试试吧!
解决方案 »
- 用Ip访问在Tomcat下的项目
- 数据库内容未能显示
- Spring3.0.1问题
- 我用getLines得到页面lineForm的值全都是null,大家帮忙!!!
- 我做了个activex 。 怎么样实现客户端自动下载(包括注册安装)和判断版本并且自动更新。
- tomacat用哪个版本好
- IIS+Tomacat整合成功,但建立一个新的站点就无法运行jsp了,咋回事?
- 有什么什么方法能自动生成功能类似的代码?
- 在线等,提交form表单后怎么在处理表单里取数据
- 大家帮帮我啊!!getParameterMap()的问题!!!
- 怎样让jsp或Servlet处理后台操作(如数据入库)后不弹出空白窗口
- 打印的纸张问题?
start启动第一个线程
stop启动线程2,获得线程1的connection,停止线程1,connection回滚
答:你在存储过程中事务执行完毕,返回一个状态值,如果页面中能接收到这个值,表示事务执行完毕。2、如何停止正在进行的事务。
答:这个比较痛苦,你在点击开始执行事务的时候取得存储过程的spid,然后点击停止的时候查询取得这个spid,然后把这个存储过程停止,这样就可以保证数据的同步了。说起来比较简单,但写程序比较痛苦3、如果事务可以停止,那么我又如何回滚我的事务呢?
答:事务会自动回滚,不需要你人工干涉
当点击“stop”时原来的connnection已经不存在了,更找不到事务了。我是这样理解的
??
存储过程是由sql自己完成没错,可是你是在外面commit啊,只要没有到commit就相当于没运行啊
原来的connection一直存在只要没有关掉都可以获得,可以在调用线程之前保存下来(可以通过static对象来保存),等接受到stop请求后就可以获得这个connection
能不能具体点
没发上来一个请求,就把connection写到该hashtable里,key随即产生或者有规律产生,把key通过jsp传到浏览器
浏览器stop 的时候,就把该key再发回来,服务端根据该key获得自己的connection,然后进行回滚操作
当一个connection不再用了,就把他从hash里清除