Wicket
  1. Wicket
  2. WICKET-5422

ComponentRenderer.renderComponent() adds a page to DataStore

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.12.0
    • Fix Version/s: 6.13.0, 7.0.0-M1
    • Component/s: wicket
    • Labels:
      None

      Description

      I'm using ComponenetRenderer withing CustomTooltipBehavior (wicket-jquery-ui) to generate tooltip content. I add this to about 50 rows in my table so I run renderComponent() method as many times.
      All worked fine but there was a problem with performance when I used Fragment component with markup attached to the WebPage. I did some digging and finally checked http://localhost:8080/context/wicket/internal/debug/diskDataStore and it appeared that for one request, Wicket stores 51 pages in it. All of the size of the whole page (about 300kB) and all of them named org.apache.wicket.core.util.string.ComponentRenderer$RenderPage.

      I changed implementation from Fragment to Panel componenet and the size was reduced to (1kB) but still all of these items were stored in the DataStore.

      It seems that this method is creating a dummy page in order to create the markup, but how can I avoid storing these pages?

        Activity

        Mateusz Mieszkowski created issue -
        Martin Grigorov made changes -
        Field Original Value New Value
        Resolution Fixed [ 1 ]
        Fix Version/s 7.0.0 [ 12322958 ]
        Fix Version/s 6.13.0 [ 12325564 ]
        Assignee Martin Grigorov [ mgrigorov ]
        Status Open [ 1 ] Resolved [ 5 ]

          People

          • Assignee:
            Martin Grigorov
            Reporter:
            Mateusz Mieszkowski
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development