Wicket
  1. Wicket
  2. WICKET-4034

calls to ResourceStreamLocator.locate() are causing serious performance issues when locating wicket resources

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: 1.5-RC7
    • Fix Version/s: None
    • Component/s: wicket
    • Environment:
      Linux MInt 11 Katya, JDK 1.6.0_26

      Description

      Calls to ResourceStreamLocator.locate() method for wicket resources (check bellow for searched resources) is causing serious performace issues.

      Resources searched:
      org/apache/wicket/markup/html/wicket-event_en_US.js
      org/apache/wicket/markup/html/wicket-event_en.js
      org/apache/wicket/markup/html/wicket-event.js
      org/apache/wicket/ajax/wicket-ajax_en_US.js
      org/apache/wicket/ajax/wicket-ajax_en.js
      org/apache/wicket/ajax/wicket-ajax.js

      Check quickstart for example (check log):
      run command: "mvn clean jetty:run" to see original performance (on my machine home page renders in 239 ms)
      run command "mvn -Dworkaround=true clean jetty:run" to see the performance with workaround (on my machine home page renders in 60ms)

        Activity

        Hide
        Armando Ota added a comment -

        cool will try ... sorry for jira post

        Show
        Armando Ota added a comment - cool will try ... sorry for jira post
        Martin Grigorov made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Not A Problem [ 8 ]
        Hide
        Martin Grigorov added a comment -

        With this code and this description I would consider this ticket as Invalid.
        Wicket by default uses CachingResourceStreamLocator, see org.apache.wicket.settings.def.ResourceSettings.getResourceStreamLocator().
        With the two locators which you have setup in your Application class you don't use it.

        Just replace from:
        class WicketResourceLocator extends ResourceStreamLocator
        to
        class WicketResourceLocator extends CachingResourceStreamLocator
        public WicketResourceLocator()

        { super(new ResourceStreamLocator()); }

        and it should be OK.

        Show
        Martin Grigorov added a comment - With this code and this description I would consider this ticket as Invalid. Wicket by default uses CachingResourceStreamLocator, see org.apache.wicket.settings.def.ResourceSettings.getResourceStreamLocator(). With the two locators which you have setup in your Application class you don't use it. Just replace from: class WicketResourceLocator extends ResourceStreamLocator to class WicketResourceLocator extends CachingResourceStreamLocator public WicketResourceLocator() { super(new ResourceStreamLocator()); } and it should be OK.
        Armando Ota made changes -
        Description Calls to ResourceStreamLocator.locate() method for wicket resources (check bellow for searched resources) is causing serious performace issues.

        Resources searched:
        org/apache/wicket/markup/html/wicket-event_en_US.js
        org/apache/wicket/markup/html/wicket-event_en.js
        org/apache/wicket/markup/html/wicket-event.js
        org/apache/wicket/ajax/wicket-ajax_en_US.js
        org/apache/wicket/ajax/wicket-ajax_en.js
        org/apache/wicket/ajax/wicket-ajax.js

        Check quickstart for example (check log):
        run command: "mvn clean jetty:run" to see original performace (on my machine home page renders in 239 ms)
        run command "mvn -Dworkaround=true clean jetty:run" to see the performance with workaround (on my machine home page renders in 60ms)
        Calls to ResourceStreamLocator.locate() method for wicket resources (check bellow for searched resources) is causing serious performace issues.

        Resources searched:
        org/apache/wicket/markup/html/wicket-event_en_US.js
        org/apache/wicket/markup/html/wicket-event_en.js
        org/apache/wicket/markup/html/wicket-event.js
        org/apache/wicket/ajax/wicket-ajax_en_US.js
        org/apache/wicket/ajax/wicket-ajax_en.js
        org/apache/wicket/ajax/wicket-ajax.js

        Check quickstart for example (check log):
        run command: "mvn clean jetty:run" to see original performance (on my machine home page renders in 239 ms)
        run command "mvn -Dworkaround=true clean jetty:run" to see the performance with workaround (on my machine home page renders in 60ms)
        Armando Ota made changes -
        Field Original Value New Value
        Attachment wicket-issue-4034.zip [ 12493559 ]
        Hide
        Armando Ota added a comment -

        adding quicstart project

        Show
        Armando Ota added a comment - adding quicstart project
        Armando Ota created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Armando Ota
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development