ADF activation/Passivation - Nested App Modules

Hi All,
I have a question related to application module pooling in ADF.
We are developing a application using adf 11.1.1.7. When we initially designed the application we have created multiple application modules around 14 app modules.
Then we realized that database connection usage is very high as number of app modules are more.
To reduce the database connection usage, we have combined all the application modules under one root application module now.
The connection usage is reduced now, but I have a question on memory foot print.
1) When multiple application modules are placed under a root, during passivation, will all the state of all nested app modules under the root is written to the PS_TXN table?
2) If  for certain child modules passivation is not required as we don't need to preserve the state of the app modules across user requests,
can we configure that at child app module level??

In regards to question 2, the VOs have a tuning option "Passivate State" which is set on by default which you can turn off.  Please read the associated documentation around this option.
It's highly recommended you test your application after making this change for any impacts it may have, by doing a round of regression testing with jbo.ampool.doampooling=false.  Note however that option is not supported in production, so ensure to set it back to true.
CM.

Similar Messages

  • Nesting App Modules from ADFLibs - jdev 11.1.2.3

    Hello:
    I have a dashboard application with 6 tabs. On each tab is a bounded task flow from an ADFLib. Note: each BTF has its own App Module.
    In the Master DashBoard App,  the ADFLibs BTF's are dropped as regions in each tab. The Master App has its own application module and I want to nest each of the BTF App Modules under the single App Module in the Master app.  The reason is that each tab of the application currently creates a seperate DB connection. I want the Master App to only create one DB connection for the entire application.
    In the resource pallet, I can see the App Modules from the seperate ADFLibs, and I have added these App Modules to the Master Project, but the newly added AM does not display under the Master App Module for me to nest. (in App Module ->- Data Model --> Application Module Instances)
    How can I nest multiple AM's from ADFLibs under a single Master App Module?  ( the AM from ADFLibs do not display in Application Module Instances in the Master App)
    Thanks

    Have I added the application Modules to the Master Model?
    Answer:
    In the Master, In the Resource Pallet, I highlighted the Application Module in the ADFLibs (from Subsystem), right clicked and selected Add to Project. But this did not make the App Module display in the Master App Module Application Module Instances. (Note: my subsystem adflibs are deployed from ViewController with dependency on Model. I tried to hightlight App Module above and add to Model Project of Master in above) This caused WebLogic to fail to deploy.
    What is the correct way to add an App Module from an ADFLIb subsystem and add the AM to the Master App so it displays in the Master App Module Application Module Instances?
    All subsystems should use the same connection and all subsystems are set to No Controller Transaction and Share data controls with calling task flow is checked for all subsystem.
    More testing revealed:
    One thing to note:   each of my subsystem, a deployment profile was created on the ViewController with dependency on its Model project.  When I added the subsystem project above to add the AM, I adding the App Module from the adflib to the Model project of the master. This caused WebLogic to fail during deploy.
    So I tried another test. In the subsystem, I created another deployment profile, on just the Model project and created an adflib. I added this new adflib to the Model project of the Master. The App Module from the subsystem now shows up in the Application Module Instances. (which I selected and moved over to the right to nest under Master App Module.  This time the application ran, but still have one connection per tab.)
    Do you create ADFLibs with a deployment profile on the VC with dependancy to the Model Project?  Or do you create two seperate ADFLibs for subsystems, one for VC project only and one for Model project only?
    Thanks for the help.

  • OC4J & nested app. modules

    I've successfully deployed my server BC4J project on Orion EJB server but I am not able to call
    top_app._module thatalready_exists.findApplicationModule( "AuditModule" );
    to find a nested module. I get this exception:
    Looking bean sess_iiop://thisServer/:thisSession//BAFIR/ftr.audit.AuditModule
    javax.naming.NameNotFoundException: :thisSession
    If I try to create this nested "AuditModule" as a single topmost one it creates it, but as a nested it does not. This module is indicated in the app. module wizzard to be nested.
    The project has been tested in local mode and did work ok.
    What am I doing wrong ?

    Anyone?

  • Nested Application Module - commit behavior

    Guys,
    I have ADF BC in the following hierarchial manner.
    AM1
    -VO1
    -VO2
    -AM2 (nested AM)
    Assume that there are pending transactions on both AM1 and AM2.
    what is the behaviour for the follwing?
    Q1 . Issuing commit on AM1, will it commit AM2 also?
    Q2 . Issuing commit on AM2, will it alone commit?
    Edited by: Dev on Apr 19, 2011 12:00 PM

    ADF distinguish between root application module and nested application modules. A root app module has no parent whereas an nested app module has a parent. A root app module holds the transaction (and only the root app module). Nested app module share the transaction of the root app module (they are nested in).
    So Q1: yes and Q2: no.
    Read 9.4.2 here http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/bcservices.htm#sm0229 fro more info.
    Timo

  • Can't call app module methods!

    I have a web app that has two AppModules: AppModule and SFAppModule. SFAppModule is NOT nested within AppModule.
    In a method inside of AppModule, I need to set a where clause for a view that is part of the data model for the SFAppModule. I can't seem to gain access to the other application module.
    1. If I Make it a NESTED app module, then of course, I have a reference to it, as it adds it, BUT I'd end up having to fix the view references to this new AppModule.
    2. I could always move the VIEW objects out of SFAppModule into AppModule, but the idea was that any object in SF was really specific to that "subsystem". Of course one of the main launch pages needs to read 6 different views, two from each app module (we're planning on adding one more application module).
    Did we paint ourselves into a corner???
    How can we get a reference to SFAppModule from inside of AppModule if it is NOT a nested application module of AppModule?
    argh.

    Alternatives for Help Resetting Security Questions and Rescue Mail
         1. Apple ID- All about Apple ID security questions.
         2. Rescue email address and how to reset Apple ID security questions
         3. Apple ID- Contacting Apple for help with Apple ID account security.
         4. Fill out and submit this form. Select the topic, Account Security.
         5.  Call Apple Customer Service: Contacting Apple for support in your
              country and ask to speak to Account Security.
    How to Manage your Apple ID: Manage My Apple ID

  • Calling custom methods from Nested Application Modules

    We are having a problem with passing parameters to our nested App Modules.
    We have a custom method in our nested app module and when we drag that method from our data control palette in our page everything seems to work just fine. We are binding our NamedData values to #{requestScope.<field>} where the fields are inputText controls. When we run it will execute the function but the parameters are null.
    It seems to me that the Nested App Module can not evaluate the EL expression, or in other words when it gets evaluated it returns a null.
    Can anyone help with this?
    Thanks,
    Peter

    If you use an EL expression of some hard-coded value instead of #{requestScope.XXX} does that value correctly get passed to the function?
    In other words, are you 100% sure that EL expression is not evaluating to null ?
    If you drop an AM method as a parameter form on a page, you'll see that by default it's NamedData elements use EL expressions that reference attribute bindings that are bound to local page-def variables, rather than to #{requestScope.something}

  • What's the best practice to get App Module on Jdev 10.1.3 using Struts/ADF?

    Hi,
    I read Mr. Muench's post stating that the best way to execute an App. Module method is to make the method part of the client interface and then drag and drop it on a form as a button ...
    In another post Muench says that a another way to get the App Module is using getDataProvider() method, I tried and found that this worked in:
    // standard event handler interface
    // on PageController class
    public class MyFormPageController extends PageController
    public void onUpdate(PageLifecycleContext ctx)
    AMServImp am;
    am = (AMServImpl)ctx.getBindingContext().getDefaultDataControl().getDataProvider();
    am.myMethod( ... );
    am.getTransaction().commit();
    I really like the second option because is closer to what I used to do in 10.1.2 with an event handler receiving DataActionContex parameter. Besides, is not clear to me in the former method with the drag and drop how the form inputs are assigned to the method parameters ....
    I would like to know however what is the best way and why ?
    Any comments ?
    -OM
    Message was edited by:
    omar71

    According to JSR 227, which ADFm is implementing, the view/controller portions of your application aren't really supposed to be touching the business services, or even the data controls, at all. They're supposed to do all model manipulation entirely through the databindings.
    This is just another bit of "code separation"--much like MVC code separation--that should make the application a bit easier to maintain. Your application module could change dramatically--maybe even be replaced by an EJB session bean--and all you have to do is change the .dcx file and your page model files, rather than searching through your code. Maintainability and readability is the advantage here; I don't think there could possibly be any slowdown by calling ctx.getBindingContext().getDefaultDataControl().getDataProvider(), since that's what the bindings would do anyway.
    Well, of course there's the "ADF supports going this way declaratively", which is not to be sneezed at as an advantage.
    As to how to put the form values in to the method binding: Look up the <af:setActionListener> tag (e.g., using full-text search in the help). You can nest that into your commandButton or commandLink tags and use it to set method parameters.
    Best,
    Avrom

  • Can Designer generate ADF Entity Objects, View Objects and Apps Module ?

    Hi all,
    On what way can Designer integrate with JDeveloper (+ ADF) ?
    Can Designer generate ADF Entity Objects, View Objects and Apps Module ?
    Thank you for your help,
    xtanto

    Designer itself has no direct integration with JDeveloper. However, there are three options. First of all, you can get a JDeveloper extension (download this separately) that lets you create a Connection to a Designer repository. From that Connection you can find modules that you defined in Designer and generate Entity and View objects for the tables and columns that you used in those modules, and an Application Module. It does not create JSPs or other user interface objects.
    Another option is to buy JHeadstart from Oracle. This contains a set of code generators and ADF extensions that include an ability to get information from a Designer repository. JHeadstart works fine for non-Designer users too, but was built by the same people who wrote Designer Headstart - they know the repository API intimately.
    The third option is to download Oracle Designer Extension Builder (ODEB) which was just recently made available. This is a product of a collaboration between Designer users from the Oracle Development Tools Users Group (ODTUG) and Oracle to extend the capabilities of Designer with user written tools and utilities. You could use ODEB to write your own generators for ADF Business Components. Or you could wait and see if someone else in the user community does this. I hope that you or whoever does such a generator will be willing to share it with us all.

  • Error with BC App Module Passivation

    We are seeing an error when BC4J is trying to passivate an application module. It is attempting to persist its state to a databse. It works fine when deployed to the integrated WebLogic instance in JDev, and when deployed to a single standalone WebLogic instance. However, when deployed to a clustered environment, we see the following error, as though it is unable to fetch the name of the passivation table from the app module configuration.
    Partial stack trace:
    oracle.jbo.PCollException: JBO-28030: Could not insert row into table null, collection id 303, persistent id 1
    at oracle.jbo.PCollException.throwException(PCollException.java:36)
    at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1920)
    at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:557)
    at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:680)
    at oracle.jbo.pcoll.PCollNode.passivateBranch(PCollNode.java:639)
    at oracle.jbo.pcoll.PCollection.passivate(PCollection.java:465)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:291)
    at oracle.jbo.server.DBSerializer.passivateRootAM(DBSerializer.java:264)
    We have tried using the implicit defaults, as well as explicitly specifying the DB object names using the following settings:
    <AppModuleConfig DeployPlatform="LOCAL" jbo.project="test.MyProject" name="MyAmLocal" jbo.passivationstore="database" ApplicationName="test.MyAm">
             <AM-Pooling jbo.dofailover="true"/>
             <Database jbo.locking.mode="optimistic" jbo.control_table_name="PCOLL_CONTROL" jbo.txn_seq_name="PS_TXN_seq" jbo.txn_table_name="PS_TXN" jbo.server.internal_connection="java:comp/env/jdbc/BC4JDS"/>
             <Security AppModuleJndiName="test.MyAm"/>
             <Custom JDBCDataSource="java:comp/env/jdbc/MyDS"/>
    </AppModuleConfig>Has anyone seen this issue before and/or have any insight as to what may be causing the problem?

    Indeed I would expect the name of the table, PS_TXN, to be displayed in the message:
    JBO-28030: Could not insert row into table PS_TXN, collection id 303, persistent id 1
    Could you check the full stack trace to see if there is something relevant that would explain it ?
    Could you also add the following Java properties to your project (in the Project Properties > Run/Debug/profile):
    -Djbo.debugoutput=console -Djbo.logging.show.function=true
    and see if some errors preceding the JBO-28030 explain the issue ?
    Regards,
    Didier

  • Can not access root app module in nested one

    I am using Jdeveloper 11g R2 (11.1.2.3) & Weblogic 10.3.5.0
    I have a root application module and few nested application modules nested under root one in my ADF application
    I have few common methods under root application module Impl class and try to access them in nested Impl classes
    like this (This code is in nestedAppModuleImpl class):
    RootAppModuleImpl root = (RootAppModuleImpl)someViewObject.getDBTransaction().getRootApplicationModule();
    root.doSomething();
    when I execute above code this excepton is thrown:
    oracle.jbo.server.ApplicationModuleImpl cannot be cast to mypackage.RootAppModuleImpl
    Any comment or workaround?
    What is the proper solution?
    Regards
    Mohsen

    Mohsen, there is something terribly wrong with your code.
    //(This code is in nestedAppModuleImpl class):
    RootAppModuleImpl root = (RootAppModuleImpl)someViewObject.getDBTransaction().getRootApplicationModule();
    root.doSomething();doesn't make sense. Does doSomething() really return an RootAppModuleImpl? You can access the root application module from the nested application module by
    RootAppModuleImpl root = (RootAppModuleImpl)getRootApplicationModule();If you get a class cast exception it means that there is something wrong with your RooAppModuleImpl. Does it extend ApplicationModuleImpl? If yes the cast should be possible.
    Is the root application module of the type RootAppModuleImpl? only then you can access the common methods after getting the root application module.
    the next method
    private ViewObject getAccountExistsView(DBTransaction t) {
    ApplicationModule root = t.getRootApplicationModule();
    ViewObject vo = root.findViewObject("MemberExistsView");
    if (vo == null) {
    vo = root.createViewObject("MemberExistsView","model.MemberExistsView");
    return vo;
    }doesn't make sense to me. Where does this method reside? in the RootAppModuleImpl? if yes, why do you call getRootApplicationModule? You are in the root application Module. I can' comment on the createViewObject you are calling, but my feeling is that you don't need it either. The view you are creating should be there already if your application module are setup correctly.
    And you are right, you should not call createRootApplicationModule if it is not needed. In your case it's not!
    Timo

  • Passivation of Application Module before session timeout

    Hi,
    JDeveloper : Studio Edition Version 11.1.2.3.0
    Oracle 11g Database
    WLS - 10.3.5
    I have an application (ADF BC and ADF Faces) built with jsff fragment and I have set user session time out in 4 hours.
    After some time (even before 1 hour of inactivity) I receive following error and unable to work on the page. I have to log out and login again to proceed.
    After approx 20 minutes of inactivity I can see the following log messages:
    <LoopDiagnostic> <dump> [12212] variables variables passivated >>> enterScheduledTimeSheet1_tsDate=2013-05-02
    <LoopDiagnostic> <dump> [12213] variableIterator variables passivated >>> TrackQueryPerformed def
    <LoopDiagnostic> <dump> [12214] variableIterator variables passivated >>> TrackQueryPerformed def
    <LoopDiagnostic> <dump> [12215] variableIterator variables passivated >>> TrackQueryPerformed def
    <LoopDiagnostic> <dump> [12216] variableIterator variables passivated >>> TrackQueryPerformed def
    <LoopDiagnostic> <dump> [12217] variableIterator variables passivated >>> TrackQueryPerformed def
    <DCUtil> <findSpelObject> [12218] DCUtil, returning:oracle.jbo.uicli.binding.JUFormBinding, for com_core_fragments_timesheet2ListingPageDef_com_core_task_flows_timesheet_task_flow_xml_timesheet_task_flow
    <JUCtrlHierNodeBinding> <release> [12219] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_587, value:TimesheetProjectsVO1Iterator
    <JUCtrlHierNodeBinding> <release> [12220] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_588, value:TimeTakenList1Iterator
    <JUCtrlHierNodeBinding> <release> [12221] released: ROOT node binding:noCtrl_oracle_adfinternal_view_faces_model_binding_FacesCtrlHierNodeBinding_590, value:TbaaTimesheetDailyentryView1Iterator
    <DCIteratorBinding> <releaseDataInternal> [12222] Releasing iterator binding:variables
    <DCIteratorBinding> <releaseDataInternal> [12422] Releasing iterator binding:allClients1Iterator1
    <DCIteratorBinding> <releaseDataInternal> [12423] Releasing iterator binding:allClients1Iterator2
    <ApplicationPoolImpl> <resourceStateChanged> [12424] ApplicationPoolImpl.resourceStateChanged wasn't release related. No notify invoked.
    <ApplicationModuleImpl> <resetState> [12425] Resetting AM=Root
    Is there any way to keep the session alive and keep the application state alive till session times out (4 hours in this case).
    Do I need to setup any other parameters etc.
    Thanks in advance.

    You should read http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcstatemgmt.htm#sm0318 and http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcampool.htm#sm0299 as these parameters control when the application module gets passivated.
    However, if you see this kind of problem it points to a general problem with activation/passivation in your application modules. I strongly recommend that you test your application with application module polling turned off. Then the application module is passivated after each request and errors in this region should pop up even on the developer pc.
    For more info read http://tompeez.wordpress.com/2011/07/08/jdev-always-test-your-app-with-applicationmodule-pooling-turned-off/
    Timo

  • Task Flow Transaction Behavior and AM Activation/Passivation

    Hi All,
    In my app, when I changed the transaction behavior from 'No Controller Transaction' to 'Use Existing Transaction If Possible', I started seeing the following type of AM Passivation snapshot is JDev log:
    <ADFLogger> <begin> Passivating Application Module
    <PCollManager> <resolveName> [3560] **PCollManager.resolveName** tabName=PS_TXN
    <DBTransactionImpl> <getInternalConnection> [3561] Getting a connection for internal use...
    <DBTransactionImpl> <getInternalConnection> [3562] Creating internal connection...
    <ADFLogger> <begin> Establish database connection
    <DBTransactionImpl> <establishNewConnection> [3563] Trying connection: DataSource='weblogic.jdbc.common.internal.RmiDataSource@4d0ca0'...
    <DBTransactionImpl> <establishNewConnection> [3564] Before getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <DBTransactionImpl> <establishNewConnection> [3565] After getNativeJdbcConnection='weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection
    <ADFLogger> <addContextData> Establish database connection
    <ADFLogger> <end> Establish database connection
    <OraclePersistManager> <syncSequenceIncrementSize> [3566] **syncSequenceIncrementSize** altered sequence 'increment by' value to 50
    <ViewObjectImpl> <doPassivateSettings> [3567] DateTimeVO1 passivating with paramsChanged
    <Serializer> <passivate> [3568] <AM MomVer="0">
    <cd/>
    <TXN Def="1" New="0" Lok="2" tsi="0" pcid="40"/>
    <CONN/>
    <VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingMainVO" Name="BaseRoutingMainVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRoutingDetailsVO" Name="BaseRoutingDetailsVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseParameterVO" Name="BaseParameterVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseErrorLookupVO" Name="BaseErrorLookupVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataHdrVO" Name="BaseCompDataHdrVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseCompDataDtlVO" Name="BaseCompDataDtlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseDataReqValVO" Name="BaseDataReqValVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseRegistrationPointVO" Name="BaseRegistrationPointVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrInfoVO" Name="BaseTradingPrtnrInfoVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTradingPrtnrVerCtrlVO" Name="BaseTradingPrtnrVerCtrlVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseNotificationVO" Name="BaseNotificationVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseTransactionDefVO" Name="BaseTransactionDefVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.BaseValidationTypeVO" Name="BaseValidationTypeVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.OrigTransDetailsVO" Name="OrigTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransErrorVO" Name="TransErrorVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DateTimeVO" Name="DateTimeVO1">
    <exArgs count="1">
    <arg name="TimeZone">
    <![CDATA[GMT]]>
    </arg>
    </exArgs>
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT CurrentTime FROM
    SELECT TO_CHAR(SYSDATE,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'GMT' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE+5.5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'IST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-8/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'PST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-6/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'CST' AS TZ FROM DUAL
    UNION
    SELECT TO_CHAR(SYSDATE-5/24,'DD-MON-YYYY HH:MI AM') AS CurrentTime, 'EST' AS TZ FROM DUAL
    WHERE TZ=:TimeZone) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[0000000000010000013239013AC4]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransTrackingVO" Name="TransTrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransDependencyVO" Name="TransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO2">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS TRADING_PARTNER_ID FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransDetailsVO" Name="ReceiverTransDetailsVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransIDBaseVO" Name="TransIDBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (select 1 AS transaction_record_id from DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[000100000002C102]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransKeyBaseVO" Name="TransKeyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS document_key FROM dual) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.TransStatusBaseVO" Name="TransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorTypeBaseVO" Name="ErrorTypeBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS ERROR_TYPE FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyBaseVO" Name="DependencyBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS DEPENDENCY FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.MasterTransDependencyVO" Name="MasterTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TrackingVO" Name="TrackingVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorVO" Name="ErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransErrorVO" Name="DashboardTransErrorVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransDependencyVO" Name="DashboardTransDependencyVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardTransPieVO" Name="DashboardTransPieVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DashboardMasterTransBarVO" Name="DashboardMasterTransBarVO1"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusBaseVO" Name="ReceiverTransStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT /*+ FIRST_ROWS */ * FROM (SELECT 'X' AS STATUS FROM DUAL) QRSLT ]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.ErrorStatusBaseVO" Name="ErrorStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS ERROR_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderVO" Name="HeaderVO1"/>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO3"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderStatusBaseVO" Name="HeaderStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TradingPartnerBaseVO" Name="TradingPartnerBaseVO4"/>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameBaseVO" Name="HeaderSourceFileNameBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS SOURCE_FILE_NAME FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216374468" qf="0" ut="0" da="1" It="1" Sz="25" St="0" im="1" Ex="1" Def="com.emerson.eth.adf.model.view.DependencyStatusBaseVO" Name="DependencyStatusBaseVO1">
    <rsq>
    <![CDATA[SELECT 'X' AS DEPENDENCY_STATUS FROM DUAL]]>
    </rsq>
    <Key>
    <![CDATA[00010000000158]]>
    </Key>
    </VO>
    <VO sig="1315216382156" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderSourceFileNameLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderSourceFileNameBaseVO_HeaderSourceFileNameLOVVO1"/>
    <VO sig="1315216384812" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ReceiverTransStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ReceiverTransStatusBaseVO_ReceiverTransStatusLOVVO1"/>
    <VO sig="1315216385921" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.HeaderStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_HeaderStatusBaseVO_HeaderStatusLOVVO1"/>
    <VO sig="1315216387093" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.ErrorStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_ErrorStatusBaseVO_ErrorStatusLOVVO1"/>
    <VO sig="1315216388171" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.DependencyStatusLOVVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_DependencyStatusBaseVO_DependencyStatusLOVVO1"/>
    <VO sig="1315216393937" vok="20" qf="0" RS="0" Def="com.emerson.eth.adf.model.view.TransIDLovVO" Name="_LOCAL_VIEW_USAGE_com_emerson_eth_adf_model_view_TransIDBaseVO_TransIDLovVO1">
    <VC n="__ImplicitViewCriteria__" d="true" c="0" bv="true" m="1" j="false">
    <vcp>
    <p n="showInList" v="true"/>
    <p n="displayName" v="Implicit Search"/>
    </vcp>
    <Row n="vcrow1" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    <a i="1">
    <i o="STARTSWITH" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0"/>
    </i>
    </a>
    </Row>
    </VC>
    <VC n="LOV_TransactionRecordId__lov__filterlist__vcr___" d="true" c="0" bv="true" m="3" j="false">
    <Row n="LOV_TransactionRecordId__lov__filterlist__vcr___" uc="0" cj="0">
    <a i="0">
    <i o="=" cj="1" uc="0" r="2" vb="false" g="true" e="false" re="false">
    <iv i="0" b="0" sf="0">
    <![CDATA[40532]]>
    </iv>
    </i>
    </a>
    </Row>
    </VC>
    </VO>
    </VO>
    </AM>
    <OraclePersistManager> <insert> [3569] **insert** id=1, parid=-1, collid=65951, keyArr.len=-1, cont.len=10035
    <OraclePersistManager> <insert> [3570] stmt: insert into "PS_TXN" values (:1, :2, :3, :4, sysdate)
    <OraclePersistManager> <commit> [3571] **commit** #pending ops=1
    <ADFLogger> <end> Passivating Application Module
    My question is does AM gets passivated on each request. This snapshot is not visible when Transaction behavior is set to 'No Controller Transaction'.
    This type is snapshot is usually visible in case of 'No Controller Transaction', when AM Pooling is off or if AM Pooling is enabled then Failover support is on.
    Is this OK for this snapshot to appear in JDev log or am I missing something?

    this might be helpful, can u chk
    The subtle use of task flow "No Controller Transaction" behavior
    http://blogs.oracle.com/raghuyadav/entry/adf_taskflow_transaction_manag
    http://andrejusb.blogspot.com/2010/01/demystifying-adf-bc-passivation-and.html

  • Error with concurrent users- Activation Passivation Bind variable ?

    I have a programmatic view object based on procedure call that returns a ref cursor.
    Application Module has a function that exposes get Method for this View object using client interface.
    Everything works good until many users call the same Method ,for many concurrent users i got the below error intermittently :
    JBO-27122: SQL error during statement preparation.
    Attempt to set a parameter name that does not occur in the SQL: bussId
    For 1 or 2 users this works perfectly fine.
    bussId is a bind variable defined at View object of type Array.
    I understand this should be because of activation/passivation as many users calling same function comes to picture.
    To solve this I overloaded activateState/passivateState in View implementation for the bind var.
    But i don't see those methods getting invoked ever.
    I also enabled connection pool/AM pool and kept the default pool values high enough for concurrent users.
    Nothing works .
    Appreciate any help in this regard.
    -Sam

    Hi,
    See
    http://antonis-antoniou.blogspot.com/2012/02/ensuring-that-your-adf-application-is.html

  • App module view object row currency and task flows

    Hello -
    Using JDev 11gR1. My application uses ADF Rich Faces with ADFBC.
    I have case where I want to
    a. select a row in a table based on a view object
    b. hit a button to invoke a method in an application module.
    c. in the app mod method, call getMyViewObject().getCurrentRow() to get the row selected by the user
    d. "do something" with the row
    In 10.1.3, this worked fine.
    In 11gR1, I am having problems:
    1. The above situation works fine if I have a regular page.
    HOWEVER,
    2. The above situation does NOT work if my table is in a page fragment in a task flow. (The getCurrentRow() returns NULL.)
    For case #2 I've checked the following:
    * verified that the selectedRowKeys and selectionListener attributes were set on the table in the page
    * verified that I'm using the correct app module instance (I have nested application modules).
    * experimented w/various transaction and data control scope settings in the task flow definition.
    So... from those details is there something obvious I am doing wrong? It looks like cases #1 and #2 above use different row set iterators. Is there a way to grab the correct row set from within my app module method? Does this have something to do with the data control scope defined by the task flow? (For 11g do I need to "rethink" sticking logic in the app module and instead placing it within a managed bean get access to my ADFBC objects via the bindings layer?)
    Thank you for reading my question,
    -- Scott

    See this article for View Object tuning tips:
    http://www.oracle.com/technology/products/jdev/tips/muench/voperftips/index.html
    Are you planning to use this AM as a nested AM inside other application modules?
    If you don't the "selection AM" will have its own, separate database connection/transaction.
    If you do, it will share connection, transaction with its containing "root" AM.
    It may not be relevant to your application, but just realize (which is explained in the article I point to above) that view objects that are not related to entity objects do not "see" pending changes in the current transaction. That feature depends on the VO/EO cooperation. It's fine to build VO's without an EO -- in fact we've made it easier to do this in 10.1.2 in the Design Time wizards -- but you just want to make sure you realize what features it's giving up. If you don't need those EO-related features, then by all means create an Expert Mode VO that's not related to EO's.

  • App Module Pooling and Failover

    I have a LOCAL web application with a number of separate tasks (App Module A, B and C). The user logs on using JAAS and I want to store a session scope object representing the 'Company' to which that user belongs for later access by App Module A, B and C.
    As I understand it (probably wrong), I should NOT store the 'Company' on the HTTP session state in order to maintain failover provided by the framework.
    If this is the case where would 'Company' reside. Would obtaining the 'Company' at the start of each App Module (A, B and C) and setting it as a transient attribute be the correct technique ?

    If pooling is turned off, each request to the server is passivated (normally into the db) and reload from there for the next request. This take time, especially if this is done for hundreds of users.
    As John said this solution is not solution, you are just pushing the error to a later point of time when your users complain about a crawling system. You may get other errors when you run your app without pooling, which you must fix as they mean that your app is not activation/passivation save.
    Read http://tompeez.wordpress.com/2011/07/08/jdev-always-test-your-app-with-applicationmodule-pooling-turned-off/ for more info on this.
    Timo

Maybe you are looking for

  • After upgrading to Lion Logic Pro 9 is not working right

    I have no idea what is going on, I was working on a project this evening, did a bunch of work as a matter of fact, I always hit save after every litte bit of work I do, it's a force of habit now. When I go to re-open my project I get some kind of err

  • LaserJet 1020 Client Print Hangs

    I have two networked computer running Windows 7 Home Premium 32-bit. My HP LaserJet 1020 is shared via HomeGroup between the two computers. When I print from the host computer every thing works fine. If I try to print from the client computer the pri

  • Passing null value to stored procedure

    I am calling a stored procedure from ssis package. In my stored procedure I have parameters which is set to default value of null i.e if nothing is passed I need to assume the value of parameter to be null.  In ssis package I created a variable its a

  • HT1918 How can i block others from purchasing itunes from my ipad or iphone?

    How can i block others from purchsing itunes from my ipad or iphone?

  • ABC Analysis from transaction MC40 - Qty field

    Hi All, I recently got to know about MC40 and i dont understand some areas of it. After executing MC40, i will get the list of materials sorted already for A, B , and C. However, when i click on double line, it then shows me Qty field as well. Now wh