Lazy mode setting in Application Module AM for 10g

Hi,
I am using Jdev 10.1.3.x
There is very little information given on Lazy mode setting in AM.
I tred to enable that and written System.out.println() in getter and setter in Impl class.
Even though i enabled Lazy mode application on load of page executes this sop(s) which means iterator gets executed on load of page.
I want to prevent execution of iterator on load of page to boost the page load time. i have VO draged dropped on the page but they are rendered on click of search button. So execution of Iterator impacts the performance.
Any suggeston will be appriciable.
Thanks & Regards,
Kevin Chheda

Hi Shay Shmeltzer,
Thanks for the reply.
Yes you are correct that through post back we can display the result after user has interacted with page. But when i entered some System.out.println()s in the getter and setter of Impl they were executed on load, which implies that post back just controlls when to display data. And when we set the EL rendered="#{adfFacesContext.postback == true}", On load of page iterator is executed and only data is not displayed, which causes one query on load of page which is not desired.
My ultimate aim is to boost up the onload time and not to query databse when not reqired to prevent Database hit. Through this technique i think we can boost up time by not rendering data on page but cannot prevent free hit to Database.
Revert in case my assumption need to be refined, and also i would like to know what exactly happens when we enable Lazzy mode option in impl tuning. And how do i assure that it is not querying Database.
Thanks & Regards,
Kevin Chheda

