Monday, November 10, 2014

JBO - 29115 - App Module name mismatch and same path of the package


These exception comes on the below mentioned scenario and solution given below

JBO-29115 Unable to construct the error message due to error java.lang.ClassCastException: oracle.jbo.server.StringManagerImpl

JBO-33005: Configuration TestAppModuleLocal is not found.}
 at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:529)


 Scenario: This issue comes randomly in the deployed application in server.  It will be fine after server restart/bouncing.

JBO – 33005 – this will usually comes when there is mismatch in the AppModule Name in Databindings.cpx and bc4j.xcfg

JBO – 29115 – We don’t know when this issue is coming?

Solution:
 (Change the path of AM in two different Model project. Make sure package its not unique)
Two ADF view controller or ADF BC model projects with same package structure for one single application is not a supported source structuring. In your case, bc4j.xcfg is stored in <package>/common folder for both projects which will cause one to override the other. 

Change package for either of the model solved the problem.

Below is the stack trace for reference for the above exceptions,

Error 500--Internal Server Error

oracle.jbo.JboException: JBO-29115 Unable to construct the error message due to error java.lang.ClassCastException: oracle.jbo.server.StringManagerImpl. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-29000. Error message parameters are {0=oracle.jbo.ConfigException, 1=JBO-33005: Configuration TestAppModuleLocal is not found.}
 at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:529)
 at oracle.adf.model.bc4j.DCJboDataControl.findApplicationPool(DCJboDataControl.java:572)
 at oracle.adf.model.bc4j.DCJboDataControl.initializeSessionCookie(DCJboDataControl.java:396)
 at oracle.adf.model.bc4j.DCJboDataControl.initializeJboSession(DCJboDataControl.java:310)
 at oracle.adf.model.bc4j.DataControlFactoryImpl.createSessionInternal(DataControlFactoryImpl.java:220)
 at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:130)
 at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:167)
 at oracle.adf.model.BindingContext.instantiateDataControl(BindingContext.java:1056)
 at oracle.adf.model.dcframe.DataControlFrameImpl.doFindDataControl(DataControlFrameImpl.java:1566)
 at oracle.adf.model.dcframe.DataControlFrameImpl.internalFindDataControl(DataControlFrameImpl.java:143
8)
 at oracle.adf.model.dcframe.DataControlFrameImpl.findDataControl(DataControlFrameImpl.java:139
8)
 at oracle.adf.model.BindingContext.internalFindDataControl(BindingContext.java:1189)
 at oracle.adf.model.BindingContext.get(BindingContext.java:1139)
 at oracle.adf.model.binding.DCParameter.evaluateValue(DCParameter.java:82)
 at oracle.adf.model.binding.DCParameter.getValue(DCParameter.java:111)
 at oracle.adf.model.binding.DCBindingContainer.getChildByName(DCBindingContainer.java:2713)
 at oracle.adf.model.binding.DCBindingContainer.internalGet(DCBindingContainer.java:2761)
 at oracle.adf.model.binding.DCExecutableBinding.get(DCExecutableBinding.java:115)
 at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:304)
 at oracle.adf.model.binding.DCBindingContainer.evaluateParameterWithElCheck(DCBindingContainer.java:145
8)
 at oracle.adf.model.binding.DCBindingContainer.findDataControl(DCBindingContainer.java:158
8)
 at oracle.adf.model.binding.DCIteratorBinding.initDataControl(DCIteratorBinding.java:2472)
 at oracle.adf.model.binding.DCIteratorBinding.getDataControl(DCIteratorBinding.java:2416)
 at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3069)
 at oracle.adf.model.binding.DCBindingContainer.refreshControl(DCBindingContainer.java:290
8)
 at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2895)
 at oracle.adfinternal.controller.util.model.DataBindingActivityImpl.beforeExecute(DataBindingActivityImpl.java:109)
 at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:1016)
 at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:921)
 at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:820)
 at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:243)
 at oracle.adfinternal.controller.application.RemoteTaskFlowCallRequestHandler.invokeTaskFlowByUrl(RemoteTaskFlowCallRequestHandler.java:99)
 at oracle.adfinternal.controller.application.RemoteTaskFlowCallRequestHandler.doCreateView(RemoteTaskFlowCallRequestHandler.java:64)
 at oracle.adfinternal.controller.application.BaseRequestHandlerImpl.createView(BaseRequestHandlerImpl.java:57)
 at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.createView(ViewHandlerImpl.java:95)
 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:763)
 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:375)
 at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)


1 comment:

  1. This is very informative and interesting for those who are interested in blogging field. Great blog and couldn’t be writing much better!
    Oracle Fusion HCM Technical Training

    ReplyDelete