• Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.4
    • Fix Version/s: 1.1.0
    • Labels:
    • Environment:

      Operating System: other
      Platform: Other


      I separated this request from 35774 as it seems to provide a viable and easy
      solution to a big number of ClassLoader-related problems of using JCL in shared
      environments. The solution relies on having an option (configured via system
      properties) to disable TCCL usage and only use LogFactory's ClassLoader. When
      TCCL is disabled, logger implementation and caching should be performed in the
      JCL's ClassLoader only (cache will be reduced to a single record). This would
      remove any memory leak issues as well as other inconsitencies (see 35774 for
      some samples).

      There're two main scenarios how JCL is used in the shared environment: a)
      deployed in the shared class loader (shared for Tomcat and UCL for JBoss), b)
      deployed in the application's class loader in the child-first ClassLoader
      setup. In both cases this solution works well and disabled TCCL could even be a
      reasonable default (though it depends on other uses). In case of deployment
      within application's classloader (case [b]), two versions of JCL can coexist
      redirecting logs for the application's classes to application's LogFactory
      instance and shared classes to shared LogFactory.



          • Assignee:
            Simon Kitching
            Dimitry E Voytenko
          • Votes:
            1 Vote for this issue
            0 Start watching this issue


            • Created: