All of the ThreadContextStack implementations we have are Collections though... (that was the case before the refactoring)
Gary On Thu, May 15, 2014 at 11:19 AM, Ralph Goers <[email protected]>wrote: > I actually dislike ThreadContextStack but it is there for compatibility > with Log4j 1.x. I guess there are people who use it. I didn’t make it a > Collection in the first place for the exact reasons you mention - they > aren’t used. > > Ralph > > On May 14, 2014, at 9:24 PM, Remko Popma <[email protected]> wrote: > > > Well, the difference is that now the api (the ThreadContext.ContextStack > interface) extends Collection, so all implementations now *must* support > all methods declared on Collection. This was not a requirement before. > > (Not sure why spi.ThreadContextStack extends Collection, by the way. > ThreadContext will not use these methods...) > > > > Remko > > > > Sent from my iPhone > > > >> On 2014/05/08, at 4:35, [email protected] wrote: > >> > >> Author: ggregory > >> Date: Wed May 7 19:35:45 2014 > >> New Revision: 1593125 > >> > >> URL: http://svn.apache.org/r1593125 > >> Log: > >> ThreadContext.ContextStack is already (conceptually) a collection of > Strings so it should be a Collection<String> instead of it's sub-interface > ThreadContextStack being a Collection<String>. What's the value of > ThreadContextStack now? Should we keep it as a placeholder? It is not > documented in its Javadoc. Note that all implementations of ContextStack > are implementations of ThreadContextStack, so this change has no effect on > implementors. Note that Log4jLogEvent holds a ContextStack so this makes it > a Collection<String> which happens to save a lot of work for XML and JSON > IO for the Jackson based receivers and layouts I am working on. > >> > >> Modified: > >> > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java > >> > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java > >> > >> Modified: > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java > >> URL: > http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java?rev=1593125&r1=1593124&r2=1593125&view=diff > >> > ============================================================================== > >> --- > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java > (original) > >> +++ > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/ThreadContext.java > Wed May 7 19:35:45 2014 > >> @@ -347,12 +347,7 @@ public final class ThreadContext { > >> /** > >> * The ThreadContext Stack interface. > >> */ > >> - public interface ContextStack extends Serializable { > >> - > >> - /** > >> - * Clears all elements from the stack. > >> - */ > >> - void clear(); > >> + public interface ContextStack extends Serializable, > Collection<String> { > >> > >> /** > >> * Returns the element at the top of the stack. > >> > >> Modified: > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java > >> URL: > http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java?rev=1593125&r1=1593124&r2=1593125&view=diff > >> > ============================================================================== > >> --- > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java > (original) > >> +++ > logging/log4j/log4j2/trunk/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextStack.java > Wed May 7 19:35:45 2014 > >> @@ -16,12 +16,10 @@ > >> */ > >> package org.apache.logging.log4j.spi; > >> > >> -import java.util.Collection; > >> - > >> import org.apache.logging.log4j.ThreadContext; > >> > >> /** > >> * > >> */ > >> -public interface ThreadContextStack extends > ThreadContext.ContextStack, Collection<String> { > >> +public interface ThreadContextStack extends ThreadContext.ContextStack > { > >> } > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- E-Mail: [email protected] | [email protected] Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory
