Important conceptual issue on the Application Module, maximum Pool size

Hi all

We have a critical issue for the default settings of the Application Module (taking a data source DB connections)

I know that on the Web, it is generally suggested that each request must end with a commit or rollback when executing blocks PL/SQL 'directly' on the DB without the intervention of service framework ViewObject/BC/entity.

Now, for some reason, we started to develop our applications with the thought that each Web Session référenceriez exactly a DB session (open any instance taken AM pool) during the duration of the session, so that the changes made by each session Web DB session would never interfere with the changes made by 'other' Web Sessions to 'other' DB sessions.

In other words, because of this persuasion, we implemented often sort of "transactions" that open and close (with commit or rollback) every DB session not in and after a single HTTP request, but during several HTTP requests.

As think of a concrete example of this scenario:

1. the user presses the button "insert." An HTTP request is triggered. The action listener is running and ends with the insertion of rows in a table via a block PL SQL (not via the ViewObjects API).
2. no commit or rollback after the PL/SQL block above is still done.
3. Finally, the user presses a button of 'Validation' or 'Dismantling', taken from the appropriate call to the AM methos.

These three applications are what I called the "transaction".

Literature, it is clear that there is no guarantee that the couple HAVE istance + DB session is the same in all applications.
This means that, during step 2, it is possible that another user can do reference the same 'pending' AM / DbSession for its needs and 'fly' sort the work done via PL/SQL after step 1. (This happens because sessions taken poolside are always cancelled by default).

Now my question is:
Suppose that we have defined the parameter 'Maximum Pool size' to the very many (always less than the maximum number of concurrent users):
Is there a guarantee that all applications will be isolated in this case?

I hope that the problem is clear.
Let me know if you want more details.

Hello

No, I don't think that there is a specific guarantee - at least according to the documentation. You could open an SR with support for asking the question and ask them to refer the matter to the development. The way to ensure things would be to disable AM pooling, which, according to the literature, is not a configuration supported for production.

I know it's probably not what you want to hear, but if you hired me to come and consult with you, my recommendation would be to redefine the architecture you have. In the end, you'll be happier with the results. If you have an API of PL/SQL, you use, you could write an extension of the generic framework for your EOs that could take advantage of the API of PL/SQL instead of SQL calls (there was little prior work on this and N of Frank, recently said that he would become an EMG effort, but not until next year). If you did, you can further increase your PL/SQL, but without violating the rule "don't let state pending in the session DB".

John

Tags: Java

