Forum Stats

  • 3,740,549 Users
  • 2,248,272 Discussions
  • 7,861,322 Comments

Discussions

Performance Issues - LOV from SharedAM

Srini Mad
Srini Mad Member Posts: 631
edited Apr 5, 2018 7:35AM in JDeveloper and ADF

Jdev: 12.2.1.2

I am seeing an issue in our product where one of the LOV items responds really slow. This is not reproducible in lower environments.

The LOB is populated using a list binding based on a view accessor on a Shared Application Module View Instance. The code for View Accessor in View Object is as below (note that RowLevelBinds=false).

   <ViewAccessor      Name="DepartmentVA"      ViewObjectName="com.myComp.app.model.vo.DepartmentView"      AMUsageName="MySharedAppModuleAppInstance"      ViewInstanceName="DeparmentVO"      RowLevelBinds="false"/>

We are detecting this slowness in App Dynamics monitoring that shows that this one lov has taken 47.8 seconds due to a wait on thread.

  FacesServlet.service:651(107 ms self time, 47904 ms total time)   EmployeeVORowImpl.getAttrInvokeAccessor:1508(0 ms self time, 47496 ms total time)    EmployeeVORowImpl$AttributesEnum$61.get:629(0 ms self time, 47496 ms total time)     EmployeeVORowImpl.getDepartmentVA:1487(0 ms self time, 47496 ms total time)      Object.wait:Unknown (47496 ms self time, 47496 ms total time)

I have searched the code exhaustively and ensured that this shared app module VO instance is not being iterated upon manually and is being accessed only via List of Values in View Objects.

Any suggestions on how this can be debugged or any pointers? Is "SharedInstance" property on the View Accessor useful in this regard or could this be

Tagged:

Answers

  • Timo Hahn
    Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 37,230 Red Diamond
    edited Apr 5, 2018 7:35AM

    From the description, I would say: yes.

    It's a small change which you can easily test.

    The only other way I see is to dig deeper into the timing, e.g. by setting the log level to finest. This should get you more output with more timings. I hope you'll find the part of the code which causes the loss of time.

    Timo


This discussion has been closed.