`
yourenyouyu2008
  • 浏览: 287619 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用长对话的"manual" flush-mode ,多操作一次提交

    博客分类:
  • seam
阅读更多

一次长对话访问中可以包括多个页面,每个页面只处理部分数据,但不保存到数据库,最后一起提交到数据库。

长对话可以很好地记录下各部操作的状态,但是默认情况下 flush-mode 是自动更新的,每次页面请求结束后就会更新到数据库里,如果要统一提交就必须更改flush-mode 为manual,让每次操作都不更新到数据库,最后在一起em.flush();

 

在页面配置(refBspgen222.page.xml)中指定manual方式

<page>

 <begin-conversation join="true" flush-mode="manual"/>
</page>

 

在最终要提交数据库的按钮上增加flush actionListener,如下所示

<a4j:commandLink actionListener="#{refBspgenparAction.save}" reRender="addPanel"
     value="submit2" styleClass="button">
     <f:actionListener binding="#{entitySupport.flush()}"/>
    </a4j:commandLink> 

中间不需要更新到数据库的页面上的按钮不要加<f:actionListener binding="#{entitySupport.flush()}"/>

备注:要保证entitySupport.flush()在refBspgenparAction.save之后再执行,要使用actionListener属性,而不是action属性

分享到:
评论

相关推荐

    cache-flush-by-reg.rar_flush

    标题“cache-flush-by-reg.rar_flush”暗示了我们即将探讨的内容与CPU缓存有关,特别是针对MN10300处理器核心的缓存...通过深入研究`cache-flush-by-reg.c`的源代码,我们可以学习到更多关于CPU缓存管理的实践知识。

    io-flush-test.zip_flush

    在标题"io-flush-test.zip_flush"和描述"this is a i/o flush code running on windows"中,我们可以看出这是一个关于在Windows操作系统上进行I/O刷新操作的测试。下面我们将详细讨论I/O刷新的含义、作用以及在...

    flush-sh4.rar_back

    然而,“flush-sh4.rar_back”可能是指一个特定的、针对SH4架构(SuperH处理器系列的第四代)的缓存刷新实现,它只执行写回操作,但不进行“invalidate”操作。 “Invalidate”操作是用来标记缓存中的数据无效,...

    flush-reload-attacks

    flush-reload :攻击工具,包括: flush-reload/original-from-authors :原始作者对Flush + Reload的实现。 flush-reload/myversion :我对Flush + Reload攻击工具的重写。 flush-reload/myversion/ruby :高级...

    webpack-flush-chunks::pile_of_poo:服务器到客户端的块发现+通用渲染的传输

    webpack-flush-chunks使开发人员可以利用webpack-flush-chunks开发人员可以使用的更智能,浪费更少的分块方法。 在服务器端使用此程序包从或任何刷新呈现的moduleIds或chunkNames数组的程序包中刷新Webpack块。 ...

    MySQL-Flush命令用法.docx#资源达人分享计划#

    Flush 语句的基本语法是使用 FLUSH 关键字,后面跟着一个或多个 flush_option 参数。每个 flush_option 参数可以是 DES_KEY_FILE、HOSTS、LOGS、PRIVILEGES、QUERY CACHE、STATUS、TABLES、USER_RESOURCES 等。 1....

    flush-syardh.zip_flush

    Symbol Timing Tracking Using Early-Late Techniques by matlab

    flush-promises:刷新所有排队的已解决promise处理程序

    const flushPromises = require ( 'flush-promises' ) ; test ( 'flushPromises' , async ( ) =&gt; { let a ; let b ; Promise . resolve ( ) . then ( ( ) =&gt; { a = 1 ; } ) . then ( ( ) =&gt; { b = 2 ; } ) ...

    blk-flush.rar_flush

    在【标题】"blk-flush.rar_flush"中提到的"FLUSH"和"FUA"(Force Unit Access)功能,是针对磁盘写操作的一种优化机制,旨在提高数据的可靠性与一致性。【描述】中指出,这个rar文件包含的代码主要关注于如何序列化...

    Hibernate的事务处理机制和flush方法的用法.docx

    在使用Hibernate进行数据库操作时,事务管理和`flush`方法的正确使用至关重要,因为它们直接影响到数据的一致性和安全性。在本文中,我们将深入探讨Hibernate的事务处理机制以及`flush`方法的用法,并分析为何在某些...

    hibernate的flush机制

    由于`evict()`操作将`cat`从`entityEntries`中移除,但在事务提交时(即Flush操作时),Hibernate无法找到`cat`对象的引用,从而导致`AssertionFailure`异常,提示可能的非线程安全访问或不正确的Session使用。...

    支持RISC-V指令集,32位5级流水线,支持Flush与转发操作的CPU2

    本文将深入探讨一个基于RISC-V指令集、采用32位5级流水线架构,并支持Flush与转发操作的CPU设计。 首先,让我们了解RISC-V(Reduced Instruction Set Computer - Version 5)指令集。RISC-V是一个开放源代码指令集...

    hibernate的session.flush

    2. **大数据量操作**:当处理大量数据时,分批`flush()`可以减轻数据库的压力,避免一次性加载过多数据导致内存溢出。 3. **查询与更新混合操作**:在更新后立即进行查询,`flush()`确保查询结果包含最新的更改。 ...

    dm-log-userspace-base.rar_flush

    标题 "dm-log-userspace-base.rar_flush" 暗示了我们正在探讨的是一种与磁盘映射(device mapper)相关的用户空间基础结构,特别是与数据刷新操作相关的部分。描述中的 "Mark and clear requests are held until a ...

    module_pg_flushbuffer

    在PostgreSQL数据库系统中,`module_pg_flushbuffer`是一个关键组件,主要负责数据缓冲区的刷新操作。在数据库系统中,缓冲区管理是性能优化的关键部分,因为它减少了磁盘I/O,提高了数据读写速度。当对数据库进行...

    hibernate的flush()、refresh()、clear()针对一级缓存的操作的区别.docx

    例如,在上述代码示例中,当第二次调用`setName()`并调用`flush()`后,Hibernate会立即执行两次UPDATE操作,即使事务尚未提交。这在需要立即反映数据变化的场景下很有用,比如在并发环境下确保数据的一致性。 2. `...

    hibernate_flush 深入了解

    默认情况下,Flush操作会在事务提交前进行,确保事务内的所有操作都能正确反映到数据库。如果在事务中遇到异常,所有未提交的变更会被回滚,保证数据的一致性。 再者,隔离级别是数据库事务处理并发问题的关键。...

    flash-plugin-11.2.202.438-release.x86_64.rpm

    flash-plugin-11.2.202.438-release.x86_64.rpm

    genoset-alcohol-flush-reaction:确定基因组是否可能有极端、中度或无酒精潮红React (rs671)

    var alcoholFlushReaction = require ( 'genoset-alcohol-flush-reaction' ) ; var fs = require ( 'fs' ) ; var path = require ( 'path' ) ; var es = require ( 'event-stream' ) ; var JSONStream = require ( ...

Global site tag (gtag.js) - Google Analytics