Similar Questions

  • get the Application Module during the invocation of Taskflow delimited

    Hello dear developers,

    I have a filter that maps just before the Faces Servlet and fill some attributes in the HttpSession before it proceeds with the request

    [...]

    If (_clientUser! = null & &! _clientUser.isEmpty ()) {}

    session.setAttribute (CLIENT_USER_URI_PARAM_NAME, _clientUser);

    filterChain.doFilter (servletRequest, servletResponse);

    return;

    }

    [...]

    There are some practical information for which task flow should be addressed within the URI,

    faces/ADF. Task-Flow? ADF.tfId = Task-Flow-Definition-ID & adf.tfDoc=/WEB-INF/task-flow-definition-id.xml

    After I continue the application there is a method call within the bounded workflow that is called before the display (allows to call the current view), making it default business

    [...]

    activity < default > doStuff < / default activity >

    [...]

    The method itself is in a Managed Bean PageFlowScoped, which is added to the task-flow-definition - id.xml

    This is the method that is called before the "MainPage"-view of doStuff ".

    public class {controller

    [...]

    public void doStuff {}

    FacesContext ctx = FacesContext.getCurrentInstance ();

    Card sessionMap = ctx.getExternalContext () .getSessionMap ();

    String clientUser = (String) sessionMap.get (CLIENT_USER_URI_PARAM_NAME);

    AppModImpl am = getApplicationModule();

    DBTransaction transaction = am.getDBTransaction ();

    do more things

    }

    [...]

    }

    public AppModImpl getApplicationModule() {}

    FacesContext fc = FacesContext.getCurrentInstance ();

    Application app = fc.getApplication ();

    ExpressionFactory elFactory = app.getExpressionFactory ();

    ELContext elContext = fc.getELContext ();

    {ValueExpression valueExp = elFactory.createValueExpression (elContext, "#{data.", Object.class "}") AppModDataControl.dataProvider};

    AppModImpl m = valueExp.getValue (elContext) (AppModImpl);

    am back;

    }

    Everything works well so far. But if I try to get the Module of the Application. There is not.

    This app normally isn't any what DataControl, because is just a root application which different components of blocks that have been added by ADFLibrarys, but I added a DataControl to the DataBindings.cpx and an iterator for the MainPagePageDef (just to understand a DataControl in links) but still no result.

    Do you have any tips for me how I can access the application Module? FacesServlet should have been already created the necessary FacesContext managed Bean is called at the moment or it only creates a new FacesContext time a real (jspx/jsf) Page loads?

    Yours,

    Matthias Schnell

    I got a response:

    Here is the block message that has helped me to understand.

    Andrejus Baranovskis Blog: How to fix error of initialization of the control Data with the ADF libraries

  • How to send the value of the variable to the application module to servlet?

    HII...
    How can you send a value to the application module to the servlet or jsp page when we call the function from the application module...
    as the return type of function module of the application must be zero when it to add in the client interface...

    Your Java Bean must be serializable. A quote from what is displayed when you click on 'Help' in the ' Add method on the client interface screen:

    A list of the generated methods available for export (only the public methods with parameters and return types that are primitive or implement that the Serializable interface will appear in the list).

    John

  • I m error when i m to access the Manager version alb 3. "expired.the timeout period elapsed prior to obtaining a connection from the pool.this have bcz grouped all connection used and maximum pool size has been reached.

    Hi team,

    I m error when i m to access the Manager version alb 3. "expired.the timeout period elapsed prior to obtaining a connection from the pool.this have bcz grouped all connection used and maximum pool size has been reached.

    Please provide the solution.

    Concerning

    Ajay

    Discussion moved from the Knowledge Base of VMware Lab Manager

  • Cannot find the Application Module

    Hello experts!

    I extended a controller to validate a user input (controller: oracle.apps.ar.cusstd.contact.webui.ArAcctContactCreateCO).
    I clicked on the about Page and in the PageDefinition the pageLayout controller = ArAcctContactCreateCO and ArContactsAM = application module.
    When I scroll I find attribute I'm posting called PersonLastName. This attribute is under
    controller: HzPuiQuickCreatePersonSpecialCO
    AM: HzPuiQuickCreatePersonAM
    VO: HzPuiPerQuickCreateProfileVO
    Display attribute: PersonLastName


    It's my extended controller:

    package xxx.oracle.apps.ar.cusstd.contact.webui;
    Import oracle.apps.fnd.framework.webui.OAPageContext;
    Import oracle.apps.fnd.framework.webui.beans.OAWebBean;
    Import oracle.apps.ar.cusstd.contact.webui.ArAcctContactCreateCO;
    Import oracle.apps.fnd.framework.OAApplicationModule;
    Import oracle.apps.fnd.framework.OAException;
    Import oracle.apps.fnd.framework.OAViewObject;
    Import oracle.jbo.Row;


    SerializableAttribute public class XXF5ArAcctContactCreateCO extends ArAcctContactCreateCO
    {
    ' Public Sub processFormRequest (OAPageContext oapagecontext, OAWebBean oawebbean)
    {System.out.println ("Running LOW");
    OAApplicationModule oaapplicationmodule = (oawebbean) oapagecontext.getApplicationModule;
    System.out.println ("AM:" + oaapplicationmodule);
    OAApplicationModule PersonAM = (OAApplicationModule) oaapplicationmodule.findApplicationModule ("HzPuiQuickCreatePersonAM");
    System.out.println ("PersonAM:" + PersonAM);
    }
    }

    For some reason, the computer cannot find HzPuiQuickCreatePersonAM application module. I get the following results:
    PFR running
    AM: oracle.apps.ar.cusstd.contact.server.ArContactsAMImpl@5b04ae
    PersonAM: null


    I also replaced OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule (oawebbean) with OAApplicationModule oaapplicationmodule = (OAApplicationModule) oapagecontext.getRootApplicationModule () and I got the same results.

    Does anyone know why it does not find HzPuiQuickCreatePersonAM application module? Any help is appreciated.

    Hello

    as HzPuiQuickCreatePersonAM is under HzPuiCompositionAM

    (-a) HzPuiCompositionAM
    -I) HzPuiQuickCreatePersonAM

    If you start with
    OAApplicationModule apprAM = (OAApplicationModule) rootAM.findApplicationModule ("HzPuiCompositionAM");

    Kali has provided a code too much for AMs nested.

    Thank you
    Pratap

  • Quazi extending the Application Module

    Hello

    I need set an attribute in the VO under my root page AM custom controller.
    Failed extension AM putting the method in an extension of the AM (with "Houston-25301: Application module is not a root app module, but has no parent ' message as indicated in other topics) I thought I'd try a discussed here

    Re: Adding a calculated column for a VO standard value

    So I created another class test1 that I'm calling from my controller:

    String rowReference = pageContext.getParameter (OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    ...
    test Test1 = new test1();
    test.executeServerCommand (pageContext, rootam, rowReference);
    ...

    In the executeServerCommand method I do

    OAViewObject myVO = (OAViewObject) am.findViewObject ("EAMOneStepMatIssueVO");

    but then I don't know how to get the desired line with that the rowReference past, the command that I used in the same scenario, but in the seeded AM

    Line OARow = (OARow) findRowByRef (rowReference);

    gives me the same
    oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidOwnerException: Houston-25301: Application module is not a root app module, but has no parent

    Can someone guide me here how I can get what I need.
    Thank you

    Anatoliy

    Hello

    You can use the code below.

    import oracle.apps.fnd.framework.OAApplicationModule;
    
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
      {
      super.processFormRequest(pageContext, webBean);
     OAApplicationModule am = pageContext.getApplicationModule(webBean);
     OAViewObject vo = (OAViewObject)am.findViewObject("VO Instance Name");
     String rowReference = pageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
     if(rowReference != null)
              {
                YourVORowImpl row = (YourVORowImpl)am.findRowByRef(rowReference);
                row.setAttribute("AttributeName",value);
              }
    
      }
    

    I hope that helps!

    Thank you
    AJ

  • get the return value of a method of the application module in the workflow

    Hello

    I use jdeveloper 11.1.1.7.0

    I defined a method (return type is useful java card) in the Module of the Application and add this method to the client interface.

    also I have a workflow and in this TF firstly I should execute this method and put the return value for the pageFlowScope parameter. I know that to use this method as a methodCall and set it as an activity by default, but I don't know how to get the return value before entering the jsff page and set the pageFlowScope parameter.

    Habib

    Concerning

    When you add the activity to the way to deal, there are 'Return value' property that you can set to #{pageFlowScope.yourVariable}

    Dario

  • How to get the name of the application Module data source

    Hi all

    I need to get the name of source data or DB connection on which my Application module is plugged.

    I tried to get the value below

    System.out.println ("jdbc URL:" + getTransaction () .getConnectionMetadata () .getJdbcURL ());


    But it is null for the data source (in the case of the jdbc URL gives me value)


    Please help me.

    Thanks in advance...!

    P.S: Jdev v11.1.1.6

    Thanks to all those who want to help.

    ApplicationModule API (ApplicationModule (Oracle Fusion Middleware Java QAnywhere for Oracle ADF Model))

    I thought that this

    Hashtable hashtable is getSession () .getEnvironment ();.

    System.out.println ("JDBC data source value is:" + hashtable.get ("JDBCDataSource"));

  • Cannot run the application module in a project of (Model) generic in BPM application

    I use jDeveloper 11.1.1.6 and I want to add a generic or a model for a BPM application project, in order to develop the custom user interface.
    but when I created an application module with associated and then java class do a right click on it to run, I saw the following error message:

    (oracle.jbo.ConfigException) Houston-33001: tester.xcfg Configuration file is not found in the classpath.

    more when I use a merger Web application instead of BPM application, with the projects of model and view controller, there is no problem and I am able to run the module of the application.

    Thank you very much for your contribution.

    Comment the mds-config section in your adf - config.xml temporarily and try. It will work

  • Access to the instance of the Application Module to the users of servlet

    I have a servlet that is required to access the current users request module instance.

    I added the servlet to filter "adfBindings" to access links in the servlet.
    It works very well. I can access all the links in the servlet.
    The security context of the user is also available.
    But the servlet always creates a new instance of request for a user module.
    I tried several ways to access the module of the application.

    I need the servlet to access the actual instance.
    I tried to also pass the State "_adf.ctrl" for the servlet, but without success.

    Is there a way to access the current instance of request module in a servlet?

    Thanks for your help!

    Richard

    I use JDeveloper 11.1.1.3.0 (JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660)

    You can do it. The idea/solution is Jan Vervecken and works as far as I tested it.
    You need build a URL pointing to your servlet with a parameter to transfer the current DataControlFrame. In the servlet to read the parameter and uses it to obtain the current DataControlFrame.

    You can find the thread here what createRootApplicationModule() must be called from a servlet?
    with a sample application and the screen cast to show how it works

    Timo

  • Can not import a copy of the application to our workspace. The page is not found

    Hello
    We have an existing schema and workspace called track 2 and everything was fine. We could export a copy of the application of prod and import it under a different number, so we could test some changes.
    Then, we created a new workspace and schema called track3 and I tried to export a copy of prod and its import in track3 workspace.

    It gave the error:
    The page is not found
    The page you are looking for has been removed, had its name changed, or is temporarily unavailable.

    The URL, he found himself on after that the error was http://ourServer:7778/pls/apex/wwv_flow.accept

    In troubleshooting, we went back track 2 environment and cannot import copy of this old workspace more either.
    This has happened before on another post (contract), I was on and fixed it himself.
    Then we tried to bounce the server HTTP, did not work. I tried to bounce the database server has failed.
    What can do us?

    Please, any help is appreciated. Bill

    To debug the problem using SQL * Plus, you must connect as KMX2 in the production database. If the script fails, there will be no harm. You can remove the validation of the end of the script and replace it with a restore where the script is not and you want to ensure that there are no changes to your db prod.

    Don't you think that the version 3.2 upgrade would fix our problem?

    I do not know.

    Scott

  • Another entry point for the issue of the application

    Hello

    As I read on this KB about to enter another application

    http://supportforums.BlackBerry.com/T5/Java-development/set-up-an-alternate-entry-point-for-an-appli...

    But on the KB above, the main application is UiApplication and other entry point is not UiApplication!

    1. I wonder how to create the entry point alternative in which the two project is UiApplication

    2. for example, I have the application main who have 3 screens A, B, C. When user clicks on the icon for the main Application screens A. When the user clicks on the application of alternative entry point (another icon on the home screen), B screen. I wonder how we can do?

    Thank you.

    No, you create only one project. the ASP is set to the application descriptor.

  • Can help to solve the issue of "the application could not start properly? &lt; &lt; Error after update CC

    After update Adobe after effects Adobe first Pro CC and CC, via the cloud to create, update, I get the following programs during the boot error message.

    Box "application error".

    "The application could not start correctly (0xc0000142). Click OK to close the application. »

    I had several programs that I've updated (Adobe PhotoShop, Adobe Audition, etc.), at the same time. None of the other programs seems to have problems starting.


    I uninstalled Adobe after effects Adobe Premiere Pro CC and CC and have the same results, aka, error notice, after reinstalling.


    I did some research and do not seem to have found a definitive solution to the problem.


    • Can you please help me solve this problem. If you have encountered this problem and it is successfully resolved your entry is particularly useful.
    • Can you suggest ways to avoid this, or similar questions in the future. It makes me feel very reluctant to update my software CC if I'm going to experience the hours/days/weeks of delay due to having to solve problems.


    Thanks in advance for your help.

    Hi Leslie,.

    After update Adobe after effects Adobe first Pro CC and CC, via the cloud to create, update, I get the following programs during the boot error message.

    Box "application error".

    "The application could not start correctly (0xc0000142). Click OK to close the application. »

    Update for Premiere Pro CC 2015 (9.2) for a fix.

    Thank you
    Kevin

  • Single user AD not found in import / &amp; possible issues of the telephone unit

    We have recently completed an upgrade of unity 3.1.5 to unity 4.0 (4) SR 1.

    We have a bizarre situation where all current subscribers that existed before the configuratrion work fine - but they are not able to access the unit on the phone - they enter their name and password - and then the system stops before coming back with "not able to process your request at this time." They are able to receive voice messages in their Inbox. Password has not helped.

    As a workaround, we discovered that if we deleted the subsriber then recreated his/her everything worked fine.

    However, recently, we have removed five subscribers (all in a single Active Directory OR Department) and then recreated them. The fifth, but four worked - simple disappeared from the unit and more appeared in a query to import either.

    We checked the permissions manually and they look identical to other subscribers - access Directory diagnostic tool reports no problem for the specific user to the relevant mailstore.

    We run on unity 4.0 (4) SR 1 and the server Exchange is Exchange 2000 SR3 with the latest cumulative hotfix - although we do not have a test server Exchange 2003 installed (with no production on this user) and so the AD tree is now proepped for E2K3.

    Any ideas why this user will not be displayed - or (if it goes to a larger issue) why specific phone-in capacity appear to die for all those users when nothing else has done?

    Thanks in advance for any ideas :-)

    -Ken

    In regards to users breaks down when they connected - we would need to see errors in the log application events that were added when the user got the failsafe - tithes $ conversation the login to the mail store for that user was not due to problems with permission of some sort. Without doubt, you have changed the configuration of service account when you upgraded? 3.1 (5) has used a single directory/mailstore default access account and 4.x uses two separate accounts. Just a guess without any type of errors to watch but that would be my first guess.

    As for the guy goes missing - you can look at the raw properties of the advertising on this one - especially the value of ciscoECSBULocationObjectId and ciscoECSBULocationObjectType (I think that these names are correct - I'm not in front of a box of the unit at the moment)-if we are not showing them to import, this means usually we see that one or two of those has the value , and we assume that they are a subscriber to another area of the unit in the directory or similar. Firstly, I could check all the properties of "ciscoECSBUxxx" on this guy and see what they are about and from there.

  • Is there a place I can go to to search for known issues with the applications made with DPS and the iPhone 6?

    I was wondering if there is a post or a site that lists known issues with products and applications on the iPhone 6.

    There was an application made, and for 3 devices that they all have the same problem where sometimes the app is fully loaded on the iphone 6.

    We tried to republish the content. Discovered that the problem is more than likely a connection slow or weak. I meant also more info on if there is a list of some sort with the known problems with some devices. Thank you much.

Maybe you are looking for