1 Reply Latest reply on Aug 11, 2009 1:32 AM by Arbi Sookazian

    Flushmode - please HELP

    Marcelo Magno Newbie

      Hi...


      I am finishing a seam 2.1 app where I use Flushmode manual in the entire app.


      I was getting some strange behavior when setting the flushmode to manual, and then discovering that the flushmode was set to auto. This was crashing my app. Reading the forum, I came across a post that states that issuing the bellow line in components.xml I wil get the default mode ever in the manual type.



             

      <core:manager default-flush-mode="MANUAL" />



      That worked for the admin part of the app, but this week when I was finishing the public part of the app, I was always getting the flush mode to be in the AUTO state.


      I even tried


      entityManager.setFlushMode(org.jboss.seam.annotations.FlushModeType.MANUAL);


      but I get: The method setFlushMode in in the type EntityManager is not applicable for the arguments FlushModeType


      But I do not want to keep set the flush mode during the app, it is a bug ?


      There is something that I can do in order for the app to obey the

      <core:manager default-flush-mode="MANUAL" />

      in the components.xml???


      Best Regards,


      Marcelo Magno



        • 1. Re: Flushmode - please HELP
          Arbi Sookazian Master

          I haven't used that XML snippet in a Seam app yet, but perhaps it is working and then it's getting overridden later in the code?


          Otherwise, that sounds like a bug and you should file a JIRA issue for that...


          After the app deploys, there should be a way in the API to check to see what the flushMode setting is.


          Something like this:


          Manager.instance().getDefaultFlushMode();



          try that in a session- or conversation-scoped component and post back what it is...


          example:


          @Name("test1")
          @Scope(ScopeType.CONVERSATION)
          public class test1 {
          
             @Logger
             private Log log;   
          
             @Create
             public void test(){
                log.info("Manager.instance().getDefaultFlushMode() = "+Manager.instance().getDefaultFlushMode());
             }
          
          }