One Application Module Instance Per User

Hi, I am using JDeveloper 11.1.1.2 with ADF BC.
I have an application with a single root application module. I have my JDBC data source set up to enable identity based connection pooling so that a database connection is created with the current user's credentials.
Basically, I would like an application module pool such that a single application module instance exists for each user in the system. If a user logs into the system, a new app module should be instantiated for him (tied to his db credentials). If the user makes a new request and his app module has been removed from the pool for inactivity, a new app module should be instantiated even if others already exist in the pool for other users. If the user is already logged into the system and tries to login again in another browser window, I would like to check if an app module already exists in the pool for the user and re-use that one instead of instantiating a new one.
I don't want to set jbo.doconnectionpooling=true because I want the app module instance to keep its cached data.
Is this possible? If so, how could I configure the application module to make this work?

Hi Frank. Thank you for the reply.
I tried using two browsers. The behavior of each page is very much different when being opened individually. Its like the two pages is sharing the same iterator / data and / or entity object. These two pages were opened to see if one is dependent upon the other. But when I test the same scenario on a different computer, everything works out fine.
Is there a way for me to verify if the sessions are different? and if they are different, is there a way to verify if the application module created a new instance for the other session?

Similar Messages

  • How to separate application module instance per user session?

    Hi.
    How do you separate application module instances per session or per user? I am creating a web application and has created a simple filter that implements Filter.
    Thanks in advance.

    Hi Frank. Thank you for the reply.
    I tried using two browsers. The behavior of each page is very much different when being opened individually. Its like the two pages is sharing the same iterator / data and / or entity object. These two pages were opened to see if one is dependent upon the other. But when I test the same scenario on a different computer, everything works out fine.
    Is there a way for me to verify if the sessions are different? and if they are different, is there a way to verify if the application module created a new instance for the other session?

  • Restrict application instances per user?

    We have a new ERP application.  As with most enterprise software, it has a restrictive license on concurrent uses.  It even counts multiple instances from the same user as multiple uses of its license.
    The application runs from a Windows 2012 R2 server, as a RemoteApp.
    Is there a way to restrict it so that each user may only run a single instance of the application?

    Hi Itwally1,
    All RemoteApp programs on the same server for the same user will run in the same session.
    There seems to be no built-in method to limit a RemoteApp to a single instance per user session. Please refer to following threads and check if can help you.
    Restrict a published RemoteApp to a single instance per user
    Limite RemoteApp to one instance per user
    If anything I misunderstand or any update, please don't hesitate to let me know.
    Best regards,
    Justin Gu
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Find application module instance using groovy script

    Hi,
    Can any one help me to find the instance of a specific application module using a groovy script.
    I know the below is going to give me the current application module instance
    adf.object.applicationModule.findViewObject("ViewObject").first().getAttribute("name")But I should be able to find a specific application module and then proceed with finding the viewObject in it.....
    Edited by: vijai on Mar 6, 2012 7:21 AM

    Hi john,
    This is the summary of my issue.....
    I have few Appmodules among which one is used for administration purpose. I have a particular ViewObject say V1 that is used in all the AppModules as instances from which values are used as bind variable values in viewObject query (So when these instances gets executed first time the bind variable are set). In one operation the user changes the value in the administration app module ViewObject V1 and commits it. So we face two issues here.....
    1. I need to refresh all the ViewObjects in the other appmodules
    2. and I need to refresh the Bind Variables values in the ViewObject query (or) Give the refreshed values in the page bindings Execute With Params.
    In order to do this stuffs I thought I would make a groovy script and use the viewObject in the Administration ViewObject for values in Bind variables,ExecuteWithParams value etc......
    Pls give me a better approach or a better groovy script to do this...........

  • Application pool unable to check out application module instance in TOMCAT!

    Hi,
    I am able to run my bc4j application (WITH jsp CLIENTS) in JDEVELOPER just fine. But when I deploy it to TOMCAT, it gives me an error :
    "oracle.jbo.common.ampool.ApplicationPoolException: JBO-3003: The application pool WoopsBC4J.WoopsBC4JModule, failed to check out an application module instance"
    Can anyone tell me why this is happening?
    I have successfully deployed the sample ONLINEORDERS application to TOMCAT without any problem but this application somehow refuses to work.
    Is there anyone who encountered similar problems?
    Regards
    Ifti

    Chris, Here's the complete error message that I am receiving when I attempt to call the JSP page. I infact re-installed tomcat just to make sure that I don't have any old files that my application is referring to. So right now , I have only one application.
    Any help would be appreciated!
    Internal Servlet Error:
    javax.servlet.ServletException: oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The application pool, WoopsModule, failed to checkout an application module instance.
    oracle.jbo.ApplicationModule oracle.jbo.html.jsp.JSPApplicationRegistry.getAppModuleInstance(java.lang.String, javax.servlet.jsp.PageContext)
    int oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doEndTag()
    void _0002fiss_0005fListPerson_0002ejspiss_0005fListPerson_jsp_0._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void org.apache.jasper.runtime.HttpJspBase.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)
    void org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean)
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()
    ## Detail 0 ##
    oracle.jbo.NoDefException: JBO-25002: Definition WoopsBC4J.WoopsBC4JModule of type ApplicationModule not found
    oracle.jbo.ApplicationModule oracle.jbo.html.jsp.JSPApplicationRegistry.getAppModuleInstance(java.lang.String, javax.servlet.jsp.PageContext)
    int oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doEndTag()
    void _0002fiss_0005fListPerson_0002ejspiss_0005fListPerson_jsp_0._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void org.apache.jasper.runtime.HttpJspBase.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)
    void org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean)
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()
    Root cause:
    javax.servlet.jsp.JspException: oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The application pool, WoopsModule, failed to checkout an application module instance.
    oracle.jbo.ApplicationModule oracle.jbo.html.jsp.JSPApplicationRegistry.getAppModuleInstance(java.lang.String, javax.servlet.jsp.PageContext)
    int oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doEndTag()
    void _0002fiss_0005fListPerson_0002ejspiss_0005fListPerson_jsp_0._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void org.apache.jasper.runtime.HttpJspBase.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)
    void org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean)
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()
    ## Detail 0 ##
    oracle.jbo.NoDefException: JBO-25002: Definition WoopsBC4J.WoopsBC4JModule of type ApplicationModule not found
    oracle.jbo.ApplicationModule oracle.jbo.html.jsp.JSPApplicationRegistry.getAppModuleInstance(java.lang.String, javax.servlet.jsp.PageContext)
    int oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doEndTag()
    void _0002fiss_0005fListPerson_0002ejspiss_0005fListPerson_jsp_0._jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void org.apache.jasper.runtime.HttpJspBase.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, boolean)
    void org.apache.jasper.servlet.JspServlet.serviceJspFile(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String, java.lang.Throwable, boolean)
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()
    void org.apache.jasper.servlet.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    void org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apache.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomcat.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object[])
    void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
    void java.lang.Thread.run()

  • Accessing application module instances directly from the AMPool

    Hi!
    I´m want to create an Application Module Pool Monitor, actually I need to know how many fetched rows an Application Module instance has.
    I made a jsp, that do the following:
    ApplicationPool pool = (ApplicationPool)poolMgr.getResourcePool(poolname);
    int instanceCount = pool.getInstanceCount();
    for (int i = 0; i < instanceCount; i++){       
    ApplicationModule am = pool.getInstance(i);
    and then works with the am instances, calculating the rows that each VO has fetched.
    Now, It is not yet clear to me if, when I use "pool.getInstance(i)",
    I'm locking the instance that is being use by another session (an user session), or trying to get a lock,
    and possibly creating a deadlock. Or the AMPool administrates the lock and I don´t need to worry about it.
    Thank in advance, and sorry for my bad english!
    (i forgot to mention, I´m using adf - bc 10.1.2 )
    Message was edited by:
    user506477

    Sure, we are having RAM problems, sometimes, and for reasons that are still unclear, a process begins to consume memory.
    What we need rigth now, is a tool that tell us how many rows in memory has each user, and which ViewObject is creating them. The idea is to make some kind of monitor that shows that, the AM that each user has, an the state of their VOs.
    I used the JSP in this page as a reference:
    http://radio.weblogs.com/0118231/stories/2004/05/10/gettingApplicationModulePoolStatisticsToAidWithSizeTuning.html
    I´m not trying to create a new AM management mechanism, simply a tool that shows the status of the application (and perhaps allows me, for instance, to clear the cache of a VO that has to many rows fetched).
    In my JSP I obtain an instance of the AMs using "pool.getInstance(i)", and access then the associated VOs. But I don´t know if accesing the AMs this way could create problems with users that have an AM assigned to them, for example, a deadlock.
    Thanks!

  • Jdev 11.1.2.0.0 AdfJarLibrary AModule as Application Module Instance

    Hi all,
    My Adf library "MainAdfLib" are added with other sub-libraries as "Application Module Instance" modality.
    In "MainAdfLib" project i see all datacontrol details , here are all ok,
    but when i added the project "MainAdfLib" in one of my view-controller projects i don't see the datacontrols details (view object ecc.).
    Why...
    Regards
    gio

    ok john, so it work, but i have many sub-adfJArlibrary linked to MainAdfJarLibrary
    i have performed the same operation, but i don't see the datacontrols details ,
    i'll try to remove all the sub-adfJarLibrary and recompile and then connect all to the main.
    p.s. i have migrated from 11.1.1.5.
    thanks
    gio

  • Defining one application module for several DBs

    Hi,
    Is it possible to define one application module that serves two different DBs?
    In other words:
    If I need to use two DBs in my application, how many application module should I define?
    Thanks in advance

    Shalom Moran,
    So you only need to connect to one DB at time - but to different DBs at different times right?
    If we are talking about changing this at development time then simply simply change the configuration of your application module to connect to a different DB. (right click on the AM in JDeveloper and choose preferences). You can also change this in a file somewhere (don't remember the name of the top of my head).
    The other option is to have your AM use the application server's data-sources and you can change the parameters of the data-source in your application server configuration file.
    Hope this helps.
    Shay

  • Failed to checkout an application module instance

    Hi,
    I am using JDev 3.2 to develop my JSPs and BC4J. When I tried to run my JSP from my web server I got the error "JBO-30003:The application pool, TsrsJSP20_TsrsBCPack_TsrsBCPackModule, failed to checkout an application module instance. JBO-26061:Error while opening JDBC connection." How can I fix this error? Please help!!!!
    Lisa
    null

    This is a deployment problem. You either do not have all the JARS/JSPs/properties files deployed onto the webserver or they are not found in the classpath (wrapper classpath for apache).
    Since this is very webserver specific it is difficult to be more specific.

  • Limite RemoteApp to one instance per user

    Hello everyone,
    A customer asked us to make an (unfinished) application available to them. Since this application is unfinished we want to make sure that only one person at a time is using it and that under no circumstances the customer can copy the application.
    RemoteApp seems perfect for this, however standard it allows users to open the same application as much as they like with the same credentials.
    Is there a way to limit the RemoteApp applications to one per user session?

    Hi,
    Another idea is to create an additional user account and limit only this account can use this RemoteApp.
    Thanks.
    Jeremy Wu
    TechNet Community Support

  • Commit on one application module also commits the other

    Jdev 11.1.1.4
    I have a fusion ADF application where I have defined two Data Controls.
    One is called AppModuleDatacontrol and the other AppModuleWSDataControl.
    I do this in order to be able to commit DML made on one Data Control independently of the other.
    The problem is that when a do something like:
    AppModuleWSImpl am=(AppModuleWSImpl)Util.getApplicationModule("AppModuleWSDataControl");
    am.getTransaction().commit();
    Errors on VO of AppModuleDataControl are raised. They were not expected to be raised !
    I have activated ADF logs and just after executing
    AppModuleWSImpl am=(AppModuleWSImpl)Util.getApplicationModule("AppModuleWSDataControl");
    and before executing the commit I get:
    <BindingContext> <findDataControl> [4147] INFO: no refreshRegion, skipping cpx codebase lookup on AppModuleWSDataControl
    <BindingContext> <put> [4148] BindingContext.put( AppModuleWSDataControl@edu_esade_view_DataBindings_cpx, oracle.jbo.uicli.binding.JUApplication )
    <PropertyManager> <loadProperty> [4149] WARNING: Property jbo.maxpoolcookieageset to null
    <PropertyManager> <loadProperty> [4150] Skipping empty Property jbo.maxpoolcookieage from null
    <BindingContext> <put> [4151] BindingContext.put( AppModuleWSDataControl@edu_esade_view_DataBindings_cpx, oracle.jbo.uicli.binding.JUApplication )
    <BindingContext> <put> [4152] BindingContext.put( AppModuleWSDataControl@edu_esade_view_DataBindings_cpx, oracle.jbo.uicli.binding.JUApplication )
    <DebugDiagnostic> <print> [4153] DBG: DataControl:Looking for :_adf_dc_user_params_key_
    <DebugDiagnostic> <print> [4154] DBG: DataControl:Looking for :_adf_dc_user_params_key_
    <ADFLogger> <begin> Create nested Application Module
    I don't know if "Create nested Application Module" is important but I don't want this AppModule to be nested of the other. I want them to be completly independent in order to achieve independance of the commit actions.
    Any help ?

    "1.Defining all BTF as "No controller transaction" I can assume both AppModule will always work with different transactions "
    As long as they're defined as separate root AMs and you've used the <No Controller Transaction> option they will work with different db connections, therefore different transactions too.
    "and one transaction in one AppModule will persist trough pages"
    Within scope of one BTF yes. In scope of chained BTFs that's dependent on the BTF data control scope option. If you set that to isolated, each instance of a BTF will spawn a new instance of the AM in question (and new connections/transactions with the database). If you use shared, 1 instance of the AM will be shared (1 connection/transaction).
    "2.What impact can have this in reusing BTF ? I have a jsf page reusing the same task flow in two regions. The taskflow performs some initialization. Will the regions undesirably interact one with the other ?"
    That depends on the data control scope option as specified above. If you want them to be independent, use the isolated data control scope options on the BTF.
    Consider reading the ADF Task Flow Transaction Fundamentals paper on this website for more information: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfarchitect-1639592.html
    CM.

  • How to get the application module instance in backing bean.

    This is Ramesh, I am new to JDeveloper world.
    In my current application I have change password screen which allows user to change there password.
    Here this is a pop-up page. Here I don't have the view object and pagadef for this changepassword.jspx file.
    My aim is to call the Application Module method which takes the user name, old password and new password.
    In backing bean I am trying to call this method by using
    MyProjAM obj = _binding.getDataControl().getApplicationModule();  //throw null pointer exception.
    _binding is the object of DCBindingContainer. 
    ( I have created the parameter called "binding" as my managed bean property and values as #{binding})
    But the above line is throwing the NullPointerException.
    Could you please help me to come out of this problem.
    Thanks and Regards,
    Ramesh Biradar.

    If your page has no page definition, then #{bindings} will be null during the request for that page.
    If you need your page to invoke a data control method when you press a button, the simplest (and declarative) way is publish your AM method on the AM's client interface, then drop the method as a button from the data control palette onto your page. You don't even need a backing bean to accomplish this.
    That said, you can refer to a data control in a backing bean using the expression #{data.[i]YourAppModuleNameDataControl.dataProvider}
    So, assuming you have a helper method like this:
      public static Object EL(String expression) {
        FacesContext ctx = getFacesContext();
        Application app = ctx.getApplication();
        ValueBinding bind = app.createValueBinding(expression);
        return bind.getValue(ctx);
      }and assuming that your application module is named SRService
    and assuming that you have correctly nominated any Application Module custom methods as being available to clients by selecting them on the "Client Interface" panel of the application module editor, then in a backing bean you can acquire an instance.
    Then, the ADF design time will have automatically generated you a custom AM client interface named SRService and you can reference that service interface in your backing bean by using code like this:
            SRService svc = (SRService)EL("#{data.SRService.dataProvider}");
            svc.yourCustomMethod(your,args);

  • Application Module instance not found in task flow

    Hi,
    i am working on Oracle Jdeveloper 11g Release 1
    I have created a bounded task flow for with following properties:
    <transaction id="__14">
          <new-transaction/>
        </transaction>
        <data-control-scope id="__15">
          <shared/>
        </data-control-scope>
        <task-flow-reentry id="__13">
          <reentry-not-allowed/>
        </task-flow-reentry>I have declared a page flow scope bean in the task flow as:
    <managed-bean id="__5">
          <managed-bean-name id="__6">trainBean</managed-bean-name>
          <managed-bean-class id="__8">oracle.sysman.core.gccompliance.view.library.rule.patchRule.PatchRuleTrainBean</managed-bean-class>
          <managed-bean-scope id="__7">pageFlow</managed-bean-scope>
        </managed-bean>but when i am trying to access the AM Impl instance from bean methos as below:
    public static final String DATA_CONTROLLER = "ComplianceLibraryAMDataControl";
        public ComplianceLibraryAMImpl getDataControl() {
            DCBindingContainer bc =
                (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
            ApplicationModule am = bc.findDataControl(DATA_CONTROLLER).getApplicationModule();
            return (ComplianceLibraryAMImpl)am;
        }I am getting null pointer exception in ApplicationModule am = bc.findDataControl(DATA_CONTROLLER).getApplicationModule();
    I am using the same way to get bean in other task flows as well , so i think the code to get bean is working correctly.
    What am i missing in this?

    thanks Puthanampatti ,
    This is working and i am able to get AM instance from this , But i am not sure what is the difference between:
    public ComplianceLibraryAMImpl getComplianceLibraryAM() {
    ComplianceLibraryAMImpl am = (ComplianceLibraryAMImpl)ADFUtils.getApplicationModuleForDataControl("ComplianceLibraryAMDataControl");
    return am;
    Referred methods:
         * Get application module for an application module data control by name.
         * @param name application module data control name
         * @return ApplicationModule
        public static ApplicationModule getApplicationModuleForDataControl(String name)
            return (ApplicationModule) JSFUtils.resolveExpression("#{data." +  name +  ".dataProvider}");
         * Method for taking a reference to a JSF binding expression and returning
         * the matching object (or creating it).
         * @param expression EL expression
         * @return Managed object
        public static Object resolveExpression(String expression) {
            FacesContext facesContext = getFacesContext();
            Application app = facesContext.getApplication();
            ExpressionFactory elFactory = app.getExpressionFactory();
            ELContext elContext = facesContext.getELContext();
            ValueExpression valueExp =
                elFactory.createValueExpression(elContext, expression,
                                                Object.class);
            return valueExp.getValue(elContext);
        }And my previous approach:
        public ComplianceLibraryAMImpl getDataControl() {
                     DCBindingContainer bc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
                     ApplicationModule am = bc.findDataControl(DATA_CONTROLLER).getApplicationModule();
                     return (ComplianceLibraryAMImpl)am;
        }Why am i not able to find my data control AM from Binding Container????

  • One application module with 3 differente data base connections

    I have 3 different servers for data base connections. The main is "sys", the second "stanby" and the third: "bdbatch". In the old application,that i m re programating, uses a properties to read the connection. If the main is not available then goes to the stanby an then to the third. With this new application with adf i have to do the same. So how can i configure the application module to do this? do i have to make extra code? or just configure an xml file??

    i faced this problem before in Dynamic JDBC Credentials topic solution provided by Steve Muench (to make your AM Databse Connection to be dynamic as you need).
    http://smuenchadf.samplecode.oracle.com/samples/11gDynamicCredentials.zip
    Note : Example Contains the Full JDBC Connection String in dynamic way
    i finished this solution in my App and Successed.
    Thanks

  • How to get application module instance from java bundle?

    Hi!
    I would like to build an application that would get all translations from a database table.
    So I created application module for translations that contains a view object which is selecting translations for specific language from a database table. I exposed a method in application module as client interface which returns HashMap<String, String> for all translations for specific language. When I test my view and client interface method call they work fine.
    Then I created java bundle classes to get translations for specific language. Then I tried to override public Object[][] getContents() method.
    I tried to get my translations application module like this:
    SharedTranslationsAppModuleImpl am = new SharedTranslationsAppModuleImpl();
    Map<String, String> translationsMap = am.getTranslations(this.getLocaleCode); // Client interface method call
    In getTranslations(String LocaleCode) I try to get that view (which would select translations from database) but it returns NULL and I get NPE error message.
    So what is the right way to get application module from java bundle file? Now everytime application wants to get translations, application stops and displays NPE message.
    Regards, Marko
    I use JDeveloper 11.1.2.1.0

    Marko,
    you can't just instantiate an application module. An application module has to be set up, db connections and memory pools have to be initialized and ....
    Can you describe why and when you try to read the resource bundle from the db and where the resource bundle is used?
    This blog may be what you are looking for http://technology.amis.nl/2012/08/10/implement-resource-bundles-for-adf-applications-in-a-database-table/
    Timo

Maybe you are looking for

  • A hang in AF

    Hi Gurus, I have 4 external systems connected to PI 7.0 SP12 on MSCA . One external system is using soap adapter, while the others ftp adapter. I want to send 3.000 MATMASes to them at once. I dont have any problmes on IE (rounting, mapping is fast a

  • Scale in printing settings

    In printing settings ifI deselect "Fit to page" and imput 100% it will reset every time I change the printer (as I use more than one), how to set it 100% ALWAYS?

  • Programmatically transform xml report using Labview

    I want to transform the standard xml report from Teststand into a more user-friendly file format for users that need to view reports, but don't have access to the test station.  Check out the attached code.  It should work, but I get this error. "Obj

  • How is Java JRE or SDK actually installed in Ubuntu?

    Ive used Java since the 1990s. Its been mostly on windows that has an exe installer; But always get to this difficult part when it comes to installation. Right now under Ubuntu i am installing java runtime again, have done it before but simply cannot

  • GL_BALANCES currency_balance_types

    I am after a bit more information about how currency differences are handled in the GL_BALANCES table. From what I can see records in the GL_BALANCES table can have different currency codes which may or may not be the same as the currency_code in the