From 9e39a0ad4e02869a1ee37a0a32736cf7eacd9a8e Mon Sep 17 00:00:00 2001 From: Christian Ribeaud <christian.ribeaud@novartis.com> Date: Fri, 10 Mar 2017 18:44:53 +0100 Subject: [PATCH] Add log configuration * Find out how to improve the performance. --- pom.xml | 6 +++ ...taProviderComponentMultithreadingTest.java | 40 +++++++++++++++++++ src/test/resources/log4j2.properties | 6 --- src/test/resources/logback.xml | 16 ++++++++ 4 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 src/test/java/org/apache/camel/component/dataprovider/DataProviderComponentMultithreadingTest.java delete mode 100644 src/test/resources/log4j2.properties create mode 100644 src/test/resources/logback.xml diff --git a/pom.xml b/pom.xml index 734c54d..31a620d 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,7 @@ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <camel.version>2.18.1</camel.version> <slf4j.version>1.7.22</slf4j.version> + <logback.classic>1.2.1</logback.classic> <guava.version>21.0</guava.version> <mockito.version>1.10.19</mockito.version> <maven.compiler.source>1.8</maven.compiler.source> @@ -49,6 +50,11 @@ </dependency> <!-- testing --> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${logback.classic}</version> + </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-testng</artifactId> diff --git a/src/test/java/org/apache/camel/component/dataprovider/DataProviderComponentMultithreadingTest.java b/src/test/java/org/apache/camel/component/dataprovider/DataProviderComponentMultithreadingTest.java new file mode 100644 index 0000000..3317aac --- /dev/null +++ b/src/test/java/org/apache/camel/component/dataprovider/DataProviderComponentMultithreadingTest.java @@ -0,0 +1,40 @@ +package org.apache.camel.component.dataprovider; + +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.impl.JndiRegistry; +import org.apache.camel.testng.CamelTestSupport; +import org.testng.annotations.Test; + +/** + * Test cases for corresponding class {@link DataProviderComponent}. + * + * @author <a href="mailto:christian.ribeaud@novartis.com">Christian Ribeaud</a> + */ +public class DataProviderComponentMultithreadingTest extends CamelTestSupport { + + @Test + public void testDataProvider() throws Exception { + MockEndpoint mock = getMockEndpoint("mock:result"); + // It will wait until it reaches the expected count + mock.expectedMessageCount(1000); + mock.assertIsSatisfied(); + } + + @Override + protected JndiRegistry createRegistry() throws Exception { + JndiRegistry registry = super.createRegistry(); + registry.bind("foo", new StaticDataProvider<>(DataProviderComponentTest.getRandomStrings(1000))); + return registry; + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + public void configure() { + from("dataprovider://foo?consumer.useFixedDelay=true&consumer.delay=20&consumer.maxMessagesPerPoll=20&initialDelay=20"). + to("mock:result"); + } + }; + } +} diff --git a/src/test/resources/log4j2.properties b/src/test/resources/log4j2.properties deleted file mode 100644 index df3daa5..0000000 --- a/src/test/resources/log4j2.properties +++ /dev/null @@ -1,6 +0,0 @@ -appender.out.type = Console -appender.out.name = out -appender.out.layout.type = PatternLayout -appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n -rootLogger.level = INFO -rootLogger.appenderRef.out.ref = out diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml new file mode 100644 index 0000000..f623577 --- /dev/null +++ b/src/test/resources/logback.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration debug="true"> + + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> + <!-- encoders are assigned the type + ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> + </encoder> + </appender> + <logger name="org.apache.camel.component.dataprovider" level="DEBUG"/> + + <root level="INFO"> + <appender-ref ref="CONSOLE"/> + </root> +</configuration> \ No newline at end of file