Application Module - No Trx Please

OK, so I have an application module with a bunch of ViewObjects and ViewObjectLinks and no entity objects. All ViewObjects are defined with SQL queries. I use this application module in Stateless mode using BC4J JSP tags only.
Once in awhile (maybe 4 times a day), we get a stack trace like below. The person is "stuck" after it happens the first time - as if they are hanging onto an appmod reference with a stale JDBC connection. That'd be OK except it looks like it's trying to do a rollback using this stale connection before it releases it and grabs a new app mod from the pool. Why is it doing a rollback? I have nothing in the code that implies any updating is going on. Can I use an application module with no implicit trx? It looks possible to do this with Stateful mode, but I don't want to use that unless it's necessary.
JBO-30003: The application pool (com.cxtec.itemsearch.db.ItemSearchAppMod.ItemSearchAppModLocal) failed to checkout an application module due to the following exception:
oracle.jbo.DMLException: JBO-26066: Error during rollback.
     at oracle.jbo.server.DefaultTxnHandlerImpl.handleRollback(DefaultTxnHandlerImpl.java:153)
     at oracle.jbo.server.DBTransactionImpl.doRollback(DBTransactionImpl.java:3657)
     at oracle.jbo.server.DBTransactionImpl.rollback(DBTransactionImpl.java:1826)
     at oracle.jbo.server.ApplicationModuleImpl.resetState(ApplicationModuleImpl.java:3156)
     at oracle.jbo.server.ApplicationModuleImpl.resetState(ApplicationModuleImpl.java:3145)
     at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:3971)
     at oracle.jbo.server.DBTransactionImpl2.disconnect(DBTransactionImpl2.java:306)
     at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:4108)
     at oracle.jbo.common.ampool.DefaultConnectionStrategy.disconnect(DefaultConnectionStrategy.java:328)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.disconnect(ApplicationPoolImpl.java:2979)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.recycleUnreferencedInstance(ApplicationPoolImpl.java:1586)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1386)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2062)
     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
     at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:193)
     at jrun__itempage2ejspd._jspService(jrun__itempage2ejspd.java:61)
     at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPServlet.java:43)
     at jrun.jsp.JSPServlet.service(JSPServlet.java:110)
     at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
     at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
     at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:226)
     at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
     at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:198)
     at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451)
     at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
## Detail 0 ##
java.sql.SQLException: This Connection has either timed out or been closed, and it has returned to its pool. You must re-acquire the Connection.
     at jrun.sql.JRunConnectionHandle.assertConnectionExists(JRunConnectionHandle.java:50)
     at jrun.sql.JRunConnectionHandle.rollback(JRunConnectionHandle.java:107)
     at oracle.jbo.server.DefaultTxnHandlerImpl.handleRollback(DefaultTxnHandlerImpl.java:139)
     at oracle.jbo.server.DBTransactionImpl.doRollback(DBTransactionImpl.java:3657)
     at oracle.jbo.server.DBTransactionImpl.rollback(DBTransactionImpl.java:1826)
     at oracle.jbo.server.ApplicationModuleImpl.resetState(ApplicationModuleImpl.java:3156)
     at oracle.jbo.server.ApplicationModuleImpl.resetState(ApplicationModuleImpl.java:3145)
     at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:3971)
     at oracle.jbo.server.DBTransactionImpl2.disconnect(DBTransactionImpl2.java:306)
     at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:4108)
     at oracle.jbo.common.ampool.DefaultConnectionStrategy.disconnect(DefaultConnectionStrategy.java:328)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.disconnect(ApplicationPoolImpl.java:2979)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.recycleUnreferencedInstance(ApplicationPoolImpl.java:1586)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1386)
     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2062)
     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
     at oracle.jbo.html.jsp.datatags.ApplicationModuleTag.doStartTag(ApplicationModuleTag.java:193)
     at jrun__itempage2ejspd._jspService(jrun__itempage2ejspd.java:61)
     at jrun.jsp.runtime.HttpJSPServlet.service(HttpJSPServlet.java:43)
     at jrun.jsp.JSPServlet.service(JSPServlet.java:110)
     at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
     at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
     at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:226)
     at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:527)
     at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:198)
     at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:451)
     at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

