Pluto
  1. Pluto
  2. PLUTO-511

Separate Pluto implementation from required interfaces in shared class loader

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-refactoring, 2.0.0
    • Fix Version/s: 2.0-refactoring, 2.0.0
    • Component/s: portlet container
    • Labels:
      None

      Description

      Having the Pluto implementation in the shared class loader was causing collisions with web application references of supporting jar files in common with Pluto's implementation. These kind of errors can often be very difficult for end users to track down. As good citizens in a web application, we are following the pattern we used in Jetspeed by only putting standards jars and APIs in the shared area. For example, On Tomcat 5.5, this is the $TOMCAT_HOME/shared/lib directory. The refactoring accomplishes this by separating the Pluto implementation from required interfaces in shared class loader, and moving the container implementation and all dependency jars into the Pluto class loader.

      In the process of fixing this issue, further improvements to the build to simplify Pluto usage:

      • combine the 2 descriptor jars all into the pluto-container-impl to decrease the number of jars required to use the Pluto implementation. See https://issues.apache.org/jira/browse/PLUTO-509 for related work.
      • use service interfaces to access all aspects of the Container
      • move Pluto's servlet entry point, PortletServlet into the API jar, as it is required to be placed in the shared area (note this servlet is ignored by Jetspeed)

      Two jars required in shared: pluto-container-api, pluto-taglib (although this could be placed in a web app as well)
      For typical portals (not Pluto driver), one jar required in portal implementation: pluto-container

        Issue Links

          Activity

          David Sean Taylor created issue -
          David Sean Taylor made changes -
          Field Original Value New Value
          Link This issue blocks PLUTO-481 [ PLUTO-481 ]
          David Sean Taylor made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          David Sean Taylor made changes -
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Resolved [ 5 ]
          Mark Thomas made changes -
          Workflow jira [ 12444253 ] Default workflow, editable Closed status [ 12565010 ]
          Mark Thomas made changes -
          Workflow Default workflow, editable Closed status [ 12565010 ] jira [ 12585932 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open In Progress In Progress
          21s 1 David Sean Taylor 16/Oct/08 00:44
          In Progress In Progress Resolved Resolved
          7d 15m 1 David Sean Taylor 23/Oct/08 01:00

            People

            • Assignee:
              David Sean Taylor
              Reporter:
              David Sean Taylor
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development