4 Replies Latest reply: Apr 25, 2013 1:01 AM by Subramanian Meyyappan RSS

    Application Module Transaction in adf

    Subramanian Meyyappan
      hi folks .
      i h'd app. which runs of intregrated wls10.3.50 using jdev11r1
      i folded up with problem while checking application module
      <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
      javax.el.ELException: oracle.jbo.NotConnectedException: JBO-25200: Application module is not connected to a database.
           at com.sun.el.parser.AstValue.invoke(Unknown Source)
           at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
           at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
           at oracle.adf.view.rich.component.UIXDialog.broadcast(UIXDialog.java:97)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
           at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
           at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
           at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
           at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
           at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
           at java.security.AccessController.doPrivileged(Native Method)
           at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
           at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
           at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
           at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
           at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
           at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
           at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
           at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
      Caused by: oracle.jbo.NotConnectedException: JBO-25200: Application module is not connected to a database.
           at oracle.jbo.server.DefaultTxnHandlerImpl.handleCommit(DefaultTxnHandlerImpl.java:111)
           at oracle.jbo.server.DBTransactionImpl.doCommit(DBTransactionImpl.java:5142)
           at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2141)
           at oracle.jbo.server.DBTransactionImpl.commitAndSaveChangeSet(DBTransactionImpl.java:2386)
           at com.rits.suplr.view.backing.CrmAppIndex.SaveChangesDialogListener(CrmAppIndex.java:298)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
           ... 54 more
      <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #5
      javax.el.ELException: oracle.jbo.NotConnectedException: JBO-25200: Application module is not connected to a database.
           at com.sun.el.parser.AstValue.invoke(Unknown Source)
           at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
           at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
           at oracle.adf.view.rich.component.UIXDialog.broadcast(UIXDialog.java:97)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
           at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
           at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
           at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
           at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
           at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
           at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
           at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
           at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
           at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
           at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
           at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
           at java.security.AccessController.doPrivileged(Native Method)
           at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
           at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
           at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
           at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
           at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
           at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
           at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
           at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
           at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
           at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
      Caused by: oracle.jbo.NotConnectedException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25200
           at oracle.jbo.server.DefaultTxnHandlerImpl.handleCommit(DefaultTxnHandlerImpl.java:111)
           at oracle.jbo.server.DBTransactionImpl.doCommit(DBTransactionImpl.java:5142)
           at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2141)
           at oracle.jbo.server.DBTransactionImpl.commitAndSaveChangeSet(DBTransactionImpl.java:2386)
           at com.rits.suplr.view.backing.CrmAppIndex.SaveChangesDialogListener(CrmAppIndex.java:298)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
           ... 54 more
      for more info..
      am googled out this error. from the way i understood: problem with connection credentials that is exactly jdbc connection.
      it's seems to be fine As far As i Know.

      In my project i had index.jspx page and also am using dynamic regions (.jsff) things which i have make it out as perfect(i can do all operation in my project as I expected).

      problem is while checking the am is dirty or not in the indexpage.
          public Boolean SavePendingChanges() {
              BindingContext bc = BindingContext.getCurrent();
              ApplicationModule am = bc.getDefaultDataControl().getApplicationModule();
              return am.getTransaction().isDirty();
          } 
                  BindingContext bc = BindingContext.getCurrent();
                  ApplicationModule am = bc.getDefaultDataControl().getApplicationModule();
                  Transaction transaction = am.getTransaction();
                  transaction.commitAndSaveChangeSet()
      <?xml version = '1.0' encoding = 'UTF-8'?>
      <BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">
         <AppModuleConfigBag ApplicationName="x.x.x.model.xAM.xAM">
            <AppModuleConfig DeployPlatform="LOCAL" jbo.project="x.x.x.model.x" name="xAMLocal" ApplicationName="x.x.x.model.xAM.xAM">
               <Database jbo.locking.mode="optimistic"/>
               <Security AppModuleJndiName="x.x.x.model.xAM.xAM"/>
               <Custom JDBCDataSource="java:comp/env/jdbc/xDS"/>
            </AppModuleConfig>
            <AppModuleConfig DeployPlatform="LOCAL" jbo.project="x.x.x.model.x" name="xAMShared" ApplicationName="x.x.x.model.xAM.xAM">
               <AM-Pooling jbo.ampool.dynamicjdbccredentials="false" jbo.ampool.isuseexclusive="false" jbo.ampool.maxpoolsize="1" jbo.ampool.resetnontransactionalstate="false"/>
               <Database jbo.locking.mode="optimistic"/>
               <Security AppModuleJndiName="com.rits.suplr.model.xAM.xAM"/>
               <Custom JDBCDataSource="java:comp/env/jdbc/xDS"/>
            </AppModuleConfig>
         </AppModuleConfigBag>
      </BC4JConfig>
      so make you more clear make simple example using hr schema., using same code work's fine. i didnt cook anything special for this example.

      so what would reason.? am ran into this problem, In olden days work's fine. now I ran into this problem
        • 1. Re: Application Module Transaction in adf
          Frank Nimphius-Oracle
          Hi,

          don't think your code has to do wth this.

          <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
          javax.el.ELException: oracle.jbo.NotConnectedException: JBO-25200: Application module is not connected to a database.

          Apparently your database ran out of available connections which might happen if your database is shared with other users. If the dynamic region uses the same AM then this most likely is what causing the issue. If the dynamic region uses a different database connection (e.g. isolated data control setting on the task flow) then chances are the task flow requires a different connection that you have not sufficiently configured

          Frank
          • 2. Re: Application Module Transaction in adf
            dvohra21
            http://blog.csdn.net/yexianyi/article/details/7465611
            • 3. Re: Application Module Transaction in adf
              Subramanian Meyyappan
              hi frank,
              don't think your code has to do wth this.
              so, how do i make/correct my code snip "to check AM transaction dirty or not".

              Apparently your database ran out of available connections which might happen if your database is shared with other users.
              yes, my db is connected less than 100 users.

              If the dynamic region uses the same AM then this most likely is what causing the issue.
              all my Dynamic region are connected one AM.
              If the dynamic region uses a different database connection (e.g. isolated data control setting on the task flow) then chances are the task flow requires a different >connection that you have not sufficiently configured
              am not do like this "dynamic region uses a different database connection "..
              • 4. Re: Application Module Transaction in adf
                Subramanian Meyyappan
                anyhow, thanks for link.

                but it doesnt fullfill any information.
                Please check your bc4j files if they are getting generated correctly.
                how do i know,check bc4j file generating correctly. is there any checklist to cross check out???. i hope so ther would. please provide that
                This issue is ususally caused by Jdev bug.
                there is no jdev version......