Similar Messages

  • Set-up application not loading for Creative Cloud. Can anyone advise?

    Set-up application not loading for Creative Cloud. Can anyone advise?

    Please elaborate the issue and Supply pertinent information for quicker answers:
    The more information you supply about your situation, the better equipped other community members will be to answer. Consider including the following in your question:
    Adobe product and version number
    Operating system and version number
    The full text of any error message(s)
    What you were doing when the problem occurred
    Screenshots of the problem
    Computer hardware, such as CPU; GPU; amount of RAM; etc.
    ~ Arpit

  • BC4J Application Module Pooling for JClient App

    Helo,
    i wonder why all documentation about bc4j application module pooling available is for Web app ? (jsp) . I'm creating swing JClient app and i need some doc about how the application module pooling works in this kind of application.
    anybody know where can i get those docs ?
    Need help and Thank you,
    Ricky H.P.

    Connection pooling can be achieved when a JVM instance manages the pool, in 3tiers the Java App. Server has that task.
    If you are 2tiers that means that you are communicating with the database through JDBC.
    When a user launches your JClient app in fact he lauches his own JVM instance so I don't how he could share a pool with other users.
    In your case you have at most 2 open transactions per user.
    You can achieve that by sharing a same binding context with n forms composed of m panels.
    Let's say:
    1 main form
    connection 1: forms a,b,c
    connection 2: forms x,y,z
    In your main form your open your 2 connections and share them.
    You can achieve that by:
    1) in our main form, initialize 2 binding containers
    Example of one:
    DCBindingContainer bc1 = this.createBindingContainer("package name","model name");
    private DCBindingContainer createBindingContainer(String packageName, String panelModelName)
    StringBuffer sb = new StringBuffer(packageName);
    sb.append(ViewConstants.STRING_DOT);
    sb.append(panelModelName);
    DCBindingContainerDef bcdef = DCBindingContainerDef.findDefObject(sb.toString()); //NOTE THE NAME.
    if (bcdef == null)
    throw new JboException("System error, "+getClass().getName()+".createBindingContainer, DCBindingContainerDef: "+sb.toString()+" not found");
    DCBindingContainer bc = bcdef.createBindingContainer(panelBinding.getBindingContext());
    bc.setName(panelModelName);
    panelBinding.getBindingContext().put(panelModelName, bc);
    return bc;
    2) Before that the jbInit method gets called in the called form, set the binding context:
    form1 = new Form1(...);
    form1.setBindingContainer(bc1) ;
    Example of methods in form 1 and form 2:
    public void setBindingContainer(DCBindingContainer ctr)
    this.panelBinding = (JUPanelBinding)ctr;
    setBindingContext(ctr.getBindingContext());
    public void setBindingContext(BindingContext bindCtx)
    if (panelBinding.getPanel() == null)
    panelBinding = panelBinding.setup(bindCtx, this);
    registerProjectGlobalVariables(bindCtx);
    panelBinding.refreshControl();
    try
    System.out.println("Form setBindingContext calling jbInit");
    jbInit();
    panelBinding.refreshControl();
    // FL added
    isBindingContextSet = true;
    System.out.println("Form isBindingContextSet true");
    catch(Exception ex)
    System.out.println("Form setBindingContext exception caught");
    panelBinding.reportException(ex);
    Regards
    Fred

  • Application module creation for (web) services

    Hello,
    We are running into stack overflows from ADF BC (BC4J) with oracle.jbo.client.Configuration.createRootApplicationModule. We want to make sure we're doing this right.
    If you have data bound services (e.g. product lookup) and you don't want to put your operation/exposed method in the application module Impl class for clear seperation (unlike ADF toy store sample), is it appropriate to:
    1. Create a Java service class that you will expose as J2EE web service
    2. The method to be exposed will call Configuration.createRootApplicationModule to checkout an app module from pool.
    3. Find the view object, run the query, get the row.
    4. Configuration.releaseRootApplicationModule to check it back in.
    Please share your best practices and recommended approach with us.
    Thanks,
    - Zak

    I'd recommend using our built-in feature for exposing an application module class as a J2EE web service. This will code-generate a class for you that does the AM access correctly.

  • How application module helps for performance improve

    Hi Everyone,
    I have a sample web-application in which I am connecting with single AM instance (AM for database view object), retrieving some information and then close the connection. I am doing this as,
    // making AM instance
    <application module instance> = Configuration.createRootApplicationModule(<AM name>, config);
    // performing operations
    <operation result> = <application module instance>.<access VO with any operation>();
    System.out.println("Get result here");
    // disconnecting AM instance
    <application module instance>.getDBTransaction().disconnect();
    Configuration.releaseRootApplicationModule(<application module instance>, true);
    These are the activities which are performed by a single user. Now, I am doing stress test on same activities. I am testing the same code with 300 concurrent users (using JMeter with JSP URL). These are working fine. Also I checked multiple times, it always working fine.
    Now, I need to do something through which I can improve the performance. I know, I can use AM pool configurations to make this more effective. I have gone through the Oracle documents and checked the same test case with default or recommended pool configurations and I found similar kind of results (there is not much difference).
    On other hand, I tried with 'releaseRootApplicationModule' method with false parameter and found better results in default as well as recommended pool configurations.
    My question is, is the change of pool configurations recommended by Oracle really work? or do I need to concentrate more on coding part with default pool configurations?
    Here, I would like to know, what are the best practice (in code as well as pool configurations), I need to follow if I really want to improve the performance in real scenarios (when our application will access with large no. of concurrent users).
    I really look forward some help from experts. I have given a lot of time on this to know how really we can make our application more effective in terms of performance.
    I really appreciate for your reply.
    Regards,
    Dilip Gupta.

    >
    We added the createRootApplicationModule() API (in the oracle.jbo.client.Configuration class) to simplify acquiring an application module from the pool for brief programmatic manipulation before it is released back to the AM pool.
    Steve Muench.
    >
    check [url http://radio-weblogs.com/0118231/2009/08/20.html#a959]Check Your App for Misuse of Configuration.createRootApplicationModule()
    Edited by: Mohammad Jabr on May 10, 2012 7:14 AM

  • Reset concrete Application Modules State for a concrete HttpSession

    Hi,
    I would like to know, if there's a way to see if a user have instantiated/created a SessionCookie for a concrete ApplicationModule.
    I'll need to reset states/release concrete ApplicationModules list of a user in a concrete moment (not all), but without knowing what of these AM on list were used or not by the user already. I suppose that if I can get the user used sessioncookies I'll be able to get all the AM used by the user and I could release all them state and ViewObjects/EntityObjects caches.
    There is a rational way to do this? Or maybe I would track on my own all the SessionCookies created for this user session (I've my own custom SessionCookieFactory)? Or exists any other way to do this?
    A note, I'm not interested on reseting all user used ApplicationModules State, only some of them, without invalidate the user HttpSession.
    Thanks in advanced.

    repost

  • Guidelines for setting Application Module Pool Size Parameters?

    Are there guidelines for setting the application module pool size parameters, such as initial pool size, maximum pool size, etc., based on the expected number of users or other factors? I've read the developer guide sections (ch 28-29), but still don't have a good feel for how to correctly set the optimal values for the pool configuration parameters? Even more importanty, how do I monitor the pool's efficiency during runtime to determine if the pooling parameters are configured correctly?
    This will be critical to performance and scalability, so I'm looking for a way to get some visibility into how the pooling is working during production operation to assess whether there are bottlenecks/constraints/ineffeciencies?
    Note I am using Tomcat as the java runtime container; ADF BC / JSF jdev 10.1.3.1
    Thanks in advance and Merry Christmas!

    KUBA - were you able to resolve these issues and if so are there any lessons learned you can share?
    I'm hoping someone from the ADF team can answer our original question including guidelines for setting pool parameters and how to monitor the pool's performance while running in production.
    thanks

  • Single session for all Application Modules

    Hello,
    I've got an application that has several Application Modules. All these modules need some data that are set from time to time. I've written some code that calls getSession().getUserData().put("myData",myData). After this method was called in another Application Module i want to retrieve myData with getSession().getUserData().get("myData"). But the result depends if I use 2-tier or 3-tier. In 2-tie I get myData while in 3-tier I get null. My question is:
    Is there a Session object or any other data instance that could be accessed from all Application Modules for on application instance.
    E.g. I've got two user (A,B) who start my application. Through using my app several instance of Application Modules are created. All Application Modules that are created for the instance of User A should be able to share his user name and some other dynamic data while the Application Modules created for B should have no access to that data.
    Doe anybody know if static data of an Application Module are a possible solution?
    regards
    Joerg

    Hi Joerg,
    I am not 100% sure what you are trying to achieve, and with which version of JDeveloper/ ADF, technologies (JSP, Swing), etc, but I can tell you that I have been experimenting with single session accounts myself within a rich-client Swing environment, as I have experienced Oracle DBA guys who want to control user authentication via Oracle accounts (I have achieved this via the JCLoginDialog mechanism, and a bit of a hack)... Frank Nemphius (sp?) posted something about a white paper coming out on a related subject but I don't know where he is with that.
    Anyway, I managed to do it in a prototype by nesting several application modules within a Root Application Module that was essentially simply a Container for the other application modules. Using this mechanism I was able to bind my root application module to any panel I wanted and it would inherit the roots Session.
    ie. I used many application modules and it only used one Oracle Session.
    However, my reservations -
    1) This solution was not tested robustly!
    2) I doubt this would be ideal for a distributed app with thousands of users - My solution is for a very complex app, with a limited number of users.
    Finally, I cannot confirm this is a great solution - I can only tell you it worked in my prototype, and I am currently awaiting the ADF source - when my company and Oracle can decide what level of support we currently have and need!?!? - what exactly does being an "Oracle partner" mean??? Its all very boring and un-interesting to a Java person like me... ;-)
    Once I have the source I will look at how it actually works and perhaps be able to answer questions like this more definitively. Hmm - I wonder if I could get the Oracle JDBC driver source too?? .... Is it written in C or C++?? I know them too... ;-)
    Cheers........Dean

  • Setting format and format options in Output module settings for render queue item

    Hello,
    I am unable to set the "Format" and "Format options" for video in output module settings programatically using After effects apis.
    I referred the after effects cs3 sdk guide for the apis.
    I find apis for all other options in the "outputmodule settings " like :
    AEGP_SetEmbedOptions
    AEGP_SetOutputChannels
    AEGP_SetStretchInfo
    AEGP_SetSoundFormatInfo
    But there is no api listed for setting the options available in the "Format" tab and "Format options" tab.
    The "Format" tab and "Format options" tab is available in the dialog that opens when user clicks on the Output module settings for the render queue item.
    The format tab when clicked shows a drop down list with aff different formats. By default "Video for Windows" is set.
    The drop down list contains following format options
    Adobe Clip Notes
    Adobe Flash video
    Quicktime movie
    Video for Windows
    I need to be able to set the "Quicktime movie" option in the Format tab programmatically and then set the compression type as "Animation" in the compression settings programatically using the api functions available in AE CS3 SDK
    Please suggest the suitable api to do so.
    I need to write my own plugin to export to Quicktime movie using the after effects apis.
    I follow below steps to do so.
    1. AEGP_InsertMenuCommand and add export option to AE with my own plugin name
    2. In the command hook, select active item using AEGP_GetActiveItem
    3. Add it to render queue
    4. Set the output module settings for 0 th output module using
    suites.OutputModuleSuite1()
    5. Use different functions from suites.OutputModuleSuite1() to set the output module settings like EmbedOptions,StrechInfo etc.
    6. Till this step, I am doing it right. But I am not able to find any api for setting Format options using suites.OutputModuleSuite1()
    I also checked all other suites available for setting FormatOptions but no luck.
    Please help.
    Thanks,
    -Namita

    Hi Namita,
    I am experiencing the same problem.
    I am using AE CC SDK, and I am unable to change the outputmodule format to any of the other movie format types (mov, mpg, flv, etc.).
    It is always set to "avi"
    I even compiled and ran the Queuebert example in the SDK, and there I get the same problem: the path extension is always left on ".avi"
    Does anyone know how to change this?

  • How to set application access type for list of users

    Hi everybody,
    I've an requirement to automise the application access type setting in shared services.
    When i searhed to do with MaxL scripts.I'm able to set the application access type for a single user using
    alter user 'username' add application access type essbase
    alter user 'username' add application access type planning
    But,i've to perform this as a daily activity updating for list of users.Is there away to do it..??..i want to pass the list of users to the above alter user command.??
    Please help me.
    Cheers
    Saran
    Edited by: user11396937 on Aug 27, 2010 2:09 AM

    I discovered that changing "Image interpolation" optioon in general preferences of Photoshop has direct influence on smart object interpolation type. You can even reinterpolate smart object after changing image interpolation in preference. Just click ctrl + t and enter.

  • Application Module holds the DB Connection till we commit?

    Hi All,
    Jdeveloper :- 11.1.1.5
    As in my business scenario ,i have an EO and VO and there AM.In VO we have a bind variable which is nothing but the task Id.On Page Load i pass the bind variable to the VO and fetch the data onto the page.As user update the data onto the page and then when he press submit, we actually calls the stored procedure which finally updates the data in the table for the same task id.
    But the problem is , when i am fetching the data from the table using AM,it actually creates a connection with the database but it doesn't release the connection.
    Is there any way where we fetch the data from the table using AM and then close or release the connection so that while submitting tha data to the table using stored proc will not get the locked row.
    Please suggest!!!

    Have you set up the application module to use optimistic locking?
    This mode should hole the lock only during update of the row.
    I don't think the problem is tied to the connection pool. An application module holds on to the jdbc connection until it gets released from the application module pool. This only happens is a application module is not used for a configurable idle time (one of the pooling parameters). If you app releases an application module the module is put back into the application module pool for resuse and holds the connection.
    Timo

  • Table QBE-Filter BUG in combination with Application Module Pooling ?

    Hi,
    i use JDEVADF_11.1.1.1.0_GENERIC_090615.0017.5407, Java 1.6.0_14, ADF BC and ADF Faces.
    I have one View Object, one Page with a panelCollection and a table with option filtering (create via drag-and-drop from datacontrol).
    When I disable the application module pooling on the AM configuration and run the application, i can execute the query-by-example filter, but when I delete the filterCriteria and press enter (requerry for select all) the table shows the old data.
    Image for setting on application module:
    http://img265.imageshack.us/img265/1374/filterdoesnotwork1.png
    Image for execute querry and requerry for "all rows" (deleted filterCriteria)
    http://img140.imageshack.us/img140/1963/filterdoesnotwork2.png
    When I enable application module pooling all works fine. Is this a issue?
    kind regards

    Hi Frank,
    if I filter for employees which firstname starts with "D" and then for employees with "F" --> i see "No data to display.".
    So uncheck "Enable Application Module Pooling" on application module doesn't work with QBE-Filter ?
    I can send a testcase but it is so simple you can create it with jdeveloper in 2 minutes ;)
    Martin

  • BUG?  Application Module State Management

    I have 2 read-only view objects VO1 & VO2 with a View Link that links them by a primary key field. VO1 (master) is on the first .jspx page and VO2 (detail) is on the 2nd .jspx page. VO1 has a SQL query, but is populated programmatically in an App Module Service method that sets the where clause parameters. VO2 is on a separate .jspx page. VO2 has one bind variable in its SQL query that is populated when the user clicks a commandLink on a row within VO1 - this takes the user to the 2nd .jspx page to view VO2 table results.
    The issue is that when the user navigates back to the first .jspx page containing VO1, a duplicate row is added to the end the data table (or as the first record on the second page of results if there are multiple pages.) If I re-query VO1, re-sort the data using the column headings, or passivate the data (see below), the duplicate row goes away. Note I have tried using the same iterator on both pages and this same issue occurs.
    Ok - after 5 days of troubleshooting, here is the potential bug. If Application Pooling is enabled on the Application Module, I experience the issue above. If I don't enale Application Pooling, and Passivate state for the App Module, this issue does not occur (see below):
    Application Module Settings - Error Occurs if Pooling is enabled
    (unchecked) Failover Transaction State Upon Managed Release
    (unchecked) Disconnect Application Module Upon Release
    (checked) Support Dynamic JDBC Credentials
    (checked) Reset Non-Transcational State Upon Unmanaged Release
    (checked) Enable Application Module Pooing
    If I un-check Enable Application Module Pooling the error does NOT occur. Note I've experimented with many combinations, and its only the Application Module Pooling that affects the behavior.
    Note both view objects are set to Passivate state (but not for transient values, though tested passivating those as well and there was no difference.)
    Can someone please advise? This is a showstopper for implementing our application to production. See the threads below for more information. Finally note that I have not yet been able to replicate this in a simple test case, but there is some specific characteristics about my current application causing this behavior (and it appears others have experienced as well.)
    Duplicate rows displayed in list
    Need help  - Duplicate Rows being added to View Object?
    Thanks.
    Here is the code on the AM service method to populate the rows for VO1 (no insert or create rows - only executing the query):
    ViewObject vo1 = findViewObject("VO1");
    vo1.setMaxFetchSize(250); // set max fetch size 250
    vo1.setWhereClauseParam(0, x0);
    vo1.setWhereClauseParam(1, x1);
    vo1.setWhereClauseParam(2, x2);
    vo1.setWhereClauseParam(3, x3);
    vo1.setWhereClauseParam(4, x4);
    vo1.setWhereClauseParam(5, x5);
    vo1.setWhereClauseParam(6, x6);
    vo1.setWhereClauseParam(7, x7);
    vo1.setWhereClauseParam(8, x8);
    vo1.setWhereClauseParam(9, x9);
    vo1.setWhereClauseParam(10, x10);
    vo1.executeQuery();
    Message was edited by:
    javaX

    More information on this issue:
    After further testing, I discovered that the 'Disconnect Application Module Upon Release' also plays a factor with this issue.
    If 'Enable Application Module Pooling' is unchecked the issue does not occur because the view object is passivated.
    If 'Enable Application Module Pooling' is checked (jbo.ampool.doampooling=true), then the issue occurs UNLESS I also set 'Disconnect Application Module Upon Release' (jbo.doconnnectionpooling=true). If I set the latter to true, then I do not experience the duplicate row issue. I would rather not have to enable jbo.doconnectionpooling=true because of the performance impacts as recommended in the dev guide. Any Suggestions?
    -- updated on 10/1/06 ----
    Setting jbo.doconnectionpooling=true only fixes this issue when I use a ViewLink as the mechanism to pass the row Id from VO1 (master on .jspx page #1) to VO2 (detail on page #2.) If I use an actionListener to pass the value from page #1 to page #2, setting jbo.doconnectionpooling=true does not fix the issue.
    <af:commandLink actionListener="#{bindings.setCurrentRowWithKey.execute}"
    action="page2" text="#{row.Name}">
    <af:setActionListener from="#{row.Id}" to="#{backing_bean_page2.rowid}"/>
    </af:commandLink>
    Message was edited by:
    javaX

  • Max no of application modules

    Hi all,
    In our Jdeveloper application, we have around 18 root application modules (with no nested application modules).
    For a new project, we want to build a another model project on top of this application. Is it possible to do so? and if so what are the issues that we should consider?
    Also, as i got to know, there is a limitation on maximum no of application modules that an application can have. Can some one pls explain on it?
    Thanks in advance,
    Surangi

    "Will this cause a performance or any other issue that would degrade application quality?"
    It depends doesn't it. If you have heaps of CPU & memory and only 1 user, no. If you have millions of user, a 486 and a tape driver for memory, yes.
    In essence we have no statistics about your system, and even if we did it would be pretty meaningless to us. As such you should under take load and stress testing to gather statistics and see if the performance is adequate in your specific case.
    "And is there a identified number as the optimum number of application modules for one application?"
    Again there are no guidelines on this, there is no magic X number. Obviously the more AMs you have the more CPU & memory you will consume. But if you have a low number of users this will be not a problem, and from a development point of view it may just be easier to separate AMs.
    CM.

  • How to use prepared statement by Application Module on ADF?

    Hello
    i am using a prepared statement on the view side of my project,
    this is my code, i'm not sure about using this code.
    AppModuleGFTImpl am = (AppModuleGFTImpl) Configuration.createRootApplicationModule(amDef,config);
    try {
    ps =am.getDBTransaction().createPreparedStatement("Select * from XXXXXX where kullanici_id=? and sifre=?",0);
    ps.setString(1, kullanici);
    ps.setString(2, sifre);
    rs = ps.executeQuery();
    if (rs.next()) {
    girebilir = true;
    } else {
    girebilir = false;
    ps.close();
    rs.close();
    //am.getDBTransaction().closeTransaction(); ? I'm not Sure
    //Configuration.releaseRootApplicationModule(am, true); ? I'm not Sure
    Is it True? How we use this code on the project view side? Must we close Transaction, or release application Module.
    thanks for interest.
    sorry my english.

    Hello, for the SP you can use something like this in your application module
      private static final String BULKSTAMMENN =
        "begin IVA_OWNER.IVA_UI_ALGEMEEN_PCK.USM_SNELLE_INVOER_GUI( P_RLE_ID => :1, P_AANTAL => :2, P_OJR_JAAR => :3, P_RAS_ID => :4, P_TOELICHTING => :5, P_SUCCES => :6 ); end;";
    public void bulkStamen ( int rasId, int telerId, int jaar, int aantal, String toelichting ) {
        CallableStatement bulkStamenSP = null;
        try {
          bulkStamenSP = getDBTransaction().createCallableStatement( BULKSTAMMENN, 0 );
          bulkStamenSP.setInt( 1, telerId );
          bulkStamenSP.setInt( 2, aantal );
          bulkStamenSP.setInt( 3, jaar );
          bulkStamenSP.setInt( 4, rasId );
          bulkStamenSP.setString( 5, toelichting );
          bulkStamenSP.registerOutParameter( 6, Types.VARCHAR );
          bulkStamenSP.executeUpdate();
        } catch ( Exception e ) {
          log.warning( "Aanroep naar " + BULKSTAMMENN + " gefaald, " + e.getMessage() );
        } finally {
          if ( bulkStamenSP != null ) {
            try {
              bulkStamenSP.close();
            } catch ( Exception e ) {
              log.warning( e.getMessage() );
        log.info( "Stammen bulk uitgevoerd voor " + rasId + " " + telerId + " " + jaar + " " + aantal + " " +
                  toelichting );
      }You can then drag this method onto your page or right into your task flow if your using JDev 11.
    Also you can access it from a backing bean although the methods above are preferred
    -Anton

Maybe you are looking for

  • Admin console

    Hi My admin console is very slow. it's taking more than 3 minutes to load the page requested. any suggestions to improve its response time

  • Satellite P70-A-120 - Win 8.1 booting problem

    Hello. I have a problem with the boot of my Satellite P70. The first time that I push the power button, it appears the screen with the Toshiba logo but Windows 8.1 doesnt start. If I power off the pc with the power button and push the power button an

  • I keep getting graphics errors codes when trying to run simple things

    In a nutshell, I bought a laptop, installed the game "Spore", and played it FLAWLESSLY. A couple hours later the computer started acting up, and turns out the hard drive is bad (a scanned it through a usb device on another computer and it had many ba

  • Save files on my computer from the i Pod

    I did put a lot of songs on my iPod Nano true iTunes. I have record my CD's on my hard disk but did'nt have enough space to keep it in my computer, so i have delete fews CD's. How can i retreive my songs from my iPod to my computer or any computer. I

  • ICal digest authentication broken after system crash

    Our XServe crashed a few days ago. It rebooted fine and all services works like before the crash. Only iCal authentication is giving me a headache. Digest authentication isn't working. Kerberos works and Basic, but I need Digest to work too. For web-