Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      cluster
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      The original enterprise version of ICEfaces contained a special server-side rendering manager that could be used to broadcast render events across the nodes in a cluster using JMS. This feature has not been migrated to the current version and needs to be added back in.

        Issue Links

          Activity

          Hide
          Jack Van Ooststroom added a comment -

          We should also include the Enterprise Chat example.

          Show
          Jack Van Ooststroom added a comment - We should also include the Enterprise Chat example.
          Hide
          Deryk Sinotte added a comment -

          Assigning to Jack.

          The one thing that I wanted to do with this feature is make it more transparent. Right now we have the RenderManager but to switch to broadcast rendering, you have to use the BroadcastRenderer. I'd rather see us turn this into more of a switch that can turned on when necessary. It should be easier now that it's not a separate Enterprise feature.

          Show
          Deryk Sinotte added a comment - Assigning to Jack. The one thing that I wanted to do with this feature is make it more transparent. Right now we have the RenderManager but to switch to broadcast rendering, you have to use the BroadcastRenderer. I'd rather see us turn this into more of a switch that can turned on when necessary. It should be easier now that it's not a separate Enterprise feature.
          Hide
          Ken Fyten added a comment -

          There is also the new "SessionRenderer" API (ICE-2989). It would be nice if this API could also be used for cross-node deployments as well.

          Show
          Ken Fyten added a comment - There is also the new "SessionRenderer" API ( ICE-2989 ). It would be nice if this API could also be used for cross-node deployments as well.
          Hide
          Jack Van Ooststroom added a comment -

          Message Service Client needs to be moved into the Core in order for the BroadcastHub to utilize its functionalities.

          Show
          Jack Van Ooststroom added a comment - Message Service Client needs to be moved into the Core in order for the BroadcastHub to utilize its functionalities.
          Hide
          Jack Van Ooststroom added a comment -

          RenderManager API changes:

          • com.icesoft.faces.async.render.broadcasted
          • RenderManager.getInstance()
          • RenderManager.isBroadcasted()
          • RenderManager.setBroadcasted(boolean broadcasted)
          • AsyncRenderer.isBroadcasted()
          • AsyncRenderer.setBroadcasted(boolean broadcasted)

          The property can be set inside an ICEfaces application's web.xml to enable or disable broadcasting. The RenderManager instance uses this property to set its default value of the broadcasted flag. This can be programmatically changed by using the setBroadcasted(boolean) method. Additionally, an AsyncRenderer can have its own value of the broadcasted flag for fine-grained control:

          • if the RenderManager's flag is set to false broadcasting never happens, regardless of the AsyncRenderer's flag.
          • if the RenderManager's flag is set to true, broadcasting happens if the AsyncRenderer's flag is set to true as well; otherwise broadcasting does not happen.

          AsyncRenderer.requestRender() should still be used to request a render.

          The icefacesRenderTopic JMS topic is used for broadcasting.

          Marking this one as FIXED.

          Show
          Jack Van Ooststroom added a comment - RenderManager API changes: com.icesoft.faces.async.render.broadcasted RenderManager.getInstance() RenderManager.isBroadcasted() RenderManager.setBroadcasted(boolean broadcasted) AsyncRenderer.isBroadcasted() AsyncRenderer.setBroadcasted(boolean broadcasted) The property can be set inside an ICEfaces application's web.xml to enable or disable broadcasting. The RenderManager instance uses this property to set its default value of the broadcasted flag. This can be programmatically changed by using the setBroadcasted(boolean) method. Additionally, an AsyncRenderer can have its own value of the broadcasted flag for fine-grained control: if the RenderManager's flag is set to false broadcasting never happens, regardless of the AsyncRenderer's flag. if the RenderManager's flag is set to true, broadcasting happens if the AsyncRenderer's flag is set to true as well; otherwise broadcasting does not happen. AsyncRenderer.requestRender() should still be used to request a render. The icefacesRenderTopic JMS topic is used for broadcasting. Marking this one as FIXED.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: