JCTools requires 1.6 for the build and 1.8 for the test. It appears we could do the same if the only thing failing the build is a unit test, but if the whole build is failing on Java 7, then I can back out those changes into a separate branch for future inclusion.
On 6 September 2016 at 11:18, Remko Popma <remko.po...@gmail.com> wrote: > Does JCTools require Java 8? One option is for this release to leave out > the Conversant library and only include JCTools and the TransferQueue. > > On Wed, Sep 7, 2016 at 1:06 AM, Matt Sicker <boa...@gmail.com> wrote: > >> I can't believe I didn't notice it, but the Conversant library does >> require Java 8. It's an optional dependency, so what to do? We can build on >> Java 8 with a target for Java 7 and use the animal-sniffer Maven plugin to >> make sure we don't accidentally use anything from Java 8. >> >> On 5 September 2016 at 22:45, Matt Sicker <boa...@gmail.com> wrote: >> >>> It looks like I may have merged prematurely then. I think I've been >>> running builds using Java 8 as well and didn't notice this. Jenkins isn't >>> even loading for me, so I can't see what the problem is on there. I'll take >>> a look at this tomorrow, and if I can't fix the dependency issue, I'll back >>> out part of this feature for now. >>> >>> On 5 September 2016 at 17:03, Ralph Goers <ralph.go...@dslextreme.com> >>> wrote: >>> >>>> Jenkins and the release builds use Java 7, so you should certainly use >>>> Java 7 from time to time. >>>> >>>> Ralph >>>> >>>> On Sep 5, 2016, at 2:33 PM, Gary Gregory <garydgreg...@gmail.com> >>>> wrote: >>>> >>>> Ah, no, Java 8: >>>> >>>> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; >>>> 2015-11-10T08:41:47-08:00) >>>> Maven home: E:\Java\apache-maven-3.3.9 >>>> Java version: 1.8.0_101, vendor: Oracle Corporation >>>> Java home: C:\Program Files\Java\jdk1.8.0_101\jre >>>> Default locale: en_US, platform encoding: Cp1252 >>>> OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos" >>>> >>>> Gary >>>> >>>> On Mon, Sep 5, 2016 at 5:32 PM, Ralph Goers <ralph.go...@dslextreme.com >>>> > wrote: >>>> >>>>> And you are building with Java 7? >>>>> >>>>> Ralph >>>>> >>>>> On Sep 5, 2016, at 2:18 PM, Gary Gregory <garydgreg...@gmail.com> >>>>> wrote: >>>>> >>>>> Locally, I get: >>>>> >>>>> Failed tests: >>>>> RoutingAppenderWithPurgingTest.routingTest:91 Incorrect number of >>>>> appenders with IdlePurgePolicy. expected:<3> but was:<1> >>>>> >>>>> Gary >>>>> >>>>> On Mon, Sep 5, 2016 at 12:54 PM, Ralph Goers < >>>>> ralph.go...@dslextreme.com> wrote: >>>>> >>>>>> For the record, I am voting -1 on this commit. It breaks the build >>>>>> because the DisruptorBlockingQueueFactory has a dependency that requires >>>>>> Java 8. The 2.7 release is blocked until this is corrected. >>>>>> >>>>>> Ralph >>>>>> >>>>>> > On Sep 4, 2016, at 11:38 AM, mattsic...@apache.org wrote: >>>>>> > >>>>>> > Convert BlockingQueueFactory into a plugin element >>>>>> > >>>>>> > Related to LOG4J2-1430. >>>>>> > >>>>>> > >>>>>> > Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo >>>>>> > Commit: http://git-wip-us.apache.org/r >>>>>> epos/asf/logging-log4j2/commit/65ec9bce >>>>>> > Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/6 >>>>>> 5ec9bce >>>>>> > Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/6 >>>>>> 5ec9bce >>>>>> > >>>>>> > Branch: refs/heads/master >>>>>> > Commit: 65ec9bcef74dc30ecab9c2091c6e0638d53490d8 >>>>>> > Parents: 0848d7a >>>>>> > Author: Matt Sicker <boa...@gmail.com> >>>>>> > Authored: Fri Jun 17 18:51:08 2016 -0500 >>>>>> > Committer: Matt Sicker <boa...@gmail.com> >>>>>> > Committed: Fri Jun 17 18:51:08 2016 -0500 >>>>>> > >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > .../log4j/core/appender/AsyncAppender.java | 24 +++++++++--- >>>>>> > .../core/async/ArrayBlockingQueueFactory.java | 10 +++++ >>>>>> > .../log4j/core/async/BlockingQueueFactory.java | 13 ++++++- >>>>>> > .../async/DisruptorBlockingQueueFactory.java | 11 +++++- >>>>>> > .../core/async/LinkedTransferQueueFactory.java | 10 +++++ >>>>>> > .../log4j/core/appender/AsyncAppenderTest.java | 16 ++++---- >>>>>> > .../BlockingQueueFactory-ArrayBlockingQueue.xml | 40 >>>>>> ++++++++++++++++++++ >>>>>> > ...ckingQueueFactory-DisruptorBlockingQueue.xml | 40 >>>>>> ++++++++++++++++++++ >>>>>> > ...BlockingQueueFactory-LinkedTransferQueue.xml | 40 >>>>>> ++++++++++++++++++++ >>>>>> > 9 files changed, 189 insertions(+), 15 deletions(-) >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/main/java/org/apache/logging/log4j/co >>>>>> re/appender/AsyncAppender.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/main/java/org >>>>>> /apache/logging/log4j/core/appender/AsyncAppender.java >>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppender.java >>>>>> > index 3c9c37c..dee5e50 100644 >>>>>> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppender.java >>>>>> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppender.java >>>>>> > @@ -26,8 +26,11 @@ import org.apache.logging.log4j.core. >>>>>> AbstractLogEvent; >>>>>> > import org.apache.logging.log4j.core.Appender; >>>>>> > import org.apache.logging.log4j.core.Filter; >>>>>> > import org.apache.logging.log4j.core.LogEvent; >>>>>> > +import org.apache.logging.log4j.core. >>>>>> async.ArrayBlockingQueueFactory; >>>>>> > import org.apache.logging.log4j.core.async.AsyncQueueFullPolicy; >>>>>> > import org.apache.logging.log4j.core.async.AsyncQueueFullPolicyFact >>>>>> ory; >>>>>> > +import org.apache.logging.log4j.core.async.BlockingQueueFactory; >>>>>> > +import org.apache.logging.log4j.core. >>>>>> async.BlockingQueueFactoryUtil; >>>>>> > import org.apache.logging.log4j.core.async.DiscardingAsyncQueueFull >>>>>> Policy; >>>>>> > import org.apache.logging.log4j.core.async.EventRoute; >>>>>> > import org.apache.logging.log4j.core.config.AppenderControl; >>>>>> > @@ -42,7 +45,6 @@ import org.apache.logging.log4j.core. >>>>>> config.plugins.PluginConfiguration; >>>>>> > import org.apache.logging.log4j.core.config.plugins.PluginElement; >>>>>> > import org.apache.logging.log4j.core.config.plugins.validation.cons >>>>>> traints.Required; >>>>>> > import org.apache.logging.log4j.core.impl.Log4jLogEvent; >>>>>> > -import org.apache.logging.log4j.core. >>>>>> async.BlockingQueueFactoryUtil; >>>>>> > import org.apache.logging.log4j.core.util.Constants; >>>>>> > >>>>>> > /** >>>>>> > @@ -73,8 +75,8 @@ public final class AsyncAppender extends >>>>>> AbstractAppender { >>>>>> > >>>>>> > private AsyncAppender(final String name, final Filter filter, >>>>>> final AppenderRef[] appenderRefs, >>>>>> > final String errorRef, final int >>>>>> queueSize, final boolean blocking, >>>>>> > - final boolean ignoreExceptions, >>>>>> > - final long shutdownTimeout, final >>>>>> Configuration config, final boolean includeLocation) { >>>>>> > + final boolean ignoreExceptions, final >>>>>> long shutdownTimeout, final Configuration config, >>>>>> > + final boolean includeLocation, final >>>>>> BlockingQueueFactory<LogEvent> blockingQueueFactory) { >>>>>> > super(name, filter, null, ignoreExceptions); >>>>>> > this.queue = BlockingQueueFactoryUtil.<LogE >>>>>> vent>getBlockingQueueFactory().create(queueSize); >>>>>> > this.queueSize = queueSize; >>>>>> > @@ -217,7 +219,9 @@ public final class AsyncAppender extends >>>>>> AbstractAppender { >>>>>> > } >>>>>> > >>>>>> > /** >>>>>> > - * Create an AsyncAppender. >>>>>> > + * Create an AsyncAppender. This method is retained for >>>>>> backwards compatibility. New code should use the >>>>>> > + * {@link Builder} instead. This factory will use {@link >>>>>> ArrayBlockingQueueFactory} by default as was the behavior >>>>>> > + * pre-2.7. >>>>>> > * >>>>>> > * @param appenderRefs The Appenders to reference. >>>>>> > * @param errorRef An optional Appender to write to if >>>>>> the queue is full or other errors occur. >>>>>> > @@ -247,7 +251,7 @@ public final class AsyncAppender extends >>>>>> AbstractAppender { >>>>>> > } >>>>>> > >>>>>> > return new AsyncAppender(name, filter, appenderRefs, >>>>>> errorRef, size, blocking, ignoreExceptions, >>>>>> > - shutdownTimeout, config, includeLocation); >>>>>> > + shutdownTimeout, config, includeLocation, new >>>>>> ArrayBlockingQueueFactory<LogEvent>()); >>>>>> > } >>>>>> > >>>>>> > @PluginBuilderFactory >>>>>> > @@ -290,6 +294,9 @@ public final class AsyncAppender extends >>>>>> AbstractAppender { >>>>>> > @PluginBuilderAttribute >>>>>> > private boolean ignoreExceptions = true; >>>>>> > >>>>>> > + @PluginElement(BlockingQueueFactory.ELEMENT_TYPE) >>>>>> > + private BlockingQueueFactory<LogEvent> >>>>>> blockingQueueFactory = new ArrayBlockingQueueFactory<>(); >>>>>> > + >>>>>> > public Builder setAppenderRefs(AppenderRef[] appenderRefs) { >>>>>> > this.appenderRefs = appenderRefs; >>>>>> > return this; >>>>>> > @@ -340,10 +347,15 @@ public final class AsyncAppender extends >>>>>> AbstractAppender { >>>>>> > return this; >>>>>> > } >>>>>> > >>>>>> > + public Builder setBlockingQueueFactory(final >>>>>> BlockingQueueFactory<LogEvent> blockingQueueFactory) { >>>>>> > + this.blockingQueueFactory = blockingQueueFactory; >>>>>> > + return this; >>>>>> > + } >>>>>> > + >>>>>> > @Override >>>>>> > public AsyncAppender build() { >>>>>> > return new AsyncAppender(name, filter, appenderRefs, >>>>>> errorRef, bufferSize, blocking, ignoreExceptions, >>>>>> > - shutdownTimeout, configuration, includeLocation); >>>>>> > + shutdownTimeout, configuration, includeLocation, >>>>>> blockingQueueFactory); >>>>>> > } >>>>>> > } >>>>>> > >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/main/java/org/apache/logging/log4j/co >>>>>> re/async/ArrayBlockingQueueFactory.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/main/java/org >>>>>> /apache/logging/log4j/core/async/ArrayBlockingQueueFactory.java >>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/ArrayBlockingQueueFactory.java >>>>>> > index e9c99b8..dcad78a 100644 >>>>>> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/ArrayBlockingQueueFactory.java >>>>>> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/ArrayBlockingQueueFactory.java >>>>>> > @@ -3,14 +3,24 @@ package org.apache.logging.log4j.core.async; >>>>>> > import java.util.concurrent.ArrayBlockingQueue; >>>>>> > import java.util.concurrent.BlockingQueue; >>>>>> > >>>>>> > +import org.apache.logging.log4j.core.config.Node; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.Plugin; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.PluginFactory; >>>>>> > + >>>>>> > /** >>>>>> > * Factory for creating instances of {@link ArrayBlockingQueue}. >>>>>> > * >>>>>> > * @since 2.7 >>>>>> > */ >>>>>> > +@Plugin(name = "ArrayBlockingQueue", category = Node.CATEGORY, >>>>>> elementType = BlockingQueueFactory.ELEMENT_TYPE) >>>>>> > public class ArrayBlockingQueueFactory<E> implements >>>>>> BlockingQueueFactory<E> { >>>>>> > @Override >>>>>> > public BlockingQueue<E> create(int capacity) { >>>>>> > return new ArrayBlockingQueue<>(capacity); >>>>>> > } >>>>>> > + >>>>>> > + @PluginFactory >>>>>> > + public static <E> ArrayBlockingQueueFactory<E> createFactory() >>>>>> { >>>>>> > + return new ArrayBlockingQueueFactory<>(); >>>>>> > + } >>>>>> > } >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/main/java/org/apache/logging/log4j/co >>>>>> re/async/BlockingQueueFactory.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/main/java/org >>>>>> /apache/logging/log4j/core/async/BlockingQueueFactory.java >>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/BlockingQueueFactory.java >>>>>> > index ccd1625..5763d1e 100644 >>>>>> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/BlockingQueueFactory.java >>>>>> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/BlockingQueueFactory.java >>>>>> > @@ -9,7 +9,18 @@ import java.util.concurrent.BlockingQueue; >>>>>> > */ >>>>>> > public interface BlockingQueueFactory<E> { >>>>>> > >>>>>> > - String PROPERTY = "log4j.BlockingQueueFactory"; >>>>>> > + /** >>>>>> > + * The {@link org.apache.logging.log4j.core. >>>>>> config.plugins.Plugin#elementType() element type} to use for plugins >>>>>> > + * implementing this interface. >>>>>> > + */ >>>>>> > + String ELEMENT_TYPE = "BlockingQueueFactory"; >>>>>> > >>>>>> > + /** >>>>>> > + * Creates a new BlockingQueue with the specified maximum >>>>>> capacity. Note that not all implementations of >>>>>> > + * BlockingQueue support a bounded capacity in which case the >>>>>> value is ignored. >>>>>> > + * >>>>>> > + * @param capacity maximum size of the queue if supported >>>>>> > + * @return a new BlockingQueue >>>>>> > + */ >>>>>> > BlockingQueue<E> create(int capacity); >>>>>> > } >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/main/java/org/apache/logging/log4j/co >>>>>> re/async/DisruptorBlockingQueueFactory.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/main/java/org >>>>>> /apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java >>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/DisruptorBlockingQueueFactory.java >>>>>> > index 8fb3707..add375d 100644 >>>>>> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/DisruptorBlockingQueueFactory.java >>>>>> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/DisruptorBlockingQueueFactory.java >>>>>> > @@ -3,15 +3,24 @@ package org.apache.logging.log4j.core.async; >>>>>> > import java.util.concurrent.BlockingQueue; >>>>>> > >>>>>> > import com.conversantmedia.util.concurrent.DisruptorBlockingQueue; >>>>>> > +import org.apache.logging.log4j.core.config.Node; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.Plugin; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.PluginFactory; >>>>>> > >>>>>> > /** >>>>>> > * Factory for creating instances of {@link DisruptorBlockingQueue}. >>>>>> > * >>>>>> > * @since 2.7 >>>>>> > */ >>>>>> > +@Plugin(name = "DisruptorBlockingQueue", category = Node.CATEGORY, >>>>>> elementType = BlockingQueueFactory.ELEMENT_TYPE) >>>>>> > public class DisruptorBlockingQueueFactory<E> implements >>>>>> BlockingQueueFactory<E> { >>>>>> > @Override >>>>>> > public BlockingQueue<E> create(int capacity) { >>>>>> > - return new DisruptorBlockingQueue<E>(capacity); >>>>>> > + return new DisruptorBlockingQueue<>(capacity); >>>>>> > + } >>>>>> > + >>>>>> > + @PluginFactory >>>>>> > + public static <E> DisruptorBlockingQueueFactory<E> >>>>>> createFactory() { >>>>>> > + return new DisruptorBlockingQueueFactory<>(); >>>>>> > } >>>>>> > } >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/main/java/org/apache/logging/log4j/co >>>>>> re/async/LinkedTransferQueueFactory.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/main/java/org >>>>>> /apache/logging/log4j/core/async/LinkedTransferQueueFactory.java >>>>>> b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/LinkedTransferQueueFactory.java >>>>>> > index 862fab3..6ab24e7 100644 >>>>>> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/LinkedTransferQueueFactory.java >>>>>> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/asy >>>>>> nc/LinkedTransferQueueFactory.java >>>>>> > @@ -20,14 +20,24 @@ package org.apache.logging.log4j.core.async; >>>>>> > import java.util.concurrent.BlockingQueue; >>>>>> > import java.util.concurrent.LinkedTransferQueue; >>>>>> > >>>>>> > +import org.apache.logging.log4j.core.config.Node; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.Plugin; >>>>>> > +import org.apache.logging.log4j.core.config.plugins.PluginFactory; >>>>>> > + >>>>>> > /** >>>>>> > * Factory for creating instances of {@link LinkedTransferQueue}. >>>>>> > * >>>>>> > * @since 2.7 >>>>>> > */ >>>>>> > +@Plugin(name = "LinkedTransferQueue", category = Node.CATEGORY, >>>>>> elementType = BlockingQueueFactory.ELEMENT_TYPE) >>>>>> > public class LinkedTransferQueueFactory<E> implements >>>>>> BlockingQueueFactory<E> { >>>>>> > @Override >>>>>> > public BlockingQueue<E> create(int capacity) { >>>>>> > return new LinkedTransferQueue<>(); >>>>>> > } >>>>>> > + >>>>>> > + @PluginFactory >>>>>> > + public static <E> LinkedTransferQueueFactory<E> >>>>>> createFactory() { >>>>>> > + return new LinkedTransferQueueFactory<>(); >>>>>> > + } >>>>>> > } >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/test/java/org/apache/logging/log4j/co >>>>>> re/appender/AsyncAppenderTest.java >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/test/java/org >>>>>> /apache/logging/log4j/core/appender/AsyncAppenderTest.java >>>>>> b/log4j-core/src/test/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppenderTest.java >>>>>> > index 3066f38..076fdd0 100644 >>>>>> > --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppenderTest.java >>>>>> > +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/app >>>>>> ender/AsyncAppenderTest.java >>>>>> > @@ -41,19 +41,21 @@ import static org.junit.Assert.*; >>>>>> > */ >>>>>> > @RunWith(Parameterized.class) >>>>>> > public class AsyncAppenderTest { >>>>>> > - private static final String CONFIG = "log4j-asynch.xml"; >>>>>> > >>>>>> > @Parameterized.Parameters >>>>>> > public static Object[] data() { >>>>>> > - return new Class<?>[]{ >>>>>> > - ArrayBlockingQueueFactory.class, >>>>>> > - DisruptorBlockingQueueFactory.class, >>>>>> > - LinkedTransferQueueFactory.class >>>>>> > + return new String[]{ >>>>>> > + // default async config uses array blocking queue >>>>>> > + "log4j-asynch.xml", >>>>>> > + // override default blocking queue implementations >>>>>> > + "BlockingQueueFactory-ArrayBlockingQueue.xml", >>>>>> > + "BlockingQueueFactory-DisruptorBlockingQueue.xml", >>>>>> > + "BlockingQueueFactory-LinkedTransferQueue.xml" >>>>>> > }; >>>>>> > } >>>>>> > >>>>>> > - public AsyncAppenderTest(final Class<? extends >>>>>> BlockingQueueFactory> factory) { >>>>>> > - context = new LoggerContextRule(CONFIG).with >>>>>> SystemProperty(BlockingQueueFactory.PROPERTY, factory.getName()); >>>>>> > + public AsyncAppenderTest(final String configFileName) { >>>>>> > + context = new LoggerContextRule(configFileName); >>>>>> > } >>>>>> > >>>>>> > @Rule >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/test/resources/BlockingQueueFactory-A >>>>>> rrayBlockingQueue.xml >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/test/resource >>>>>> s/BlockingQueueFactory-ArrayBlockingQueue.xml >>>>>> b/log4j-core/src/test/resources/BlockingQueueFactory-ArrayBl >>>>>> ockingQueue.xml >>>>>> > new file mode 100644 >>>>>> > index 0000000..e8bbfa6 >>>>>> > --- /dev/null >>>>>> > +++ b/log4j-core/src/test/resources/BlockingQueueFactory-ArrayBl >>>>>> ockingQueue.xml >>>>>> > @@ -0,0 +1,40 @@ >>>>>> > +<?xml version="1.0" encoding="UTF-8"?> >>>>>> > +<!-- >>>>>> > + Licensed to the Apache Software Foundation (ASF) under one or more >>>>>> > + contributor license agreements. See the NOTICE file distributed >>>>>> with >>>>>> > + this work for additional information regarding copyright >>>>>> ownership. >>>>>> > + The ASF licenses this file to You under the Apache License, >>>>>> Version 2.0 >>>>>> > + (the "License"); you may not use this file except in compliance >>>>>> with >>>>>> > + the License. You may obtain a copy of the License at >>>>>> > + >>>>>> > + http://www.apache.org/licenses/LICENSE-2.0 >>>>>> > + >>>>>> > + Unless required by applicable law or agreed to in writing, >>>>>> software >>>>>> > + distributed under the License is distributed on an "AS IS" BASIS, >>>>>> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >>>>>> implied. >>>>>> > + See the License for the specific language governing permissions >>>>>> and >>>>>> > + limitations under the License. >>>>>> > + >>>>>> > +--> >>>>>> > +<Configuration status="OFF" name="ArrayBlockingQueueFactory"> >>>>>> > + >>>>>> > + <Appenders> >>>>>> > + <Console name="STDOUT"> >>>>>> > + <PatternLayout pattern="%m%n"/> >>>>>> > + </Console> >>>>>> > + <List name="List"> >>>>>> > + <PatternLayout pattern="%C %M %m"/> >>>>>> > + </List> >>>>>> > + <Async name="Async" includeLocation="true" error-ref="STDOUT"> >>>>>> > + <AppenderRef ref="List"/> >>>>>> > + <ArrayBlockingQueue/> >>>>>> > + </Async> >>>>>> > + </Appenders> >>>>>> > + >>>>>> > + <Loggers> >>>>>> > + <Root level="debug"> >>>>>> > + <AppenderRef ref="Async"/> >>>>>> > + </Root> >>>>>> > + </Loggers> >>>>>> > + >>>>>> > +</Configuration> >>>>>> > \ No newline at end of file >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/test/resources/BlockingQueueFactory-D >>>>>> isruptorBlockingQueue.xml >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/test/resource >>>>>> s/BlockingQueueFactory-DisruptorBlockingQueue.xml >>>>>> b/log4j-core/src/test/resources/BlockingQueueFactory-Disrupt >>>>>> orBlockingQueue.xml >>>>>> > new file mode 100644 >>>>>> > index 0000000..268cca7 >>>>>> > --- /dev/null >>>>>> > +++ b/log4j-core/src/test/resources/BlockingQueueFactory-Disrupt >>>>>> orBlockingQueue.xml >>>>>> > @@ -0,0 +1,40 @@ >>>>>> > +<?xml version="1.0" encoding="UTF-8"?> >>>>>> > +<!-- >>>>>> > + Licensed to the Apache Software Foundation (ASF) under one or more >>>>>> > + contributor license agreements. See the NOTICE file distributed >>>>>> with >>>>>> > + this work for additional information regarding copyright >>>>>> ownership. >>>>>> > + The ASF licenses this file to You under the Apache License, >>>>>> Version 2.0 >>>>>> > + (the "License"); you may not use this file except in compliance >>>>>> with >>>>>> > + the License. You may obtain a copy of the License at >>>>>> > + >>>>>> > + http://www.apache.org/licenses/LICENSE-2.0 >>>>>> > + >>>>>> > + Unless required by applicable law or agreed to in writing, >>>>>> software >>>>>> > + distributed under the License is distributed on an "AS IS" BASIS, >>>>>> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >>>>>> implied. >>>>>> > + See the License for the specific language governing permissions >>>>>> and >>>>>> > + limitations under the License. >>>>>> > + >>>>>> > +--> >>>>>> > +<Configuration status="OFF" name="DisruptorBlockingQueueFactory"> >>>>>> > + >>>>>> > + <Appenders> >>>>>> > + <Console name="STDOUT"> >>>>>> > + <PatternLayout pattern="%m%n"/> >>>>>> > + </Console> >>>>>> > + <List name="List"> >>>>>> > + <PatternLayout pattern="%C %M %m"/> >>>>>> > + </List> >>>>>> > + <Async name="Async" includeLocation="true" error-ref="STDOUT"> >>>>>> > + <AppenderRef ref="List"/> >>>>>> > + <DisruptorBlockingQueue/> >>>>>> > + </Async> >>>>>> > + </Appenders> >>>>>> > + >>>>>> > + <Loggers> >>>>>> > + <Root level="debug"> >>>>>> > + <AppenderRef ref="Async"/> >>>>>> > + </Root> >>>>>> > + </Loggers> >>>>>> > + >>>>>> > +</Configuration> >>>>>> > \ No newline at end of file >>>>>> > >>>>>> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6 >>>>>> 5ec9bce/log4j-core/src/test/resources/BlockingQueueFactory-L >>>>>> inkedTransferQueue.xml >>>>>> > ------------------------------------------------------------ >>>>>> ---------- >>>>>> > diff --git a/log4j-core/src/test/resource >>>>>> s/BlockingQueueFactory-LinkedTransferQueue.xml >>>>>> b/log4j-core/src/test/resources/BlockingQueueFactory-LinkedT >>>>>> ransferQueue.xml >>>>>> > new file mode 100644 >>>>>> > index 0000000..13063d3 >>>>>> > --- /dev/null >>>>>> > +++ b/log4j-core/src/test/resources/BlockingQueueFactory-LinkedT >>>>>> ransferQueue.xml >>>>>> > @@ -0,0 +1,40 @@ >>>>>> > +<?xml version="1.0" encoding="UTF-8"?> >>>>>> > +<!-- >>>>>> > + Licensed to the Apache Software Foundation (ASF) under one or more >>>>>> > + contributor license agreements. See the NOTICE file distributed >>>>>> with >>>>>> > + this work for additional information regarding copyright >>>>>> ownership. >>>>>> > + The ASF licenses this file to You under the Apache License, >>>>>> Version 2.0 >>>>>> > + (the "License"); you may not use this file except in compliance >>>>>> with >>>>>> > + the License. You may obtain a copy of the License at >>>>>> > + >>>>>> > + http://www.apache.org/licenses/LICENSE-2.0 >>>>>> > + >>>>>> > + Unless required by applicable law or agreed to in writing, >>>>>> software >>>>>> > + distributed under the License is distributed on an "AS IS" BASIS, >>>>>> > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >>>>>> implied. >>>>>> > + See the License for the specific language governing permissions >>>>>> and >>>>>> > + limitations under the License. >>>>>> > + >>>>>> > +--> >>>>>> > +<Configuration status="OFF" name="LinkedTransferQueueFactory"> >>>>>> > + >>>>>> > + <Appenders> >>>>>> > + <Console name="STDOUT"> >>>>>> > + <PatternLayout pattern="%m%n"/> >>>>>> > + </Console> >>>>>> > + <List name="List"> >>>>>> > + <PatternLayout pattern="%C %M %m"/> >>>>>> > + </List> >>>>>> > + <Async name="Async" includeLocation="true" error-ref="STDOUT"> >>>>>> > + <AppenderRef ref="List"/> >>>>>> > + <LinkedTransferQueue/> >>>>>> > + </Async> >>>>>> > + </Appenders> >>>>>> > + >>>>>> > + <Loggers> >>>>>> > + <Root level="debug"> >>>>>> > + <AppenderRef ref="Async"/> >>>>>> > + </Root> >>>>>> > + </Loggers> >>>>>> > + >>>>>> > +</Configuration> >>>>>> > \ No newline at end of file >>>>>> > >>>>>> > >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org >>>>>> For additional commands, e-mail: log4j-dev-h...@logging.apache.org >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>>>> 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 >>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >>>> 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 >>>> >>>> >>>> >>> >>> >>> -- >>> Matt Sicker <boa...@gmail.com> >>> >> >> >> >> -- >> Matt Sicker <boa...@gmail.com> >> > > -- Matt Sicker <boa...@gmail.com>