Release Application Module

Guys,
I couldn't understand the exact difference between
Configuration.releaseRootApplicationModule(am, true);
and
Configuration.releaseRootApplicationModule(am, false);
1. True -> AM instance will be deleted???
2. False -> AM intance will not be deleted and when i do am = Configuration.createRootApplicationModule(amDef, config) , i will get the same am instance?
Can you guys help?

Straight from the docs:
releaseRootApplicationModulepublic static void releaseRootApplicationModule(ApplicationModule appModule,
boolean remove)
Release the specified application module.
Parameters:
appModule - an application module which was created with createRootApplicationModule(String, String, EnvInfoProvider)
remove - indicates whether the application module should be removed true: remove the application module false: retain the application module for future use
>
BUT read this http://radio-weblogs.com/0118231/2009/08/20.html#a959 and ask yourself why using createRootApplicationModule in the first place.
Timo

Similar Messages

  • NPE when releasing application module instance

    HI,
    I am hitting a NPE when I am trying to release my application module.
    My code goes like this.
    public void releaseAppModule() {
         try {
              super.releaseRootAppModule(false);
         } catch (Exception e) {
              e.printStackTrace();
    }...and the exception
    java.lang.NullPointerException
    at oracle.jbo.client.Configuration.releaseRootApplicationModule(Configuration.java:1435)Use Case:
    I am getting my data from DB.
    1. On first load, I will hit this NPE
    2. When I do refresh on the browser, I no longer am experiencing this.
    Any reason why?
    How do I troubleshoot such case?
    JDEV 11G PS3

    i think this will helps you.
    JBO-30006 / BEA-000000 in ADF BC when running production

  • Problem releasing the application module after upgrade to 11.1.1.2

    We have recently upgraded from JDeveloper 11.1.1.1 to 11.1.1.2.
    In the "tearDown()" method in our Unit Tests, the Application Module is realeased using:
    private ApplicationModule am;
    Configuration.releaseRootApplicationModule(am, true);
    Alter the upgrade, this produces the following error:
    oracle.jbo.JboException: JBO-33025: Failed to release application module MapServiceGlobal. Cookie handle not found.
    Please Help.
    FYI - this is the code that is used to create the application module:
    Hashtable env = new Hashtable(2);
    env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
    env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
    try
    InitialContext ic = new InitialContext(env);
    ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(rootAM);
    am = home.create();
    catch (NamingException nex)
    /* Handle the error here if you don't find it */
    throw new NamingException("Application Module naming exception " + rootAM + " : " + nex.getMessage());
    /* Connect the AM to a database connection */
    am.getTransaction().connect(jdbcConnectionURL);
    * Set the bundled exception mode so that exceptions are thrown in the
    * same way as when we're running in the web application.
    am.getTransaction().setBundledExceptionMode(true);
    Thanks,
    -Spiro

    Hi,
    I used OCEP 10.3.0.0 and upgraded the wlevs30 domain to PS6(11.1.1.7.0). and it worked without such error.
    My experience is:
    1) in OCEP 10.3.0.0 it needs not to add the security groups in atnstore.txt
    2) you need to add <scratch-directory/> for Jetty in server's config.xml otherwise you will see the visualizer takes a long time to get up on Windows
    Thanks
    Junger

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

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

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

  • Using Application Module in Stateless Mode

    Hello,
    We have certain parts in our web application that is not coded using ADF-Faces, but need to use ADF-BC framework to do some data retrieving and manipulation. Our current approach is to instantiate the application module like the following:
    Configuration.createRootApplicationModule(impl, config);
    and after each usage we do:
    Configuration.releaseRootApplicationModule(am, true);
    However, the application module is not really released. We deployed pool statistic servlet from Steve Muench's "not yet documented examples" and realized that the supposed to be released application module is still in 'referenced' state and thus unavailable for usage by other session, or even other request in the same session as we dont know of anyway to tell ADFBC about current session and checkout referenced AM. As a consequence, the application is taking up DB resource so quickly and we have to restart the application every 5 minutes because it takes all available connection slot on our Oracle 10g server.
    Do I instantiate and released the application module correctly? Or am I missed something?

    In the reference you pointed, it is said that if I want the application module to be 'unmanaged' (assuming 'unmanaged' app module is what I need) I should:
    "call the resetState() method on the DCDataControl class (in the oracle.adf.model.binding package)."
    I'm not sure whether I'm getting this right, but I don't think I have a data control on the application module, because I instantiated it using Configuration.createRootApplicationModule().
    How do I set an app module to have 'unmanaged' release level directly (not through a data control)?
    Theres a resetState() in ApplicationModule class but it takes an int as an argument and Im not sure what to pass in.

  • Application Module no commits until released

    jdev-903 standalone oc4j-903... When I set configuration to run in 'local' mode, I can do am.getTransaction().commit() anywhere in the main routine or in the 'EJB' and the commits show up in the database. (This application can run for hours loading data.) When I set configuration to run in ias-ejb mode, the commits are not happening whether I do them in the ejb or back in the main. I turn on bc4j tracing and see the commits are doing something, but I don't see data in the database until I 'release' the application module. I have gone in and hacked the code to periodically do a release so that things work like I think they should. But it just doesn't make sense to me! A commit--should commit and data should appear in the database to all users. What is going on?

    Here is some of the bc4j trace...
    [1267] BaseSQLBuilderImpl Executing doSelect ... (true)
    [1268] Reusing prepared LOCK statement
    hdr 2003-03-04 11:52:59.367 714
    hdr 2003-03-04 11:52:59.492 715
    ... 2003-03-04 11:52:59.554 commiting last 102
    [1269] BaseSQLBuilder: setSavepoint 'BO_SP' ignored
    [1270] BaseSQLBuilder Executing DML ... (Update)
    [1271] Executing DML...
    [1272] UPDATE XXQWD_HEADERS SET TIMESTAMP=?,LAST_UPDATE_DATE=? WHERE VALUE_ID=?
    [1273] BaseSQLBuilder Executing DML ... (Update)
    [1274] Executing DML...
    [1275] UPDATE XXQWD_HEADERS SET TIMESTAMP=?,LAST_UPDATE_DATE=? WHERE VALUE_ID=?
    [1276] BaseSQLBuilder Executing DML ... (Insert)
    [1277] Executing DML...
    [1278] INSERT INTO XXQWD_HEADERS(VALUE_ID,TEMPLATE_ID,TIMESTAMP,QW_RECORD_NUMBER) VALUES (?,?,?,?)
    [1279] BaseSQLBuilder Executing DML ... (Insert)
    =========== many, many lines of insert statements
    [1586] Executing DML...
    [1587] INSERT INTO XXQWD_VALUES(VALUE_ID,QW_FIELD,VALUE) VALUES (?,?,?)
    [1588] BaseSQLBuilder: releaseSavepoint 'BO_SP' ignored
    [1589] PgiQSetupView notify COMMIT ...
    [1590] XxqwdTemplatesView notify COMMIT ...
    [1591] XxqwdHeadersView notify COMMIT ...
    [1592] XxqwdValuesView notify COMMIT ...
    [1593] EntityCache close prepared statement
    ... 2003-03-04 11:53:02.023 finish 0
    [1594] Clearing VO cache for XxqwdValuesView
    [1596] Clearing VO cache for XxqwdHeadersView
    [1597] Clear QueryCollection in cache...
    [1598] Clearing VO cache for XxqwdTemplatesView
    [1599] Clear QueryCollection in cache...
    [1600] PgiQSetupView notify COMMIT ...
    [1601] XxqwdTemplatesView notify COMMIT ...
    [1602] XxqwdHeadersView notify COMMIT ...
    [1603] XxqwdValuesView notify COMMIT ...

  • Disconnect Application Module Upon Release and LOV NPE

    Environment
    Jdeveloper 11.1.1.4.0
    Jheadstart Release 11.1.1.4.26
    There seems to be some sort of incompatibility with some LOVs when I enable Disconnect Application Module Upon Release.
    I have an LOV based on an updatable VO with a bind parameter.
    When I first log on the application an try to use the LOV I get a NPE when I select the row from the LOV popup and press OK.
    If I navigate to another page and return the LOV starts working correctly
    The NPE occurs in line
    keyList.add(getIterBinding().getCurrentRow().getKey());
    of LovItemBean
    getIterBinding().getCurrentRow() is null it this case.
    Do you have any hints?
    public void copyReturnValues(Map selectedRowData, Row baseRow, boolean copyToUI, boolean commaSeparated)
    // first clear any dependent items, if they exist
    if (getTableBean() != null)
    List keyList = new ArrayList();
    keyList.add(getIterBinding().getCurrentRow().getKey());
    getTableBean().getTable().setRowKey(keyList);
    Edited by: spooker on May 31, 2013 9:28 AM

    I was using Disconnect Application Module Upon Release to overcome an issue I had with multiple duplicated rows being generated in a table under certain circumstances.
    What I had is a button which reads the rows of a table and creates new rows in another table (other viewobject) which have a foreign key to the rows of the first table.
    If I issue multiple requests on the first table (5rows) by clicking different rows very fast and at the same time I press the button to create new rows to the second table the results are undefined. Instead of getting 5 new rows I get 10 or even 15 or 20. I don't know if this is a bug or if I am doing something wrong but I managed to overcome this by using the Entity RowSet instead of the ViewObject RowSet.
    so now I am not using Disconnect Application Module Upon Release any more.
    Edited by: spooker on Jun 3, 2013 7:38 AM

  • Application Module Release Mode

    Hi sirs;
    I'm just starting a new struts based application and adf uix + bc4j;
    What i was wondering is;
    If we will have a improve of performance, releasing more times the application module in stateless mode; like the following;
    All data forms (form related to data) will have an <<exit>> button and all the others links should be disabled. this exit button should command the form's dataforward action to release the application module in stateless mode;
    This exit button also will redirect the user to the main menu page;
    So, when the user get in an "data form", all struts ,toy stories based actions, will have the complete life cycle and will release the application module in stateful mode.
    One event called onExit marks the release mode to stateless to it's life cycle.
    what are your opinion about this approach ?
    Thanks
    Marcos Ortega;

    Repost

  • Programmatically created ViewDefImpl and application module releasing

    Hello!
    What will happen with a programmatically created ViewDefImpl instance after module releasing (for Stateful release mode, I mean if module will do passivation)? How I see it gone away.
    As workaround I'm using a distinct module with Reserved relese mode, but it's no good.
    Don't inspect closely, but I think the error during actiovation caused by this reason:
    java.lang.NullPointerException
    at oracle.jbo.server.Serializer.activateDynamicVO(Serializer.java:425)
    at oracle.jbo.server.ApplicationModuleImpl.activateVOs(ApplicationModuleImpl.java:7145)
    at oracle.jbo.server.ApplicationModuleImpl.doActivateState(ApplicationModuleImpl.java:6962)
    at oracle.jbo.server.ApplicationModuleImpl.doActivateAMState(ApplicationModuleImpl.java:6927)
    at oracle.jbo.server.Serializer.activate(Serializer.java:272)
    at oracle.jbo.server.DBSerializer.activateRootAM(DBSerializer.java:330)
    at oracle.jbo.server.ApplicationModuleImpl.activateState(ApplicationModuleImpl.java:5519)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:171)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7735)
    Code fragment from module for wich activation failed:
    >>>>>>>>>>>>>>>>>>>>>>>>>>>
    viewDef = new ViewDefImpl(QUERY_RESULTS_VO_DEF_NAME);
    for (...) {
    ViewDefHelper.addUpdateableTransientViewAttr(viewDef,
    attr.getFirstChild().getNodeValue(),
    String.class);
    viewDef.resolveDefObject();
    viewDef.registerDefObject();
    resultsVO = (SimpleXMLViewObjectImpl)createViewObject(QUERY_RESULTS_VO_NAME, viewDef);
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Thanks in advance.
    Ilya.

    application module1 is for table1, table4 and table5 and Application module 2 is for different tables say table2,table3 now I got 1 requirement where I need to do insertion in table1 after insertion in table2,table3 from applicaiton module2

  • Disconnect Application Module Upon Release app module configuration.

    Hi,
    I read in one article that using that "*Disconnect Application Module Upon Release*" in App module configuration is strongly not recommended (http://andrejusb.blogspot.com/2010/02/optimizing-oracle-adf-application-pool.html).
    Can anyone pls let me know if there are any other problems apart from this (https://forums.oracle.com/forums/thread.jspa?messageID=9873898#9873898) LOV issue.

    Hi Frank,
    Thank you very much for your support.... very much needed.......
    I will give a outline of my app and please do tell me where you need indepth details so we can narrow down to the flaw.
    * JAVA : *1.6*
    * JEVELOPER VERSION: *11*
    * WebLogic : *11*
    * Oracle DB : *11g*
    ----------------------------------------- ORACLE DATABASE DETAILS*
    * VERSION : *11g*
    * MAX CURSORS LIMIT : *300*
    ----------------------------------------- WEBLOGIC DETAILS*
    * DATA SOURCE : XXXDS (Not jdbc url)
    * JNDI : jdbc/XXXDS
    * Connection pool details:
    - initial size : *1*
    - Max Capacity : *50000*
    - Inactive connection time out : *0*
    * Every other settings are defaults
    ----------------------------------------- AM's details*
    * My model contains : *19* App modules ( All root )
    * app module configs: (Giving only those were changed, else are defaults)
    --- Connection type : Data Source - datasource name : jdbc/XXXDS (One given in weblogic)
    --- jbo.ampool.maxinactiveage : *60000*
    --- jbo.ampool.monitorsleepinterval     : *30000*
    --- jbo.ampool.timetolive :*120000*
    --- jbo.locking.mode : optimistic
    ----------------------------------------- Overridden Methods*
    This method is called each and every time an app module since all appl modue extends this
    @Override
    protected void *prepareSession(Session session) {*
    String username = ADFContext.getCurrent().getSecurityContext().getUserName().toUpperCase();
    log.debug("Preparing session for user " + username);
    Statement st = getDBTransaction().createPreparedStatement("rollback", 0);
    try {
    if (st.getConnection() instanceof PoolConnection) {
    PoolConnection poolConnection = (PoolConnection) st.getConnection();
    OracleConnection connection = (OracleConnection) poolConnection.checkConnection();
    if (connection.isProxySession() && username.equals(connection.getProperties().get(PROXY_USER_PROPERTY))) {
    // no proxying required, we already have a connection that is proxied for this user
    super.prepareSession(session);
    return;
    clearStatementCache(poolConnection);
    if (connection.isProxySession()) {
    log.debug("Connection already proxied. Tearing down previous connection.");
    connection.close(OracleConnection.PROXY_SESSION);
    log.debug("Creating proxy connection for user " + username);
    Properties properties = new Properties();
    properties.put(PROXY_USER_PROPERTY, username);
    connection.openProxySession(OracleConnection.PROXYTYPE_USER_NAME, properties);
    clearStatementCache(poolConnection);
    validateUser(username);
    } else {
    throw new JboException("Connection was not a PoolConnection, your AppModule appears to be using JDBC URL configuration instead of a managed data source.\n Try changing the Local and Shared 'Configurations' for this application module: " + this.getDefFullName());
    } catch (SQLException e) {
    log.error("Unable to prepare session correctly, proxying failed.", e);
    } finally {
    try {
    st.close();
    } catch (SQLException e) {
    log.warn("Unable to close statement", e);
    super.prepareSession(session);
    @Override
    protected void beforeDisconnect() *{*
    Statement st = getDBTransaction().createPreparedStatement("rollback", 0);
    try {
    PoolConnection poolConnection = (PoolConnection) st.getConnection();
    clearStatementCache(poolConnection);
    } catch (SQLException e) {
    log.warn("Unable to tear down session correctly, clearing statement caches failed.", e);
    } finally {
    try {
    st.close();
    } catch (SQLException e) {
    log.warn("Unable to close statement", e);
    super.beforeDisconnect();
    ----------------------------------------- Few points about our design
    * A single page can load more than one app modules.
    * All LOV comes under a single app module.
    * We use multiple LOV in the same page.
    thank you for ur help......

  • MBean Attribute (Does not apply to application modules)

    Can any one tell what this mean ?
    MBean Attribute (Does not apply to application modules) :
    is this means that it wont help for datasources for any J2EE application ????
    Inactive Connection Timeout     
    The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.
    You can use the Inactive Connection Timeout feature to reclaim leaked connections - connections that were not explicitly closed by the application. Note that this feature is not intended to be used in place of properly closing connections.
    When set to 0, the feature is disabled.
    MBean Attribute (Does not apply to application modules) :
    JDBCConnectionPoolParamsBean.InactiveConnectionTimeoutSeconds
    Minimum value: 0
    Maximum value: 2147483647

    Yes!, they do not apply for any applications they are management interfaces, internal to weblogic.
    Below is the brief information about it:
    A managed bean (MBean) is a Java bean that provides a Java Management Extensions (JMX) interface. JMX is the J2EE solution for monitoring and managing resources on a network.
    BEA WebLogic Server provides a set of MBeans that you can use to configure, monitor, and manage WebLogic Server resources through JMX. This reference document organizes WebLogic Server MBeans into the following categories:
    MBeanServer Services, which serve as your entry point into navigating the MBean hierarchies. Some of these MBeans contain attributes and operations for managing changes to WebLogic Server configuration MBeans.
    Configuration MBeans, which expose attributes and operations for configuring WebLogic Server resources.
    Runtime MBeans, which provide information about the runtime state of its resources.
    New MBeans, which have been added in the current release of WebLogic Server. These new MBeans are also listed in other categories in this document (for example, new runtime MBeans are also listed under the Runtime MBeans category).
    Deprecated MBeans, which are deprecated in the current release of WebLogic Server.

  • Intermittent error in production server JBO-25200: Application module is not connected to a database.

    We've set 60 min as session timeout and AM pool parameters also high  (<AM-Pooling jbo.ampool.maxinactiveage="1200000" jbo.ampool.initpoolsize="25" jbo.ampool.maxpoolsize="1000" jbo.recyclethreshold="50" jbo.ampool.maxavailablesize="50" jbo.ampool.minavailablesize="25"/>) in our application due to requirements.  We are using jdev 11.1.1.7.0
    Intermittently The page is getting refreshed and unsaved data is lost when user leaves a page for 5 or 10 min and on return back to application and performing operations back. There is not much load also on the server. When we analyze the logs the below exception is thrown on the logs.
    Exception Class: oracle.jbo.NotConnectedException
    Message: JBO-25200: Application module is not connected to a database.
    Agent: APP_BSA_BPA[mnatest_soa2]@egw-bpm2-mnat.wfs.com:5508
    API: Exception
    Thread Name: [ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)' <562720362>
    Exception StackTrace
    Method Class Line        File Name
    handleRollback oracle.jbo.server.DefaultTxnHandlerImpl 145         <unknown>
    doRollback oracle.jbo.server.DBTransactionImpl 5174       <unknown>
    rollback oracle.jbo.server.DBTransactionImpl 2544       <unknown>
    resetState oracle.jbo.server.ApplicationModuleImpl 4860       <unknown>
    disconnect oracle.jbo.common.ampool.DefaultConnectionStrategy 343         <unknown>
    doPoolDisconnect oracle.jbo.server.ApplicationPoolMessageHandler 592         <unknown>
    doPoolMessage oracle.jbo.server.ApplicationPoolMessageHandler 430         <unknown>
    doPoolMessage oracle.jbo.server.ApplicationModuleImpl 9316       <unknown>
    sendPoolMessage oracle.jbo.common.ampool.ApplicationPoolImpl 4530       <unknown>
    prepareApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl 2460       <unknown>
    doCheckout oracle.jbo.common.ampool.ApplicationPoolImpl 2270       <unknown>
    useApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl 3169       <unknown>
    useApplicationModule oracle.jbo.common.ampool.SessionCookieImpl 592         <unknown>
    useApplicationModule oracle.jbo.http.HttpSessionCookieImpl 234         <unknown>
    useApplicationModule oracle.jbo.common.ampool.SessionCookieImpl 525         <unknown>
    useApplicationModule oracle.jbo.common.ampool.SessionCookieImpl 520         <unknown>
    initializeApplicationModule oracle.adf.model.bc4j.DCJboDataControl 523         <unknown>
    getApplicationModule oracle.adf.model.bc4j.DCJboDataControl 869         <unknown>
    internalGetBeanDataControl oracle.adf.model.bc4j.DCJboDataControl 969         <unknown>
    findOrCreateMethodRowSetIterator oracle.adf.model.bc4j.DCJboDataControl 1236       <unknown>
    initSourceRSI oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding 698         <unknown>
    callInitSourceRSI oracle.adf.model.binding.DCIteratorBinding 1679       <unknown>
    internalGetRowSetIterator oracle.adf.model.binding.DCIteratorBinding 1652       <unknown>
    refresh oracle.adf.model.binding.DCIteratorBinding 4506       <unknown>
    refreshIfNeeded oracle.adf.model.binding.DCExecutableBinding 341         <unknown>
    getRowSetIterator oracle.adf.model.binding.DCIteratorBinding 1612       <unknown>
    getViewObject oracle.jbo.uicli.binding.JUMethodIteratorDef$JUMethodIteratorBinding 473         <unknown>
    _loadCriterionList oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion 3504 <unknown>
    getCriterionList oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion 3417 <unknown>
    invoke sun.reflect.GeneratedMethodAccessor4821 - <unknown>
    invoke sun.reflect.DelegatingMethodAccessorImpl       25 <unknown>
    invoke java.lang.reflect.Method 597         <unknown>
    Any idea why this exception thrown ? Is this because of weblogic server connections cleanup or something to do with connections?  As per my understanding , JDBC connection will not be released when AM is active/managed mode.  Oracle Doc says
    " That application module instance holds onto the JDBC connection object that it acquired from the pool until the application module instance is removed from the application module pool."

    jbo.ampool.maxinactiveage is set to 20 min which means that If AM in the pool is inactive for 20 min then clean this AM in the next cycle (still that is not our case).  We also set jbo.recyclethreshold="50" means 50 AMs can exists in the pool with managed-state. We set these because of performance reasons.  As per my understanding, AM instance will be deleted (????) but in any action on the UI will pick up another instance of the AM because datacontrolframe is still valid in the session.  Do we have any best practice like jbo.ampool.maxinactiveage should be equal to session time out?. The error seems AM lost the underlying JDBC connection and somehow application is using that stale AM ?. what will be possible reason?.

  • Default Code Generation for a Custom Class for an Application Module

    hi all
    Oracle® Fusion Middleware
    Fusion Developer’s Guide for Oracle Application Development
    Framework
    11g Release 1 (11.1.1)
    with Jdeveloper TP3 ,
    By default, the application module Java class will look similar to what you see in
    Example below when you've first enabled it. Of interest, it contains:
    ■ Getter methods for each view object instance in the data model
    ■ A main() method allowing you to debug the application module using the
    Business Components Browser
    [package devguide.model;
    import devguide.model.common.StoreServiceAM;
    import oracle.jbo.server.ApplicationModuleImpl;
    import oracle.jbo.server.ViewLinkImpl;
    import oracle.jbo.server.ViewObjectImpl;
    // --- File generated by Oracle ADF Business Components Design Time.
    // --- Custom code may be added to this class.
    // --- Warning: Do not modify method signatures of generated methods.
    public class StoreServiceAMImpl extends ApplicationModuleImpl {
    /** This is the default constructor (do not remove) */
    public SRServiceImpl() { }
    /** Sample main for debugging Business Components code using the tester */
    public static void main(String[] args) {
    launchTester("devguide.model", /* package name */
    "SRServiceLocal" /* Configuration Name */);
    /** Container's getter for YourViewObjectInstance1 */
    public ViewObjectImpl getYourViewObjectInstance1() {
    return (ViewObjectImpl)findViewObject("YourViewObjectInstance1");
    // ... Additional ViewObjectImpl getters for each view object instance
    // ... ViewLink getters for view link instances here
    when i try this i didn't find the default generation for main method
    have i do something before enable custom java file for Application module
    hope to hear from you soon

    hi nonStop
    Since you are using Jdeveloper TP3, this might be a better place to ask your question:
    "JDeveloper and OC4J 11g Technology Preview"
    JDeveloper and OC4J 11g Technology Preview
    success
    Jan Vervecken

  • Application Module Issue

    We are experiencing an issue when using multiple Java Restful web services on our development Oracle Weblogic. Each of these services uses ADF BC for DB interaction. The test case scenario is Web service A does some database work via ADF BC and then calls Web service B which also interacts with the DB. Both of these services are hosted on the same managed server instance within Weblogic,  The error we are experiencing is as follows (I can post full stack trace if requested):
    java.lang.ClassCastException: oracle.jbo.common.DefLocaleContext cannot be cast to oracle.jbo.common.DefLocaleContext                at oracle.jbo.common.DefLocaleContext.getInstance(DefLocaleContext.java:84)
    Debugging our code we can see that the following line of code (highlighted in bold) is where the error is thrown.
                String amDef = "package.AppMod";
                String config = " AppModLocal";
                ApplicationModule am = null;
                am  = Configuration.createRootApplicationModule(amDef, config); //Error Here
    The bizarre thing is that it seems almost random in which of the service the error will be thrown. It never occurs on the first run after a deploy to the server, but will occur on subsequent runs. We correctly use the following line in each of our service to release the application module:
               Configuration.releaseRootApplicationModule(am, true);
    We have tried including adfBinding filters in our web.xml but still with no success.
    Details of our setup follow:
    Application Server: Oracle Weblogic Server 10.3.6, JDK 1.7.0.21, JSF 2.0, ADF Runtime 11.1.2.4
    Database: 11 R2 - 11.2.0.3
    JDeveloper: 11.1.2.4
    Any assistance would be greatly appreciated.

    Hi User,
    out of sheer curiosity. Are you really using ADF 11.1.1.6 and JDeveloper 11.1.2.4 together? How does that work?
    Regards,
    Linda

  • 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????

Maybe you are looking for

  • How to fix errors when trying to erase an old external drive?

    I have an external drive I used to use on my windows machine, which I wanted to erase and start using on my mac. When I plugged it in to my windows laptop, the drive was there and I could access files. I plugged it into my iMac and again I could see

  • How to overwrite  the xml file by  flash using Php

    Hi i am creating getting data from the xml file ... and i am doing some Alteration in the xml file by flash after that flash producing the xml file i finished upto this process... nw i neeed to overwrite the xml file.... using Php..... can any one gi

  • Is there a size limit for the *.au files to be used in Java applet

    Hi, I wrote an applet to play,loop and stop au files but I couldn't get the sound out of it,it was working fine with a 64 kbyte au file but once I use a 900 kbyte file,it does not work.I was wondering whether is there a limit for the size of the audi

  • CRS Historical Reporting - printing failure !

    Hello All, I am getting consistent failures for my users when they try to print from UCCX 8.5 CRS Historical Reporting.  From document ID 108553, and other references, I have set the shared memory to 1 from default of 0 in hrcconfig.ini, still no joy

  • Audio Tracking Suddenly Off

    I'm experiencing a wierdness for the first time in iMovie. I am doing a final edit on a movie and noticing that my audio track has shifted slightly, enough to be noticeable. This was not happening a few weeks ago when I finished my last movie. I am m