Pluto
  1. Pluto
  2. PLUTO-376

Update Pluto to work with Tomcat 6.x

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1.3, 1.2.0
    • Fix Version/s: 1.1.4, 1.2.0
    • Component/s: maven pluto plugin
    • Labels:
      None

      Description

      Update Pluto to work with Tomcat 6.x.

      Most notably Tomcat 6.x does away with the classloader hierarchy <tomcat>/server, <tomcat>/common, <tomcat>/shared. Everything by default is lumped into <tomcat>/lib. The endorsed directory is now <tomcat>/endorsed.

      Perhaps related is that Pluto crash and burns when starting up in Tomcat 6:
      FINE: [3] Creating portlet container...
      Jun 2, 2007 2:10:42 AM org.apache.catalina.core.StandardContext listenerStart
      SEVERE: Exception sending context initialized event to listener instance of class org.apache.pluto.driver.PortalStartupListener
      java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
      at org.apache.pluto.PortletContainerFactory.<clinit>(PortletContainerFactory.java:36)
      at org.apache.pluto.driver.PortalStartupListener.initContainer(PortalStartupListener.java:180)
      at org.apache.pluto.driver.PortalStartupListener.contextInitialized(PortalStartupListener.java:126)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)

      Moving webapps/pluto/WEB-INF/lib/commons-logging-api-1.1.jar to lib/ solves the problem. I wonder if the thread that loads listener classes has <tomcat>/lib as its classloader versus <tomcat>/<webapp>/WEB-INF/lib

        Issue Links

          Activity

          Hide
          Elliot Metsger added a comment -

          In Tomcat 5.5, PortletContainerFactory had access to commons-logging-api from the "System" classloader. Tomcat 5.5 included a copy of commons-logging-api in bin/commons-logging-api:
          http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html#Class%20Loader%20Definitions

          In Tomcat 6.x, there is no commons-logging-api in the "System" classloader:
          http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html#Class%20Loader%20Definitions

          Show
          Elliot Metsger added a comment - In Tomcat 5.5, PortletContainerFactory had access to commons-logging-api from the "System" classloader. Tomcat 5.5 included a copy of commons-logging-api in bin/commons-logging-api: http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html#Class%20Loader%20Definitions In Tomcat 6.x, there is no commons-logging-api in the "System" classloader: http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html#Class%20Loader%20Definitions
          Hide
          Elliot Metsger added a comment -

          Pluto needs to support JSP 2.1 in order to work under Tomcat 6.

          Show
          Elliot Metsger added a comment - Pluto needs to support JSP 2.1 in order to work under Tomcat 6.

            People

            • Assignee:
              Elliot Metsger
              Reporter:
              Elliot Metsger
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development