Repository: logging-log4j2 Updated Branches: refs/heads/master f6f33b1d9 -> 96436fb95
Fix Kafka appender close timeout test Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/96436fb9 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/96436fb9 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/96436fb9 Branch: refs/heads/master Commit: 96436fb958ce1f1a3d4f0c951f556f0709c91b15 Parents: f6f33b1 Author: Mikael Ståldal <[email protected]> Authored: Fri May 20 14:31:05 2016 +0200 Committer: Mikael Ståldal <[email protected]> Committed: Fri May 20 14:31:05 2016 +0200 ---------------------------------------------------------------------- .../kafka/KafkaAppenderCloseTimeoutTest.java | 75 -------------------- .../appender/mom/kafka/KafkaAppenderTest.java | 41 ++++++++--- .../src/test/resources/KafkaAppenderTest.xml | 7 +- 3 files changed, 34 insertions(+), 89 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96436fb9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java deleted file mode 100644 index 64d5b1f..0000000 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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. - */ - -package org.apache.logging.log4j.core.appender.mom.kafka; - -import java.util.Properties; -import java.util.concurrent.TimeUnit; - -import org.apache.kafka.clients.producer.MockProducer; -import org.apache.kafka.clients.producer.Producer; -import org.apache.logging.log4j.core.Appender; -import org.apache.logging.log4j.junit.LoggerContextRule; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Rule; -import org.junit.Test; - -public class KafkaAppenderCloseTimeoutTest { - - private static final MockProducer<byte[], byte[]> kafka = new MockProducer<byte[], byte[]>(true, null, null) { - @Override - public void close() { - try { - Thread.sleep(3000); - } catch (InterruptedException ignore) { - } - } - - @Override - public void close(long timeout, TimeUnit timeUnit) { - try { - Thread.sleep(timeUnit.toMillis(timeout)); - } catch (InterruptedException ignore) { - } - } - }; - - @BeforeClass - public static void setUpClass() throws Exception { - KafkaManager.producerFactory = new KafkaProducerFactory() { - @Override - public Producer<byte[], byte[]> newKafkaProducer(final Properties config) { - return kafka; - } - }; - } - - @Rule - public LoggerContextRule ctx = new LoggerContextRule("KafkaAppenderTest.xml"); - - @Before - public void setUp() throws Exception { - kafka.clear(); - } - - @Test(timeout = 2000) - public void testClose() throws Exception { - final Appender appender = ctx.getRequiredAppender("KafkaAppenderWithCloseTimeout"); - appender.stop(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96436fb9/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java index c65d309..2d002ea 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java @@ -17,6 +17,15 @@ package org.apache.logging.log4j.core.appender.mom.kafka; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectInputStream; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Properties; +import java.util.concurrent.TimeUnit; + import org.apache.kafka.clients.producer.MockProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; @@ -31,19 +40,27 @@ import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectInputStream; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Properties; - import static org.junit.Assert.*; public class KafkaAppenderTest { - private static final MockProducer<byte[], byte[]> kafka = new MockProducer<>(true, null, null); + private static final MockProducer<byte[], byte[]> kafka = new MockProducer<byte[], byte[]>(true, null, null) { + @Override + public void close() { + try { + Thread.sleep(3000); + } catch (InterruptedException ignore) { + } + } + + @Override + public void close(long timeout, TimeUnit timeUnit) { + try { + Thread.sleep(timeUnit.toMillis(timeout)); + } catch (InterruptedException ignore) { + } + } + }; private static final String LOG_MESSAGE = "Hello, world!"; private static final String TOPIC_NAME = "kafka-topic"; @@ -121,4 +138,10 @@ public class KafkaAppenderTest { return (LogEvent) ois.readObject(); } } + + @Test(timeout = 2000) + public void testClose() throws Exception { + final Appender appender = ctx.getRequiredAppender("KafkaAppender"); + appender.stop(); + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/96436fb9/log4j-core/src/test/resources/KafkaAppenderTest.xml ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/resources/KafkaAppenderTest.xml b/log4j-core/src/test/resources/KafkaAppenderTest.xml index 1bf8774..6b256ad 100644 --- a/log4j-core/src/test/resources/KafkaAppenderTest.xml +++ b/log4j-core/src/test/resources/KafkaAppenderTest.xml @@ -19,18 +19,16 @@ <Appenders> <Kafka name="KafkaAppender" topic="kafka-topic"> <Property name="bootstrap.servers">localhost:9092</Property> + <Property name="timeout.ms">1000</Property> </Kafka> <Kafka name="KafkaAppenderWithLayout" topic="kafka-topic"> <PatternLayout pattern="[%m]"/> <Property name="bootstrap.servers">localhost:9092</Property> + <Property name="timeout.ms">1000</Property> </Kafka> <Kafka name="KafkaAppenderWithSerializedLayout" topic="kafka-topic"> <SerializedLayout/> <Property name="bootstrap.servers">localhost:9092</Property> - </Kafka> - <Kafka name="KafkaAppenderWithCloseTimeout" topic="kafka-topic"> - <SerializedLayout/> - <Property name="bootstrap.servers">localhost:9092</Property> <Property name="timeout.ms">1000</Property> </Kafka> </Appenders> @@ -39,7 +37,6 @@ <AppenderRef ref="KafkaAppender"/> <AppenderRef ref="KafkaAppenderWithLayout"/> <AppenderRef ref="KafkaAppenderWithSerializedLayout"/> - <AppenderRef ref="KafkaAppenderWithCloseTimeout"/> </Root> </Loggers> </Configuration> \ No newline at end of file
