Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    #16
    Hmm, yes, sorry for the confusion. The docs are correct, the presence of an update operation in the queue will be enough to bundle everything into a transaction.

    However, this only applies to real queues that come from the client as a series of DSRequests enclosed by calls to startQueue() and sendQueue(). In this case, the makeup of the queue is known in advance and is available to the RPCManager for the entire lifetime of the queue of requests it is managing.

    Your case is different. It is not a real queue, it is just a number of server-created DSRequests that share an RPCManager because your code manually applies the RPCManager to the requests. No attempt is made to include DSRequests added in this ad hoc way when deciding whether a transaction policy like ANY_CHANGE is applicable to a given DSRequest, so we understand why you are getting the results you are. However, before we state categorically that this is the correct behavior, we want to clarify why this didn't also happen with release 3.1.

    We will post back on this thread when we have investigated.

    Comment


      #17
      To clarify - does this problem go away when you use the latest nightly build of 3.1p, available from the website? If so, does the problem go away because SmartGWT Server is handling all of the requests - including the fetches - as a single transaction (this would be the case if you see it using the same connection for each query, and a single commit at the end), or because it is committing the updates before running the fetches?



      -

      Comment


        #18
        I don't use 3.1, but the creater of this thread does:
        http://forums.smartclient.com/showthread.php?t=32494

        Comment


          #19
          A question regarding this:

          If I set
          dsRequest.getRPCManager().setTransactionPolicy(TransactionPolicy.ALL);

          Then this policy will ONLY be set for this DMIMethod?
          With other words, are other DMIMethods maybe using this same RPCManager?

          Comment


            #20
            dsRequest.getRPCManager().setTransactionPolicy(TransactionPolicy.ALL); cannot be set, since the operation has already begun. Where is the correct place to set this if I want to set it for this RPCManager?

            Comment


              #21
              Before any of the requests have been executed. For example, in a subclass of the IDACall Servlet.

              Comment

              Working...
              X