3 Replies Latest reply: Jan 26, 2013 7:50 AM by Dimitar Dimitrov RSS

    Passivate option in VO transient attributes & AM connection type

    Habib.Eslami
      Hi
      My English isn't very good.
      I use Jdeveloper 11.1.1.3.0

      I have 2 questions:

      1. I defined some View Obj and in each View Obj I made transient attributes. I don't know if the Passivate option of these transient attributes should be enable or not?

      2. for AM connection type I use JDBC DataSource : "jdbc/ConnectionName". If I change JDBC DataSource to "java:comp/env/jdbc/ConnectionName", does it exist any difference?

      Habib
        • 1. Re: Passivate option in VO transient attributes & AM connection type
          Mohammad Jabr
          >
          I defined some View Obj and in each View Obj I made transient attributes. I don't know if the Passivate option of these transient attributes should be enable or not?
          >

          Transient view object attributes are not passivated by default. Due to their nature, they are usually intended to be read-only and are easily recreated. So, it often doesn’t make sense to passivate their values as part of the XML snapshot. This also avoids the performance overhead associated with passivation and activation and reduces the CPU usage needed to maintain the application module pool.
          • 2. Re: Passivate option in VO transient attributes & AM connection type
            Habib.Eslami
            Thanks.

            I should set Updatable: 'always' for Transient view object attributes. Does it matter in this case?

            In App Modlue configuration default value for 'jbo.txn.disconnect_level' is 0. should tihs parameter's value set 1 (jbo.txn.disconnect_level = 1) to passivate AM?

            Habib

            Edited by: Habib Eslami on Jan 26, 2013 12:02 AM
            • 3. Re: Passivate option in VO transient attributes & AM connection type
              Dimitar Dimitrov
              If your transient attributes are updateable, but you use them only within the scope of a single request (e.g. you set the value within a particular request and use it only until the end of this request but not later), then you do not have to passivate them. However, if they are updateable and you need their values to survive across multiple requests, then you must ensure that these attributes are passivated. In order to configure them to passivate you should do the following:

              1. Check the checkbox "Passivate State (e.g. Current Row, Bind Variables, etc.)" in the section "General/Tunning" in VO's definition dialog box;
              2. Either check the checkbox "Including All Transient Values" in the same section or leave it unchecked but check the checkbox "Passivate" in the definition of the corresponding VO attributes.

              N.B. The setting "Include All Transient Values" affects not only the transient VO attributes but the SQL-derived VO attributes (that are not entity-based) too.

              The configuration parameter "jbo.txn.disconnect_level" has nothing to do with passivation/activation. The correct way to test if your VOs behave correctly under passivation/activation is to disable AM pooling (e.g. to uncheck the checkbox "Enable Application Module Pooling" in the corresponding AM Configuration dialog box). When AM Pooling is disabled ADF passivates the corresponding AM state at the end of each HTTP request and activates it at the beginning of next request and so on. In this way you can check if your VOs are passivation/activation-safe.

              Please, have a look at the article [url http://docs.oracle.com/cd/E23943_01/web.1111/b31974/bcstatemgmt.htm#sm0318]Application State Management in the documentation for more information and detailed explanation.

              Dimitar