[jira] [Commented] (LOG4J2-513) Use more OSGi-friendly class loading mechanisms.

2014-01-26 Thread Matt Sicker (JIRA)

[ 
https://issues.apache.org/jira/browse/LOG4J2-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13882458#comment-13882458
 ] 

Matt Sicker commented on LOG4J2-513:


So far, one major refactoring that was required is separating out the class 
that holds the LoggerContextFactory. For lack of a better class name, I've gone 
with LoggerContextFactoryContext. This becomes an overridable anchor to the 
system, where LogManager delegates out to the context class. Included in the 
context class is the code from LogManager.static, and LogManager.static simply 
calls that method with override=false.

Anyway, I've also added another bundle that includes a BundleActivator that 
will load/reload the logger context factory using the proper class loader. 
Needs more testing as I'm still learning how to use OSGi, but it seems simple 
enough.

 Use more OSGi-friendly class loading mechanisms.
 

 Key: LOG4J2-513
 URL: https://issues.apache.org/jira/browse/LOG4J2-513
 Project: Log4j 2
  Issue Type: Sub-task
  Components: API
Affects Versions: 2.0-rc1
 Environment: OSGi
Reporter: Matt Sicker
  Labels: api, bundle, classloader, osgi

 See for instance 
 [here|http://njbartlett.name/2012/10/23/dreaded-thread-context-classloader.html].
  Currently, o.a.l.l.util.ProviderUtil has a findClassLoader() method that 
 depends on using the thread context class loader (TCCL). Now this method may 
 work in certain environments, but once you're in an OSGi environment, class 
 loaders are far more modular thanks to each bundle getting its own class 
 loader. The thread context class loader is oftentimes not the correct one in 
 such an environment.
 I'll do more research on being compatible with OSGi without depending on 
 OSGi. In the meantime, this ticket will have to do.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

-
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org



[jira] [Commented] (LOG4J2-513) Use more OSGi-friendly class loading mechanisms.

2014-01-25 Thread Remko Popma (JIRA)

[ 
https://issues.apache.org/jira/browse/LOG4J2-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13882158#comment-13882158
 ] 

Remko Popma commented on LOG4J2-513:


That would be great! Just speaking for myself, I don't have much OSGi 
expertise, and it seems to be a deep subject... OSGi is on the project todo 
list but it is hard to get started. Help would be much appreciated!

 Use more OSGi-friendly class loading mechanisms.
 

 Key: LOG4J2-513
 URL: https://issues.apache.org/jira/browse/LOG4J2-513
 Project: Log4j 2
  Issue Type: Sub-task
  Components: API
Affects Versions: 2.0-rc1
 Environment: OSGi
Reporter: Matt Sicker
  Labels: api, bundle, classloader, osgi

 See for instance 
 [here|http://njbartlett.name/2012/10/23/dreaded-thread-context-classloader.html].
  Currently, o.a.l.l.util.ProviderUtil has a findClassLoader() method that 
 depends on using the thread context class loader (TCCL). Now this method may 
 work in certain environments, but once you're in an OSGi environment, class 
 loaders are far more modular thanks to each bundle getting its own class 
 loader. The thread context class loader is oftentimes not the correct one in 
 such an environment.
 I'll do more research on being compatible with OSGi without depending on 
 OSGi. In the meantime, this ticket will have to do.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

-
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org