ICEfaces
  1. ICEfaces
  2. ICE-3341

Expose RenderManager's thread pool and related parameters so that they can be configured

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.1
    • Fix Version/s: 1.7.2
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      all

      Description

      The RenderManager and it's internals use thread pools and such to Ajax Push rendering. These artifacts have reasonable default values but currently no way to easily adjust them. We need to provide the APIs (getters and setters on the RenderManager) so that these values can be set programatically or declaratively (e.g. in faces-config or other dependency injection options like Spring).

      The parameters of interest are in the RenderHub:

          private ThreadPoolExecutor renderService;
          private int corePoolSize = 10;
          private int maxPoolSize = 15;
          private long keepAliveTime = 300000;
          private int renderQueueCapacity = 1000;

          /**
           * The specialized thread pool used to execute render calls at some future
           * time. The RenderHub makes this available to Renderers that need this
           * ability.
           *
           * @see IntervalRenderer, DelayRenderer
           */
          private ScheduledThreadPoolExecutor scheduledService;
          private int schedulePoolSize = 5;

        Activity

        Deryk Sinotte created issue -
        Hide
        Deryk Sinotte added a comment -

        Assigning to Mircea

        Show
        Deryk Sinotte added a comment - Assigning to Mircea
        Deryk Sinotte made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Ken Fyten made changes -
        Fix Version/s 1.7.2 [ 10130 ]
        Affects [Documentation (User Guide, Ref. Guide, etc.)]
        Assignee Priority P1
        Tyler Johnson made changes -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #17241 Sat Jul 26 10:10:08 MDT 2008 mircea.toma ICE-3341 Make RenderHub configurable. Add setters on RenderManager to dynamically control the internal thread pool.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/async/render/RenderHub.java
        Commit graph MODIFY /icefaces/trunk/icefaces/core/src/com/icesoft/faces/async/render/RenderManager.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #17242 Sat Jul 26 10:10:30 MDT 2008 mircea.toma ICE-3341 Make RenderHub configurable. Add setters on RenderManager to dynamically control the internal thread pool.
        Files Changed
        Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/async/render/RenderManager.java
        Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/async/render/RenderHub.java
        Hide
        Mircea Toma added a comment -

        Make RenderHub configurable. Add setters on RenderManager to dynamically control the internal thread pool.
        ===============================
        Deryk and Ted,

        Do we really need getters?
        Also, can you check the TODO comments I put into RenderHub?

        Show
        Mircea Toma added a comment - Make RenderHub configurable. Add setters on RenderManager to dynamically control the internal thread pool. =============================== Deryk and Ted, Do we really need getters? Also, can you check the TODO comments I put into RenderHub?
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Tyler Johnson added a comment -

        Is there any information on how to configure these settings in the faces-config file?

        Show
        Tyler Johnson added a comment - Is there any information on how to configure these settings in the faces-config file?
        Hide
        Mircea Toma added a comment -

        The corresponding servlet context parameters are prefixed by "com.icesoft.faces.async.render':

        pool size: com.icesoft.faces.async.render.corePoolSize
        max pool size: com.icesoft.faces.async.render.maxPoolSize
        keep alive timeout: com.icesoft.faces.async.render.keepAlive
        queue capacity: com.icesoft.faces.async.render.renderQueueCapacity

        Show
        Mircea Toma added a comment - The corresponding servlet context parameters are prefixed by "com.icesoft.faces.async.render': pool size: com.icesoft.faces.async.render.corePoolSize max pool size: com.icesoft.faces.async.render.maxPoolSize keep alive timeout: com.icesoft.faces.async.render.keepAlive queue capacity: com.icesoft.faces.async.render.renderQueueCapacity
        Ken Fyten made changes -
        Fix Version/s 1.7.2RC1 [ 10140 ]
        Fix Version/s 1.7.2 [ 10130 ]
        Ken Fyten made changes -
        Fix Version/s 1.7.2 [ 10130 ]
        Fix Version/s 1.7.2RC1 [ 10140 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1
        Assignee Mircea Toma [ mircea.toma ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: