Tapestry
  1. Tapestry
  2. TAPESTRY-1951

"No ClassLoaders found for" exception

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.0.7
    • Component/s: None
    • Labels:
      None
    • Environment:
      using 5.0.7-SNAPSHOT, deployed on jboss

      Description

      I have a component which contains the following

          @Parameter( required = true, defaultPrefix = "prop" )
          private ListGetter<Competency> selector;
      
          public ListGetter<Competency> getSelector()
          {
              //return selector;
      
              // for now, allways return "all"
              return new ListGetter<Competency>()
          {
              public List<Competency> getList()
              {
                  CompetencySelectorEJB sel = EquandaGlobal.getCompetencySelector();
                  List<Competency> list = null;
                  try
                  {
                      list = sel.selectEquandaAll();
                  }
                  catch ( EquandaPersistenceException ee )
                  {
                      log.error( ee, ee );
                  }
                  sel.remove();
                  return list;
              }
          };
          }
      

      When this is used, an exception is raised

      2007-12-02 21:58:24,026 ERROR [be.synergetics.ca.t5gui.pages.CompetencyAll] Render queue error in SetupRender[CompetencyAll:competencyselect.grid]: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter
      org.apache.tapestry.ioc.internal.util.TapestryException: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:901)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:56)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl$12.render(ComponentPageElementImpl.java:470)
      	at org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:58)
      	at org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:51)
      	at $PageRenderQueue_1169ca6f5a4.render($PageRenderQueue_1169ca6f5a4.java)
      	at $PageRenderQueue_1169ca6f5a0.render($PageRenderQueue_1169ca6f5a0.java)
      	at org.apache.tapestry.internal.services.PageMarkupRendererImpl$1.renderMarkup(PageMarkupRendererImpl.java:47)
      	at org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModule.java:1375)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModule.java:1356)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$18.renderMarkup(TapestryModule.java:1338)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$17.renderMarkup(TapestryModule.java:1320)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
      	at $PageMarkupRenderer_1169ca6f59e.renderPageMarkup($PageMarkupRenderer_1169ca6f59e.java)
      	at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:56)
      	at $PageResponseRenderer_1169ca6f547.renderPageResponse($PageResponseRenderer_1169ca6f547.java)
      	at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:85)
      	at $PageRenderRequestHandler_1169ca6f544.handle($PageRenderRequestHandler_1169ca6f544.java)
      	at org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:66)
      	at $Dispatcher_1169ca6f546.dispatch($Dispatcher_1169ca6f546.java)
      	at $Dispatcher_1169ca6f53a.dispatch($Dispatcher_1169ca6f53a.java)
      	at org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:932)
      	at be.synergetics.ca.t5gui.services.AppModule$1.service(AppModule.java:98)
      	at $RequestFilter_1169ca6f539.service($RequestFilter_1169ca6f539.java)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:521)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:94)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:85)
      	at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:107)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at $RequestHandler_1169ca6f533.service($RequestHandler_1169ca6f533.java)
      	at org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:915)
      	at $HttpServletRequestHandler_1169ca6f532.service($HttpServletRequestHandler_1169ca6f532.java)
      	at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      	at java.lang.Thread.run(Thread.java:595)
      Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:204)
      	at org.apache.tapestry.corelib.components.Grid._$read_parameter_source(Grid.java)
      	at org.apache.tapestry.corelib.components.Grid.setupDataSource(Grid.java:238)
      	at org.apache.tapestry.corelib.components.Grid.setupRender(Grid.java:231)
      	at org.apache.tapestry.corelib.components.Grid.setupRender(Grid.java)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl$12$1.run(ComponentPageElementImpl.java:466)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:891)
      	... 61 more
      Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java:58)
      	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:198)
      	... 67 more
      Caused by: java.lang.RuntimeException: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter
      	at javassist.runtime.Desc.getClassType(Desc.java:153)
      	at javassist.runtime.Desc.getType(Desc.java:119)
      	at javassist.runtime.Desc.getType(Desc.java:75)
      	at be.synergetics.ca.t5gui.components.CompetencySelect._$read_parameter_selector(CompetencySelect.java)
      	at be.synergetics.ca.t5gui.components.CompetencySelect.getSelector(CompetencySelect.java:44)
      	at be.synergetics.ca.t5gui.components.CompetencySelect.getRows(CompetencySelect.java:68)
      	at $PropertyConduit_1169ca6f567.get($PropertyConduit_1169ca6f567.java)
      	at org.apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java:54)
      	... 68 more
      2007-12-02 21:58:24,031 INFO  [be.synergetics.ca.t5gui.services.AppModule.TimingFilter] Request time: 2931 ms
      2007-12-02 21:58:24,032 ERROR [org.apache.tapestry.services.TapestryModule.RequestExceptionHandler] Processing of request failed with uncaught exception: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter
      org.apache.tapestry.ioc.internal.util.TapestryException: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:901)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:56)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl$12.render(ComponentPageElementImpl.java:470)
      	at org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:58)
      	at org.apache.tapestry.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:51)
      	at $PageRenderQueue_1169ca6f5a4.render($PageRenderQueue_1169ca6f5a4.java)
      	at $PageRenderQueue_1169ca6f5a0.render($PageRenderQueue_1169ca6f5a0.java)
      	at org.apache.tapestry.internal.services.PageMarkupRendererImpl$1.renderMarkup(PageMarkupRendererImpl.java:47)
      	at org.apache.tapestry.services.TapestryModule$20.renderMarkup(TapestryModule.java:1375)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$19.renderMarkup(TapestryModule.java:1356)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$18.renderMarkup(TapestryModule.java:1338)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.services.TapestryModule$17.renderMarkup(TapestryModule.java:1320)
      	at $MarkupRenderer_1169ca6f5a2.renderMarkup($MarkupRenderer_1169ca6f5a2.java)
      	at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64)
      	at $PageMarkupRenderer_1169ca6f59e.renderPageMarkup($PageMarkupRenderer_1169ca6f59e.java)
      	at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:56)
      	at $PageResponseRenderer_1169ca6f547.renderPageResponse($PageResponseRenderer_1169ca6f547.java)
      	at org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:85)
      	at $PageRenderRequestHandler_1169ca6f544.handle($PageRenderRequestHandler_1169ca6f544.java)
      	at org.apache.tapestry.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:66)
      	at $Dispatcher_1169ca6f546.dispatch($Dispatcher_1169ca6f546.java)
      	at $Dispatcher_1169ca6f53a.dispatch($Dispatcher_1169ca6f53a.java)
      	at org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:932)
      	at be.synergetics.ca.t5gui.services.AppModule$1.service(AppModule.java:98)
      	at $RequestFilter_1169ca6f539.service($RequestFilter_1169ca6f539.java)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:521)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:94)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:85)
      	at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
      	at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:107)
      	at $RequestHandler_1169ca6f53b.service($RequestHandler_1169ca6f53b.java)
      	at $RequestHandler_1169ca6f533.service($RequestHandler_1169ca6f533.java)
      	at org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:915)
      	at $HttpServletRequestHandler_1169ca6f532.service($HttpServletRequestHandler_1169ca6f532.java)
      	at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      	at java.lang.Thread.run(Thread.java:595)
      Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: Failure reading parameter source of component CompetencyAll:competencyselect.grid: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:204)
      	at org.apache.tapestry.corelib.components.Grid._$read_parameter_source(Grid.java)
      	at org.apache.tapestry.corelib.components.Grid.setupDataSource(Grid.java:238)
      	at org.apache.tapestry.corelib.components.Grid.setupRender(Grid.java:231)
      	at org.apache.tapestry.corelib.components.Grid.setupRender(Grid.java)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl$12$1.run(ComponentPageElementImpl.java:466)
      	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:891)
      	... 61 more
      Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter [at classpath:be/synergetics/ca/t5gui/components/CompetencySelect.tml, line 3, column 62]
      	at org.apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java:58)
      	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.readParameter(InternalComponentResourcesImpl.java:198)
      	... 67 more
      Caused by: java.lang.RuntimeException: No ClassLoaders found for: be.synergetics.ca.t5gui.ListGetter
      	at javassist.runtime.Desc.getClassType(Desc.java:153)
      	at javassist.runtime.Desc.getType(Desc.java:119)
      	at javassist.runtime.Desc.getType(Desc.java:75)
      	at be.synergetics.ca.t5gui.components.CompetencySelect._$read_parameter_selector(CompetencySelect.java)
      	at be.synergetics.ca.t5gui.components.CompetencySelect.getSelector(CompetencySelect.java:44)
      	at be.synergetics.ca.t5gui.components.CompetencySelect.getRows(CompetencySelect.java:68)
      	at $PropertyConduit_1169ca6f567.get($PropertyConduit_1169ca6f567.java)
      	at org.apache.tapestry.internal.bindings.PropBinding.get(PropBinding.java:54)
      	... 68 more
      

      If I however replace the code by the following, it works

          @Parameter( required = true, defaultPrefix = "prop" )
          private ListGetter<Competency> selector;
      
          public ListGetter<Competency> getSelector()
          {
              return selector;
          }
      

      The ListGetter is a simple interface class, and this is deployed on jboss 4.2.2

        Activity

        Hide
        Joachim Van der Auwera added a comment -

        fixed, you need to assure javassist uses the context classloader, see also http://blog.progs.be/?p=52

        Show
        Joachim Van der Auwera added a comment - fixed, you need to assure javassist uses the context classloader, see also http://blog.progs.be/?p=52

          People

          • Assignee:
            Unassigned
            Reporter:
            Joachim Van der Auwera
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development