It is not possible to prevent the BC4J rollback. However, I believe that you are running into a known 9.0.3 issue. Please install metalink patch 2705796 and see if it resolves the issue.
Another workaround is to enable JDBC connection release upon ApplicationPool release (-Djbo.doconnectionpooling=true).
Hope this helps,
JR

Similar Messages

  • Disabled property: enable two Application Module functions

    I am using jdeveloper 11.1.1.5 and problem I am facing is:
    I want to call two different Application Module functions on one button click. Button is existing on .jspx. For that purpose I have to use Disabled property of button to enable the Application Module functions. Please tell me how to enable both of the functions by using the Disabled property of button.
    Thanks,
    Regards
    Muddasar Amin

    Hi Ashwin,
    Is this the problem only with Application module methods? Can you try with managed bean methods?
    Also, do you have this commandButton enclosed within <af:form>/<af:subform> ?
    Regards,
    Ansh

  • Required application module reporting.HRRunDlg is not configured. Please co

    Hi,
    I did the 9.3.1 REPORTING ANANLYSIS installation and then applied 9.3.3 patches,
    when i am trying to use reports in workspace it is throwing the below error:
    Required application module reporting.HRRunDlg is not configured. Please contact your administrator.
    I tried restaring and rebooting ,killing java.exe services, still it givng the error, it is bit urgent,
    Can some one please respond on this?
    Thanks,
    msr.

    That usually means either FR is not running or the Web Server is having trouble connecting.
    Do either of these links work:
    Direct
    http://frserver:8200/hr/modules/com/hyperion/reporting/web/common/HRCore.js
    Through web server:
    http://websvr:19000/hr/modules/com/hyperion/reporting/web/common/HRCore.js
    If neither work - then check the FR logs
    If 8200 works and not 19000 you might try reconfiguring your web server using the config utility. And check the web server configuration.
    Nick

  • 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 configure Application module pooling?

    I want to know wheather bc4j container itself manages Application module pooling if yes then please tell me is there any file to set parameters for congiguration like one which we have for apache web server.
    If no then please let me know how to create applicatiom module pooling.
    Thanks in advance.

    Application module pooling is configurable through an application module configuration. In order to edit an application module configuration you may right click an application module and select Configurations...
    The BC4J data web beans and the BC4J JSP datatags are both application pool clients. The BC4J documentation includes descriptions of the application pool properties. The documentation also includes a code sample which illustrates how to write your own pool client.

  • Displaying a photo obtained from SAP R/3  in a Web Application Module

    Hi,
    I am currently developing a Web Application Module (through NWDS) which displays details of employees (name, last name, picture, etc...) obtained from a RFC function module called remotely through SAP JCA connector.
    I could obtain the picture passed through the RFC module, but now I need to displayed in a JSP page. I first start to look for a service which allows me to upload the picture to an application server cache as I have already done with
    IWDCachedWebResource
    in Web Dynpro development, but could not find anything alike. Then I tried to upload the picture to a relatively referenciable (Web Application) path, that I can use as a source for the IMG HTML tag, but I am just able to save the picture at the root directory of the application server (/usr/sap/SID/JC00/j2ee/cluster/server0) and this path can not (and must not) be referenced through my application JSP.
    Please any help or workaround will be gladly welcome
    Best regards,
    Jonathan

    Ravi,
    We have tried the same from SOAP UI client also and it is not working,
    same result as PI. But I repeat the Service is working from DOTNET applications.
    If it is not working in SOAP UI then it will not work in PI also. I suggest you to re-import the WSDL in you .net application and check.
    Regards,
    Ramesh

  • Error: demo.model.AppModule: Application module demo.model.AppModule has a view instance EmpByEmail1 that references an invalid view object.

    Error: demo.model.AppModule: Application module demo.model.AppModule has a view instance EmpByEmail1 that references an invalid view object.
      intially i created view object named EmpByEmail.........for that EmpByEmail1 is created in datacontrols....i deleted EmpByEmail in demo.model by mistake and i created again with same name EmpBYEmail another view object...again another EmpByEmail2 is created in datacontrols.....
    while i am running i am getting following error:::::::
    Error: demo.model.AppModule: Application module demo.model.AppModule has a view instance EmpByEmail1 that references an invalid view object.

    Hi,
        Please seasrch for the EmpByEmail1 file in ur project and remove all the details in the Page Def and UI and then try again.
    Due to the EmpByEmail1 existance in page Def this may occur . It may help , still if it was not working then I am sorry for that.

  • Creating an application module in a Java class

    Hi everyone,
    I'm trying to create an application module from a normal Java class where I don't have access to any HttpSession objects.
    I tried to use the method in the documentation
    appMod = Configuration.createRootApplicationModule(
                        "full.class.Name",
                        "ConfigurationName");
    It's not working though, complaining that it can not find the configuration file which it's trying to locate at full/class/common/bc4j.xcfg.
    This file exists at the same path in the BC4J project which this project has a dependency on in the Project Settings dialog.
    Is this the right way to create an application module? Can someone please provide a reference to an example.
    Thanks

    Thanks Frank, but this example is about a stand-alone application, my problem occurs with an application hosted on the application server.
    I did more experiments and came up with some ideas but unfortunately, I hit a dead end.
    I thought that in order to work around the fact that I cannot set the class loader of the timer, I could change the class loader of the running thread before I create the timer as follows:
    Thread.currentThread().setContextClassLoader(
              this.getClass().getClassLoader());
    I thought this would give me a SecurityException for sure, but strangely enough it worked perfectly.
    Now, all I needed was to move this code from the JSP to my listener. Unfortunately, it didn't work in the listener, also a test that I did in the JSP to make sure that the classloader before and after the above statment is different, showed that in the listener, the classloader of the thread is the same as the one used to load the listener class:
    System.out.println(Thread.currentThread().getContextClassLoader()
              .equals(this.getClass().getClassLoader()));
    I thought, maybe this is a listener thing, but if I do it in the init() method of a servlet that I could specify to load on startup, it could work, but still, it didn't.
    I cannot understand, why is it that the only correct class loader is the one used to load the compiled JSP class?!
    Does anyone have any other ideas?
    Thanks

  • Fails to check out an application module error calling web service

    I am using the ServiceFactory code to invoke the TerritoryProposalPublicServiceImpl.findProposals web service method. Weird thing is it invokes the service method for the first time, second time it throws the following error. Please help
    Jul 20, 2011 11:43:59 AM oracle.jbo.client.svc.Proxy invoke
    SEVERE:
    java.lang.reflect.InvocationTargetException
    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)
    at oracle.jbo.client.svc.Proxy.invoke(Proxy.java:64)
    at oracle.jbo.client.svc.ADFProxyInvocationHandler.invoke(ADFProxyInvocationHandler.java:54)
    at $Proxy38.findProposals(Unknown Source)
    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)
    at oracle.jbo.client.svc.ServiceProxyInvocationHandler.invoke(ServiceProxyInvocationHandler.java:58)
    at $Proxy39.findProposals(Unknown Source)
    at oracle.apps.sales.territoryMgmt.territoryImport.model.Importer.getProposalFromTarget(Importer.java:439)
    at oracle.apps.sales.territoryMgmt.territoryImport.model.Importer.main(Importer.java:76)
    Caused by: javax.ejb.EJBException: EJB Exception: ; nested exception is:
    oracle.jbo.service.errors.ServiceException: JBO-30003: Application pool oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.TerritoryProposalPublicService fails to check out an application module due to the following exception:: null; nested exception is: oracle.jbo.service.errors.ServiceException: JBO-30003: Application pool oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.TerritoryProposalPublicService fails to check out an application module due to the following exception:: null
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:121)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:96)
    at $Proxy48.findProposals(Unknown Source)
    ... 15 more
    Caused by: oracle.jbo.service.errors.ServiceException: JBO-30003: Application pool oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.TerritoryProposalPublicService fails to check out an application module due to the following exception:: null
    at oracle.jbo.service.errors.ServiceExceptionHelper.extractServiceException(ServiceExceptionHelper.java:612)
    at oracle.jbo.server.svc.ServiceImpl.extractServiceException(ServiceImpl.java:1014)
    at oracle.jbo.server.svc.ServiceImpl.find(ServiceImpl.java:2399)
    at oracle.jbo.server.svc.ServiceImpl.find(ServiceImpl.java:2323)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl.findProposals(TerritoryProposalPublicServiceImpl.java:138)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.jbo.server.svc.ServiceContextInterceptor.removeCurrentADFContext(ServiceContextInterceptor.java:96)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.jbo.server.svc.ServiceContextInterceptor.removeCurrentADFContext(ServiceContextInterceptor.java:96)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:94)
    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.ejb.JpsAbsInterceptor.runJaasMode(JpsAbsInterceptor.java:81)
    at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:112)
    at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy222.findProposals(Unknown Source)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl.findProposals(Unknown Source)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Exception in thread "main" oracle.jbo.service.errors.ServiceException: JBO-30003: Application pool oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.TerritoryProposalPublicService fails to check out an application module due to the following exception:: null
    at oracle.jbo.service.errors.ServiceExceptionHelper.extractServiceException(ServiceExceptionHelper.java:612)
    at oracle.jbo.server.svc.ServiceImpl.extractServiceException(ServiceImpl.java:1014)
    at oracle.jbo.server.svc.ServiceImpl.find(ServiceImpl.java:2399)
    at oracle.jbo.server.svc.ServiceImpl.find(ServiceImpl.java:2323)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl.findProposals(TerritoryProposalPublicServiceImpl.java:138)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.jbo.server.svc.ServiceContextInterceptor.removeCurrentADFContext(ServiceContextInterceptor.java:96)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.jbo.server.svc.ServiceContextInterceptor.removeCurrentADFContext(ServiceContextInterceptor.java:96)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
    at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:94)
    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.ejb.JpsAbsInterceptor.runJaasMode(JpsAbsInterceptor.java:81)
    at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:112)
    at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105)
    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)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy222.findProposals(Unknown Source)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl.__WL_invoke(Unknown Source)
    at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl.findProposals(Unknown Source)
    at oracle.apps.sales.territoryMgmt.territories.territoryService.applicationModule.server.TerritoryProposalPublicServiceImpl_wqbnfu_TerritoryProposalPublicServiceImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
    at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    Hi Frank,
    This is the service impl class TerritoryProposalPublicServiceImpl for our product's application module "TerritoryProposalPublicServiceAM".
    I added a new service method in this AM. I am using ServiceFactory class to call this method "findProposals()", first time when i run the code it invokes the service correctly, second time it fails throwing this errors.
    I found the place where it is getting exception, these are all frame works classes
    ServiceImpl.invokeCustom() -> calls acquireResources() method -> Calls ServiceConfiguration.getRootApplicationModule(this.getApplicationModuleDefName(), this.getConfigurationName()); -> Calls getApplicationModule()
    Exception is thrown from the line in bold
    Properties props = SDOValueStoreHelper.INSTANCE.getAppModuleSessionProperties();
    props.put(ServiceSessionImpl.SESSION_APPMODULE_NAME, pool.getName());
    props.put(ServiceSessionImpl.SESSION_TRANSACTION_ID, id);
    SessionCookie sess = pool.findOrCreateSessionCookie(id, id, props);
    sess.setEnvInfoProvider(envInfo);
    SDOValueStoreHelper.INSTANCE.setSessionEnv(sess);
    sess.setEnvironment(ServiceSessionImpl.SESSION_APPMODULE_NAME, pool.getName());
    sess.setEnvironment(ServiceSessionImpl.SESSION_TRANSACTION_ID, id);
    appModule = sess.useApplicationModule();
    //bug9215734,
    appModule.getTransaction().setBundledExceptionMode(true);
    Please see if you can figure out why sess.useApplicationModule() not able to find application module.

  • Finding Application Module name in read-only view object classes

    Hi all,
    I have a fairly basic question about finding application module name when we are coding in ViewObject java classes.
    I want to know how can I obtain <<application module>> NAME that our current view object is contained in it at run-time. I think there should be a way to find current application module NAME, when we are in ViewObject classes including View Object, View Row or view object definition classes (I've overridden all mentioned classes).
    I should notify that since our view object is read-only I may not count on view object's entity classes, coz as you know a read-only view object don't have any entity in it!
    So, if you have any idea about finding current application module name in view object java classes please let me know.
    Appreciate for your replies,
    Nasser

    Thanks guy, it was helpful:)
    Now i can access application module name through viewObject classes.
    But another question is raised...sorry if i m boring:( I promise its the final question ;)
    Is there a way to get application module name in an extended version of JboException class?
    Thanks again for your reply:)
    Nasser

  • Application Module's "query-on-commit"  flag

    Hi All,
    Can you please guide how to set Application Module's "query-on-commit" flag as on/off.

    You'll want to create a method in your application module class that will expose your reporting functionality. You can do this by:
    1. Selecting your AppModule.
    2. Opening AppModuleImpl.java
    3. Creating a method to expose the necessary reporting services.
    4. You'll then need to make this method accessible by opening AppModule editor and clicking on "Client Interface". Shuttle your method to the "Selected" side.
    In the method you create in AppModule.java, pass the module (this) into your report class. You can then perform any actions you with such as querying VO's, updating, etc.
    Finally, for your view/controller layer you'll want to call the newly added methods in your AppModule class instead of calling your reporting classes directly. This will make your code cleaner and easier to maintain as well and also control (encapulate) the reporting services you want to expose to others.
    Hope that helps.

  • Application Module - Commit Transactions

    Hi, I have implemented a way to identify a foreign key, in the view object edit page, and put a lov beside it. When the user puts some invalid value in the foreign key field it validates the field and back to the edit page. But now I want to put another button beside the foreign key that allow the user to insert an entity of the foreign key view object type.
    For example:
    I have a sales page that have the following fields: code_sales, total_price, prod_id(foreign key), date... The user can choose a product from the LOV beside it or puts a prod_id directly on the field . Once the user has putted a invalid prod_id(a prod_id that does not exist on the product table) the system alerts the user indicating what field has generated the error and the user has the option to insert a new product or choose another product. If the user has choosen to insert a new product the system opens the product view object edit page and inserserts a new product. The problem is that when I insert and commit the product information it generates an error becouse the sales row is not valid. How can I insert the product in a independent way. Maybe I should open a new Application Module.
    Please, what can I do?
    Thanks in advance,
    Junior

    It does not work. I have tryed to insert the row in the Product's VO but the Product I have just inserted does not appears int the Product's LOV.
    Here is the code I have tryed:
    <jbo:Row id="myrowNew" datasource="ds" rowkeyparam="jboRowKey" action="updateNewRow" />
    <%
    TmsProductViewRowImpl viewRowImpl = (TmsProductViewRowImpl)myrowNew;
    TmsProductViewImpl vo = (TmsProductViewImpl) viewRowImpl.getViewObject();
    vo.insertRow(myrowNew);
    %>Junior:
    The above code looks to me that you are inserting row back in the Product VO, not Products LOV VO. If I undestand your app correctly, we have two VOs: ProductVO which you're using to create a new Product and ProductLOVVO which you're using to build the LOV.
    Your myrowNew is one created and inserted by ProductVO. Your "vo.insertRow(myrowNew)" will end up inserting myrowNew twice into ProductVO (which you wouldn't want). Instead, you want to insert myrowNew into ProductLOVVO. Assuming that named of the Product LOV VO is ProductLOVVO, you would want to change the code snippet above to something like the following:
    <jbo:Row id="myrowNew" datasource="ds" rowkeyparam="jboRowKey" action="updateNewRow" />
    <%
        TmsProductViewRowImpl viewRowImpl = (TmsProductViewRowImpl)myrowNew;
        // Replace "ProductLOVVO" with the appropriate Product LOV VO's name
        ViewObject productLOVVO = viewRowImpl.getViewObject().getApplicationModule().findViewObject("ProductLOVVO");
        productLOVVO.insertRow(myrowNew);
    %>Thanks.
    Sung

  • "Application module  is not a root app module but has no parent"

    This is to follow up on my answered question on rootAN substitution
    Re: "login session has expired" after am substitution
    I am working on an OAF extension.
    I have a new LOV region. I extended (to be substituted) the seeded VO, call it xxVO. And I have three custom methods using this xxVO that are called from processFormRequest of my controller which extends the seeded controller.
    So putting these methods in rootAM and AM substitution didn't work as some folks pointed out.
    So I created xxAM (extends root AM), put xxVO in xxAM’s data model and put my methods in xxAM, set this xxAM as AMDefinition for my custom LOV region.
    In my controller I do
    OAApplicationModule xxAM = new xxprg.oracle.apps.icx.por.req.server.xxprgRequisitionAMImpl();
    But I am getting
    => oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidOwnerException: JBO-25301: Application module is not a root app module but has no parent
    at
    xxAM.invokeMethod("handleChangeRequester", parameters);
    I found a few posts on the same topic. One advise was to not instantiate ‘new’ AM but do something like this
    Xo2cAcctOviewExtAMImpl amExt = (Xo2cAcctOviewExtAMImpl )pageContext.getApplicationModule(webBean);
    In this example I am confused about the fact that ‘getApplicationModule(webBean);’ which is used in the signature of the processFormRequest will return a ‘rootAM’, is this correct?
    There was another workaround mentioned in other posts to not use xxAM at all but build a class to mimic an xxAM passing all needed values that custom methods require. In which case how(or better where) do I instantiate xxVO since now xxVO won’t be part of any AM data model?
    Can someone please clarify.
    Thank you
    Anatoliy

    Pratap,
    Thank you for the response.
    The reason I need to use new xxCO on the page is this.
    Seeded page CheckoutLinesPG.
    It has advanced table on it where every column has it's one external region.
    The new LOV region xxRN is put on a page also under this table new column.
    1. When a requester (seeded region on the seeded page) is changed then my xxLOV should reflect the change and be populated according to what is selected in the Requester LOV.
    2. When one-time address is added (another seeded region on the seeded page) my xxLOV should be disabled, when one time address taken out - enabled again.
    So xxCO should apply to the whole page.
    The VO behind advanced table PoRequisitionLinesVO is extended with 2 additional attributes and will substitute, the new xxVO is under xxAM data model.
    All works fine with my methods in the seeded RequisitionAM which I get a handle to in the xxCO. But I don;t know how to get the handle to the xxAM if I put my methods there.
    Thanks,
    Anatoliy
    P.S. just fyi - I know it is not the recommended approach but what I did for now I put all calls into the controller - in the controller I can get a handle to root AM, through that I am getting a handle to xxVO which (!) is substituted during runtime with my xxVO. But if you can figure out how to get a handle to xxAM in my case it will be great.
    Edited by: asmirnov on Mar 24, 2009 2:04 PM

  • Application module creation for (web) services

    Hello,
    We are running into stack overflows from ADF BC (BC4J) with oracle.jbo.client.Configuration.createRootApplicationModule. We want to make sure we're doing this right.
    If you have data bound services (e.g. product lookup) and you don't want to put your operation/exposed method in the application module Impl class for clear seperation (unlike ADF toy store sample), is it appropriate to:
    1. Create a Java service class that you will expose as J2EE web service
    2. The method to be exposed will call Configuration.createRootApplicationModule to checkout an app module from pool.
    3. Find the view object, run the query, get the row.
    4. Configuration.releaseRootApplicationModule to check it back in.
    Please share your best practices and recommended approach with us.
    Thanks,
    - Zak

    I'd recommend using our built-in feature for exposing an application module class as a J2EE web service. This will code-generate a class for you that does the AM access correctly.

  • Can not extend an application module

    I have been trying to extend an application module in AP. At first when I created the new am and clicked on the extends button the window did not include any of the payment modules, just the ones from the tutorial. I tried a bunch of things to get the payments module (PsrAM) to appear in the window. I finally changed the path for an application module in the Base Classes screen to oracle.apps.ap.payments.psr.server.PsrAMImpl. Now it appears in the window for selection however, when I select it I get the message: Unable to extend from this object. Application Module oracle.apps.ap.payments.psr.server.PsrAM has an invalid view instance TemplateFullVO1. The code was copied right from the server and I can run the application in jDeveloper so I doubt that it is actually invalid.
    First was I right in changing the base classes to point to it? And if I should not have done that then how do I get the am to appear on the screen to extend from.
    Second, do I need to fix that before I worry about the error message?
    Glad for any help you can give me.

    Dennis
    1) when you try to extend any file you should get the calls files from sever which releated to your extend file and also placed in your jdev myclass folder.
    2) in myprojects folder create your custom path placed your java files (which you get class files from server you need to convert to java those files need to place).
    then you falow the steps bellow.
    - Identify the requried AM for extension
    - download all the requried class & xml files from server
    - configure the JDev in local PC for extension
    - create new AM, which extends the existing AM
    - do the requried changes in AM java file. (Override the methods in new AM for functionality change)
    - specify the subtution for new AM & existing AM in project .jpx file
    - compile the newly created java files to class files
    - copy .class & .xml files back to server as per the package strecture
    - import the .jpx file to server MDS repository
    - test changes
    please let me know if any required.
    Regards,
    Chandra

Maybe you are looking for

  • How to modify F4 help of one parameter based on the value of another?

    Hi, My Query is as follows: I have 3 select-options / parameters on the selection screen. If I enter some value in the first parameter the values in the second parameter should reflect accordingly. For example: The 3 selection-screen parameters are:

  • String to date not converted correctly

    Hello, Why am I getting the following error message when i beleive i have formatted the variable date to be in 'MM/dd/yyyy' format? Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Err_Date = Sat Dec 12 00

  • Message type ,IDOC TYPE , PROCESS CODE for Edi 990

    Hi , Please provide the Message type ,IDOC TYPE , PROCESS CODE for Edi 990 (Response to a Load Tender). Thanks in Advance. Ajay Kolla

  • Flatten transparency

    Hi everyone, I have a diagram created in Illustrator CS5. It has transparency applied so that new colors are created where shapes intersect. I need to place this diagram into Indesign but I'd like the transparency to be flattened, ie. so that I'm sti

  • IPod Touch 2nd gen in recovery mode after trying to update to OS 4.0

    I was trying to update and the usual auto backup came on when you update not the sync iPod one and it was backing up then had an error and sent the iPod into recovery mode I can't get it back out. Tried all the button tricks. What to do?