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

Seam在EntityQuery的validate阶段开始会话,FlushModeType.MANUAL参数无效问题的解决

    博客分类:
  • Seam
阅读更多

如题所说,直接看我的解决方法

@Override
@Begin(join = true)
public void validate() {
super.validate();
((Session) getEntityManager().getDelegate()).setFlushMode(FlushMode.MANUAL);
}

 

通过delegate来设置事务的提交模式

有人会疑问,为什么我们不直接
@Begin(flushMode = FlushModeType.MANUAL, join = true)
这样设置呢,此时存在Seam的上下文环境,但FlushModeType.MANUAL参数无效,具体原因我还没明白。

 

Seam官方文档:Seam允许你在开始会话时指定FlushModeType.MANUAL参数。 目前,只有Hibernate作为持久化底层提供者时它才能正常工作,但是我们计划支持其它同类计算机厂商扩展。

validate方法在组件被创建时执行

但是在EntityQuery的validate阶段能够开始会话,但是为什么指定FlushModeType.MANUAL参数了,但无效呢?

 

注:这里的EntityQuery是org.jboss.seam.framework.EntityQuery<E>,validate实现源码

 

   @Override
   public void validate()
   {
      super.validate();
      if ( getEntityManager()==null )
      {
         throw new IllegalStateException("entityManager is null");
      }
      
      if (!PersistenceProvider.instance().supportsFeature(Feature.WILDCARD_AS_COUNT_QUERY_SUBJECT)) {
         setUseWildcardAsCountQuerySubject(false);
      }
   }

  

 

   @Create
   public void validate()
   {
      if ( getEjbql()==null )
      {
         throw new IllegalStateException("ejbql is null");
      }
   }

 

分享到:
评论

相关推荐

    jboss seam 架设Eclipse 中常见的错误解决.doc

    JBoss Seam 是一款开源的企业级Java框架,它集成了...解决这些问题后,你应该能够成功地在Tomcat上运行Seam应用程序。在迁移过程中,保持耐心和仔细检查配置是关键,同时理解Seam和Tomcat之间的差异也是非常重要的。

    Seam2[1][1].0中文参考手册

    Seam2[1][1].0中文参考手册

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    droolsjbpm-integration, Drools和jBPM与 seam,spring,camel的集成. ..zip

    droolsjbpm-integration, Drools和jBPM与 seam,spring,camel的集成. . 开发口水和 jBPM如果你想要构建或者贡献到一个项目,则阅读这里文档 。 我们将通过正确设置开发环境来节省你和我们大量的时间。 它解决了所有...

    Packt.Publishing.Seam.2.x.Web.Development.Apr.2009

    ### Seam 2.x Web 开发知识点详解 #### 一、Seam 2.x 概述 Seam 2.x 是一款基于 Java 的企业级应用程序框架,由 JBoss 提供支持。它极大地简化了 Java 应用程序的开发过程,使得开发者能够更高效地构建复杂的 Web ...

    中山永丰实验学校SEAM创新实验室整体项目解决方案.doc

    该项目的主要目标是创建一个能够支持探究式学习、实践操作和创意表达的空间,使学生能够在实际操作中理解和应用科学、工程、艺术和数学的知识,同时培养他们的创新精神和问题解决能力。 2.2 项目意义 SEAM创新实验...

    seam插件下载地址及安装过程

    本文将详细阐述如何在 Eclipse 中安装 Seam 插件以及配置 JBoss 服务器、Ant 和 Seam 包。 首先,安装 Seam 插件涉及到下载 JBossTools。在 Eclipse 3.4.2 中,你可以通过 Help -&gt; Software Updates -&gt; Available ...

    Manning.Seam.in.Action.Sep.2008.pdf

    对话(Conversation)是Seam框架中用于管理用户会话和应用状态的一个关键概念。它定义了用户与应用之间交互的范围,可以跨越多个HTTP请求。对话机制确保了数据的一致性和事务的完整性,尤其是在复杂的Web应用中,...

    jboss-seam-1.1.1.GA.tar.gz_easy

    9. **Testing and Debugging**:Seam提供了丰富的测试工具和日志支持,帮助开发者在开发过程中快速定位问题,提高了调试效率。 10. **Documentation and Community**:JBoss Seam有着详尽的官方文档和活跃的社区...

    照片去水印工具(Seam Carving GUI) v1.11 免费版.rar

    Seam Carving GUI 是一款开源免费的英文软件,它可以去除图片和照片的水印的工具,清除瑕疵,抹掉不想要的景物和人等 功能: 1、retian/remove。其中的功能是让你使用颜色标记图片中的物体,好让软件知道哪些部分...

    JBoss.Seam.Simplicity.and.Power.Beyond.Java.EE

    - **实战案例**:书中包含了大量的实战案例,通过具体实例展示了如何使用JBoss Seam解决实际问题。 - **最佳实践**:作者分享了他们在使用JBoss Seam过程中积累的最佳实践和技巧,帮助读者避免常见的陷阱和错误。 - ...

    jboss.seam.simplicity.and.power.beyond.java.ee2007

    jboss.seam.simplicity.and.power.beyond.java.ee2007

    jboss-seam-2.1.1.GA.jar.zip

    3. **状态管理**:Seam提供了强大的会话和请求范围的状态管理机制,使得处理复杂Web应用的状态管理变得容易。 4. **安全和身份验证**:Seam集成了安全性框架,如JAAS(Java Authentication and Authorization ...

    Seam-Carving-Matlab-master.rar_boardkkc_seam_seam carving_seamca

    5. `remove_seam.m`/`add_seam.m`:删除或添加接缝以调整图像尺寸的函数。 6. 示例图像:用于测试算法的图像文件。 在计算机视觉领域,Seam Carving被广泛应用于智能缩放,因为它可以智能地选择删除或增加哪些像素...

    seam2 in tomcat lib

    确保你配置了正确的日志框架(如Log4j)和调试级别,以便有效地解决问题。 6. **性能优化**:由于Tomcat的轻量级特性,你可能需要关注内存使用和性能优化。例如,调整Tomcat的启动参数,如堆大小和线程池设置,以...

    jboss seam 学习资料,seam in action和官方手册

    2. **配置与部署**:介绍如何设置Seam项目,包括pom.xml、seam.properties和web.xml的配置。 3. **JSF集成指南**:深入理解Seam与JSF的交互,包括Facelets模板和Seam组件的使用。 4. **EJB和CDI集成**:讲解Seam如何...

    eclipse 工程的 Seam 例子

    Seam、EJB和JSF是Java开发中的三个重要框架,它们在企业级应用程序开发中发挥着关键作用。本文将详细讲解如何在Eclipse环境中创建并理解一个Seam工程的实例,结合EJB(Enterprise JavaBeans)和JSF(JavaServer ...

    Seam Carving for Content-Aware Image Resizing(基于内容缩放图片的方法)

    2007年Shai Avidan 和Ariel Shamir论文《Seam Carving for Content-Aware Image Resizing》所提出方法的Matlab代码实现和作者的论文。 效果非常炫,而且代码不长

    JBOSS SEAM组件中文手册

    3. **EJB 3集成**: Seam与EJB 3的集成,使得企业级服务的开发变得简单,如会话bean、实体bean等。 4. **WS和JMS集成**: Seam还提供了与Web Services和Java Message Service的集成,便于实现分布式和异步通信。 **...

Global site tag (gtag.js) - Google Analytics