[ 
https://issues.apache.org/jira/browse/LOG4J2-1637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15628919#comment-15628919
 ] 

Remko Popma commented on LOG4J2-1637:
-------------------------------------

*ReadOnlyThreadContextMap*
What if we split off the read-only methods from the ThreadContextMap interface 
into a separate ReadOnlyThreadContextMap interface? Would it be acceptable to 
make the {{ThreadContext::getThreadContextMap}} method public when its return 
type is ReadOnlyThreadContextMap? That would solve the underlying problem 
because then the ThreadContextAccess class is no longer needed and 
ContextInjectors can get the information they need.

{code}
package org.apache.logging.log4j.spi;

public interface ReadOnlyThreadContextMap { // new
    boolean containsKey(final String key);
    String get(final String key);
    Map<String, String> getCopy();
    Map<String, String> getImmutableMapOrNull();
    boolean isEmpty();
    StringMap getReadOnlyContextData(); 
}
{code}


> OSGi support is broken in Log4j2 2.7
> ------------------------------------
>
>                 Key: LOG4J2-1637
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1637
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7
>         Environment: Apache Felix, Java 8
>            Reporter: Ludovic HOCHET
>         Attachments: patch-log4j2-1637.diff
>
>
> Log4j2 2.7 fails to initialise in an OSGi environement complaining that 
> java.lang.NoClassDefFoundError: org/apache/logging/log4j/Logger.
> Running the OSGi tests on Log4j API also fails:
> org.apache.logging.log4j.osgi.felix.FelixLoadApiBundleTest
> testMissingImportOfCoreOsgiPackage(org.apache.logging.log4j.osgi.felix.FelixLoadApiBundleTest)
>   Time elapsed: 1.031 sec  <<< ERROR!
> org.osgi.framework.BundleException: Activator start error in bundle 
> org.apache.logging.log4j.core [2].
> Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/Logger
> Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger 
> not found by org.apache.logging.log4j.core [2]
> [... likewise for the other tests and equinox]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to