Skip to Content
author's profile photo
Former Member

URGENT:iview Server caching issues.

Hi,

IÂ Â have created a master java iview that displays a table. The iview uses table view model and a bean that has a session scope. I have 12 such iviews in a page. In order to improve the performance, I am using iview server caching for all the iviews in the page.

The following are the settings in the load tab.

1.cache iviews to improve performance.

Interval 8 hrs

Load cache timeout 20 secs

2.Use isolation level 3.

The problem I am facing is after some time say(3 hrs) when I go the page, I see all the iviews. When I try to scroll the table by page  I get the following error.

r An exception occurs during the component rendering

i Component name: com.ray.dom.gen.master.links.default ...

i The exception stack has been logged ... please inform the administrator

show detail <javascript:void(0);>

com.sapportals.portal.prt.component.PortalComponentException: Original exception: java.lang.IllegalArgumentException: Tag tableView attribute model: Cannot access bean property myBean.sampleModel in page context  at pagelet._sapportalsjsp_URL.doContent(_sapportalsjsp_URL.java:223) at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:127) at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:363) at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:1705) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:373) at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:246) at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76) at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:102) at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:139) at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:127) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198) at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:231) at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:475) at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291) at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198) at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:483) at com.sapportals.portal.prt.portalconnection.sapnative.DelegatedPlugIn.handleRequest(DelegatedPlugIn.java:725) at com.sapportals.portal.prt.portalconnection.sapnative.PortalPlugIn.handleRequest(PortalPlugIn.java:132) at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:635) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:136) at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:856) at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:598) at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:260) at com.inqmy.services.httpserver.server.Response.handle(Response.java:164) at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:909) at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36) at com.inqmy.core.cluster.impl3.ParserRunner.run(ParserRunner.java:30) at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46) at java.security.AccessController.doPrivileged(Native Method) at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:132)

From the error it seems like, my bean has been garbage collected, and I can no longer acccess the bean. When I hit on the refresh in the iview tab everything  works fine.

How exactly does the caching mechanism of the iview server work? Does it allow the bean to be garbage collected  when it is not referenced ?

Any help to fix this problem will be highly appreciated.

Lakshmi

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • author's profile photo
    Former Member
    Dec 05, 2003 at 06:38 PM

    Hi Lakshmi Raman:

    Your page containing 12 iviews and using caching for that is clearly not an easy task, I believe. Apart from this, did you thought about using bean in the Application scope, unless there is a specific purpose for using it in the session scope ? Usually we use beans to transfer data between 'Controller' object i.e., JSPDynPage and the view - JSP page. So, in such case beans are best put in the 'Application' scope. You probably know this already. Also, you may check for the 'session time out' which if extendable, can solve your problem !!!

    My two cents...

    Prasad Nutalapati

    Add comment
    10|10000 characters needed characters exceeded