当事务进行到一半时web服务器挂了

问题描述

当事务进行到一半时web服务器挂了
@Transactional(propagation=Propagation.REQUIRED)
public void test(){
    financialDao.createObj(new Financial(null,40076L));
    financialDao.createObj(new Financial(null,40077L));
    financialDao.createObj(new Financial(null,40078L));
    financialDao.createObj(new Financial(null,40079L));
    financialDao.createObj(new Financial(null,40080L));
    try {
        Thread.sleep(20000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    financialDao.createObj(new Financial(null,40081L));
    financialDao.createObj(new Financial(null,40082L));
    financialDao.createObj(new Financial(null,40083L));
}

中间睡眠20秒是让我自己有时间关闭服务器,是用来模拟服务器挂掉的时候当前操作只进行了一部分,服务器挂了之后睡眠前的数据持久化到数据库了,睡眠后的数据没有持久化到数据库,我想不明白是什么原因,我觉得既然他方法都没执行完成,就应该没有进行事务的提交,睡眠前和睡眠后的操作都不应该持久化到数据库。请哪位高人来指点一下 说说这其中的一些情况,感激不尽。

解决方案

数据库在你关闭服务器的时候会自动检查内存中的脏数据的,然后将这些脏数据持久化到数据库的,而且你做了DML操作之后不需要等待commit才会提交到硬盘写入的

解决方案二:

数据库在你关闭服务器的时候会自动检查内存中的脏数据的,然后将这些脏数据持久化到数据库的,而且你做了DML操作之后不需要等待commit才会提交到硬盘写入的

时间: 2024-09-15 18:46:10

当事务进行到一半时web服务器挂了的相关文章

Linux Apache Web 服务器终极教程_unix linux

APACHE系统介绍  根据著名的WWW服务器调查公司所作的调查世界上百分之五十以上的WWW服务器都在使用Apache是世界排名第一的WEB服务器.Apache的诞生极富有戏剧性.当NCSA WWW服务器项目停顿后那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序他们也很快认识到成立管理这些补丁程序的论坛是必要的.就这样诞生了Apache Group后来这个团体在NCSA的基础上创建了Apache.  Apache的主要特征是  . 可以运行上所有计算机平台  . 支持最新的

当Web服务器与AD服务器分开时,无法通过Web服务器访问AD中的信息

问题描述 以前是将web服务器与AD服务器都用一台时的时候,通过访问web网站可以正常读取其中的AD信息.但是,当将web服务器与AD服务器分开后,即无法访问通过访问web网站读取AD中的信息.报错信息如下.出现了一个操作错误.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.DirectoryServices.DirectoryServicesCOMException:出现了一个操作错误.源错误:

请各位高手学哥学姐们帮帮忙呀!尝试创建Web项目或打开位于URL"http://localhost/WebAplication1"的Web项目时,Web服务器报告了以下错误。“http/1.1500 Server Error”。

问题描述 小弟的刚装好,出现下面的错误.尝试创建Web项目或打开位于URL"http://localhost/WebAplication1"的Web项目时,Web服务器报告了以下错误."http/1.1500ServerError". 解决方案 解决方案二:1.查看自己是否使用了代理.2.尝试使用命令重新注册C:WINNTMicrosoft.NETFrameworkv1.1.4322aspnet_regiis.exe-i重新启动IIS.解决方案三:还是不行呀?怎么办

VS2015,Win10,调试时:“另一个调试器已连接到该Web服务器”

问题描述 vs2015,win10,IISVS2015已打Update1高度web程序时,提示"另一个调试器已连接到该Web服务器",必须重启IIS方可,调试完后,再次调试时,又出现同样的提示,再重启IIS后又可以了,如此反复.此现象不是100%出现,机率大概70-80%,比较频繁.求高手解惑. 解决方案 解决方案二:换个版本IIS看看,一般没人能回答这个问题吧解决方案三:据说vs2015的bug很多,不知道是不是真的.反正我vs2012一般没这个问题,如果有,直接右下角,关闭deve

android与WEB服务器交互时的SESSION

当Android应用程序访问WEB服务器的时候,我们为了与服务器保持同一会话,也就是说当前登录用户与服务器的交互是在同一个SessionId下. 当我们登录成功的时候,可以通过HTTP请求获取到Cookie信息,其中包括会话的SessionId,同时也可以自己将SessionId放入Json中返回.Session我们可以用一个静态变量来存放,每次向服务器发送请求的时候将SessionId带过去,服务器会自动检验这个SessionId有没有失效. DefaultHttpClient httpcli

IIS 7.5 中提供的 Web 服务器 (IIS) 角色服务

Internet 信息服务 (IIS) 7.5 是 Windows 7 中的 Web 服务器 (IIS) 角色和 Windows Server 2008 R2 中的 Web 服务器.Web 服务器在 IIS 7 中经过重新设计,使您可以通过添加或删除模块对服务器进行自定义,从而满足您的特定需求.模块是服务器用于处理请求的独特功能.例如,IIS 使用身份验证模块对客户端凭据进行身份验证,并使用缓存模块来管理缓存活动. Windows Server 2008 R2 提供了在生产环境中支持 Web 内

FreeBSD下构建安全的Web服务器(1)

序言 在我们跑Web服务器的时候,大家可能都会一致认为使用Linux+Mysql+Apache+PHP整个开源的系统是比较好的选择,但是我个人认为这是不合理的,首先要根据你的应用来觉得你使用什么服务.假如你需要跑Oracle等大型应用的话,而且Oracle在Linux下是支持的比较好的,那么使用Linux是个好的选择,因为在FreeBSD下安装Oracle是个非常麻烦的事情.那么如果是跑普通的网站应用的话,我觉得使用FreeBSD+Mysql+Apache+PHP是个好的选择,因为对于一个网站来

主流七款web服务器软件点评

web|web服务|web服务器|主流 如今互联网的WEB平台种类繁多,各种软硬件组合的WEB系统更是数不胜数,下面就来介绍一下几种常用的WEB服务器: 1.Microsoft IIS Microsoft的Web服务器产品为Internet Information Server (IIS), IIS 是允许在公共Intranet或Internet上发布信息的Web服务器.IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上.IIS提供了一个图形界面的管理工具,称为 I

基于java得web服务器实现[Z]

web|web服务|web服务器 基于Java的Web服务器工作原理1 一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信.这个客户端通常指的是 Web 浏览器.一个基于 Java 的 Web 服务器用到二个重要的类,java.net.Socket 与 java.net.ServerSocket ,并通过 HTTP 消息通信.因此,本文从讨论 HTTP 与这二个类开始,然后我将解释一个与本文相关的简单的 Web 应用. The Hypertext Transfer