You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/11/30 19:21:38 UTC
[camel] branch master updated: CAMEL-15879 Update avro version to
1.10.x (1.10.0) (#4702)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new a78fff1 CAMEL-15879 Update avro version to 1.10.x (1.10.0) (#4702)
a78fff1 is described below
commit a78fff15f29898c5893db98a9977b1cf6e1629e8
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Mon Nov 30 20:21:01 2020 +0100
CAMEL-15879 Update avro version to 1.10.x (1.10.0) (#4702)
---
camel-dependencies/pom.xml | 6 +-
.../apache/camel/catalog/docs/avro-component.adoc | 4 +
.../src/main/docs/avro-component.adoc | 4 +
.../component/avro/AvroConsumerTestSupport.java | 22 ++++
.../component/avro/AvroNettyConsumerTest.java | 121 +++++++++++++--------
.../component/avro/AvroNettyProducerTest.java | 73 +++++++------
.../avro/AvroNettySpringConsumerTest.java | 5 +-
.../component/avro/AvroProducerTestSupport.java | 10 +-
.../camel/component/avro/ConsumerRouteType.java | 24 ++++
.../camel/component/avro/ProducerRouteType.java | 22 ++++
.../base.xml} | 40 -------
.../reflect.xml} | 49 ---------
.../component/avro/netty-consumer/specific.xml | 45 ++++++++
.../avro/netty-consumer/specificProcessor.xml | 40 +++++++
.../avro/netty-consumer/specificProcessorWrong.xml | 37 +++++++
.../modules/ROOT/pages/avro-component.adoc | 4 +
parent/pom.xml | 6 +-
17 files changed, 334 insertions(+), 178 deletions(-)
diff --git a/camel-dependencies/pom.xml b/camel-dependencies/pom.xml
index ac24247..6e09bca 100644
--- a/camel-dependencies/pom.xml
+++ b/camel-dependencies/pom.xml
@@ -65,9 +65,9 @@
<atmosphere-version-range>[2.6,3.0)</atmosphere-version-range>
<atomix-catalyst-version>1.2.1</atomix-catalyst-version>
<atomix-version>1.0.8</atomix-version>
- <avro-ipc-jetty-version>1.9.1</avro-ipc-jetty-version>
- <avro-ipc-netty-version>1.9.1</avro-ipc-netty-version>
- <avro-version>1.9.1</avro-version>
+ <avro-ipc-jetty-version>1.10.0</avro-ipc-jetty-version>
+ <avro-ipc-netty-version>1.10.0</avro-ipc-netty-version>
+ <avro-version>1.10.0</avro-version>
<awaitility-version>4.0.3</awaitility-version>
<aws-java-sdk-swf-libs>1.11.22</aws-java-sdk-swf-libs>
<aws-java-sdk-version>1.11.714</aws-java-sdk-version>
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/avro-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/avro-component.adoc
index ce5588f..18255f0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/avro-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/avro-component.adoc
@@ -274,4 +274,8 @@ is used and `getProcessor` will receive Value class directly in body,
while `putProcessor` will receive an array of size 2 with String key and
Value value filled as array contents.
+== Karaf support
+
+This component is not supported in Karaf.
+
include::camel-spring-boot::page$avro-starter.adoc[]
diff --git a/components/camel-avro-rpc/src/main/docs/avro-component.adoc b/components/camel-avro-rpc/src/main/docs/avro-component.adoc
index ce5588f..18255f0 100644
--- a/components/camel-avro-rpc/src/main/docs/avro-component.adoc
+++ b/components/camel-avro-rpc/src/main/docs/avro-component.adoc
@@ -274,4 +274,8 @@ is used and `getProcessor` will receive Value class directly in body,
while `putProcessor` will receive an array of size 2 with String key and
Value value filled as array contents.
+== Karaf support
+
+This component is not supported in Karaf.
+
include::camel-spring-boot::page$avro-starter.adoc[]
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
index 602187f..fe99af2 100644
--- a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroConsumerTestSupport.java
@@ -188,4 +188,26 @@ public abstract class AvroConsumerTestSupport extends AvroTestSupport {
Object response = reflectRequestor.request("getTestPojo", request);
assertEquals(testPojo.getPojoName(), ((TestPojo) response).getPojoName());
}
+
+ protected ConsumerRouteType getRouteType() {
+ switch (getCurrentTestName()) {
+ case "testInOut()":
+ case "testInOnly()":
+ return ConsumerRouteType.specific;
+ case "testInOutMessageInRoute()":
+ case "testInOnlyWrongMessageName()":
+ case "testInOnlyMessageInRoute()":
+ return ConsumerRouteType.specificProcessor;
+ case "testInOnlyReflectSingleParameterNotSet()":
+ case "testInOutReflectionPojoTest()":
+ case "testInOnlyReflectionPojoTest()":
+ case "testInOutReflectRequestor()":
+ case "testInOnlyReflectRequestor()":
+ return ConsumerRouteType.reflect;
+ case "testInOnlyToNotExistingRoute()":
+ return ConsumerRouteType.specificProcessorWrong;
+ default:
+ throw new IllegalStateException(String.format("Test '%s' is not listed.", getCurrentTestName()));
+ }
+ }
}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
index ffaf1a2..27c6c2e 100644
--- a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
@@ -34,17 +34,29 @@ public class AvroNettyConsumerTest extends AvroConsumerTestSupport {
@Override
protected void initializeTranceiver() throws IOException {
- transceiver = new NettyTransceiver(new InetSocketAddress("localhost", avroPort));
- requestor = new SpecificRequestor(KeyValueProtocol.class, transceiver);
-
- transceiverMessageInRoute = new NettyTransceiver(new InetSocketAddress("localhost", avroPortMessageInRoute));
- requestorMessageInRoute = new SpecificRequestor(KeyValueProtocol.class, transceiverMessageInRoute);
-
- transceiverForWrongMessages = new NettyTransceiver(new InetSocketAddress("localhost", avroPortForWrongMessages));
- requestorForWrongMessages = new SpecificRequestor(KeyValueProtocol.class, transceiverForWrongMessages);
-
- reflectTransceiver = new NettyTransceiver(new InetSocketAddress("localhost", avroPortReflection));
- reflectRequestor = new ReflectRequestor(TestReflection.class, reflectTransceiver);
+ ConsumerRouteType type = getRouteType();
+
+ switch (type) {
+ case reflect:
+ reflectTransceiver = new NettyTransceiver(new InetSocketAddress("localhost", avroPortReflection));
+ reflectRequestor = new ReflectRequestor(TestReflection.class, reflectTransceiver);
+ return;
+ case specific:
+ transceiver = new NettyTransceiver(new InetSocketAddress("localhost", avroPort));
+ requestor = new SpecificRequestor(KeyValueProtocol.class, transceiver);
+ return;
+ case specificProcessor:
+ transceiverMessageInRoute = new NettyTransceiver(new InetSocketAddress("localhost", avroPortMessageInRoute));
+ requestorMessageInRoute = new SpecificRequestor(KeyValueProtocol.class, transceiverMessageInRoute);
+ return;
+ case specificProcessorWrong:
+ transceiverForWrongMessages
+ = new NettyTransceiver(new InetSocketAddress("localhost", avroPortForWrongMessages));
+ requestorForWrongMessages = new SpecificRequestor(KeyValueProtocol.class, transceiverForWrongMessages);
+ return;
+ default:
+ throw new IllegalStateException("Unsupported type of route.");
+ }
}
@Override
@@ -52,45 +64,58 @@ public class AvroNettyConsumerTest extends AvroConsumerTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- //In Only
- from("avro:netty:localhost:" + avroPort + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .choice()
- .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + "} == 'put'")
- .process(new PutProcessor(keyValue))
- .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + "} == 'get'")
- .process(new GetProcessor(keyValue));
-
- from("avro:netty:localhost:" + avroPortMessageInRoute
- + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .process(new PutProcessor(keyValue));
-
- from("avro:netty:localhost:" + avroPortMessageInRoute
- + "/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .process(new GetProcessor(keyValue));
-
- from("avro:netty:localhost:" + avroPortForWrongMessages
- + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .process(new PutProcessor(keyValue));
-
- from("avro:netty:localhost:" + avroPortReflection
- + "/setName?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
- .process(new ReflectionInOnlyProcessor(testReflection));
-
- from("avro:netty:localhost:" + avroPortReflection
- + "/setAge?protocolClassName=org.apache.camel.avro.test.TestReflection")
- .process(new ReflectionInOnlyProcessor(testReflection));
-
- from("avro:http:localhost:" + avroPortReflection
- + "/setTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
- .process(new ReflectionInOnlyProcessor(testReflection));
- from("avro:http:localhost:" + avroPortReflection
- + "/increaseAge?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
- .process(new ReflectionInOutProcessor(testReflection));
+ switch (getRouteType()) {
+ case specific:
+ from("avro:netty:localhost:" + avroPort
+ + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .choice()
+ .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + "} == 'put'")
+ .process(new PutProcessor(keyValue))
+ .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + "} == 'get'")
+ .process(new GetProcessor(keyValue));
+ break;
+ case specificProcessor:
+ from("avro:netty:localhost:" + avroPortMessageInRoute
+ + "/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .process(new GetProcessor(keyValue));
+
+ from("avro:netty:localhost:" + avroPortMessageInRoute
+ + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .process(new PutProcessor(keyValue));
+
+ break;
+ case specificProcessorWrong:
+ from("avro:netty:localhost:" + avroPortForWrongMessages
+ + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .process(new PutProcessor(keyValue));
+ break;
+ case reflect:
+ from("avro:netty:localhost:" + avroPortReflection
+ + "/getTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection")
+ .process(new ReflectionInOutProcessor(testReflection));
+
+ from("avro:netty:localhost:" + avroPortReflection
+ + "/setAge?protocolClassName=org.apache.camel.avro.test.TestReflection")
+ .process(new ReflectionInOnlyProcessor(testReflection));
+
+ from("avro:http:localhost:" + avroPortReflection
+ + "/setTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
+ .process(new ReflectionInOnlyProcessor(testReflection));
+
+ from("avro:http:localhost:" + avroPortReflection
+ + "/increaseAge?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
+ .process(new ReflectionInOutProcessor(testReflection));
+
+ from("avro:netty:localhost:" + avroPortReflection
+ + "/setName?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true")
+ .process(new ReflectionInOnlyProcessor(testReflection));
+
+ break;
+ default:
+ throw new IllegalStateException("Unsupported type of route.");
+ }
- from("avro:netty:localhost:" + avroPortReflection
- + "/getTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection")
- .process(new ReflectionInOutProcessor(testReflection));
}
};
}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyProducerTest.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyProducerTest.java
index 9971c1b..f0b5b46 100644
--- a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyProducerTest.java
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettyProducerTest.java
@@ -28,14 +28,14 @@ import org.apache.camel.builder.RouteBuilder;
public class AvroNettyProducerTest extends AvroProducerTestSupport {
@Override
- protected void initializeServer() {
- if (server == null) {
+ protected void initializeServer() throws InterruptedException {
+ if (server == null && getRouteType() == ProducerRouteType.specific) {
server = new NettyServer(
new SpecificResponder(KeyValueProtocol.PROTOCOL, keyValue), new InetSocketAddress("localhost", avroPort));
server.start();
}
- if (serverReflection == null) {
+ if (serverReflection == null && getRouteType() == ProducerRouteType.reflect) {
serverReflection = new NettyServer(
new ReflectResponder(TestReflection.class, testReflection),
new InetSocketAddress("localhost", avroPortReflection));
@@ -48,40 +48,47 @@ public class AvroNettyProducerTest extends AvroProducerTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- //In Only
- from("direct:in")
- .to("avro:netty:localhost:" + avroPort
- + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol");
+ switch (getRouteType()) {
+ case specific:
+ //In Only
+ from("direct:in")
+ .to("avro:netty:localhost:" + avroPort
+ + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol");
- //In Only with message in route
- from("direct:in-message-name")
- .errorHandler(deadLetterChannel("mock:in-message-name-error"))
- .to("avro:netty:localhost:" + avroPort
- + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .to("mock:result-in-message-name");
+ //In Only with message in route
+ from("direct:in-message-name")
+ .errorHandler(deadLetterChannel("mock:in-message-name-error"))
+ .to("avro:netty:localhost:" + avroPort
+ + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .to("mock:result-in-message-name");
- //In Only with existing interface
- from("direct:in-reflection")
- .to("avro:netty:localhost:" + avroPortReflection
- + "/setName?protocolClassName=org.apache.camel.avro.test.TestReflection");
+ //InOut
+ from("direct:inout")
+ .to("avro:netty:localhost:" + avroPort
+ + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .to("mock:result-inout");
- //InOut
- from("direct:inout")
- .to("avro:netty:localhost:" + avroPort
- + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .to("mock:result-inout");
+ //InOut
+ from("direct:inout-message-name")
+ .to("avro:netty:localhost:" + avroPort
+ + "/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
+ .to("mock:result-inout-message-name");
+ break;
+ case reflect:
+ //In Only with existing interface
+ from("direct:in-reflection")
+ .to("avro:netty:localhost:" + avroPortReflection
+ + "/setName?protocolClassName=org.apache.camel.avro.test.TestReflection");
- //InOut
- from("direct:inout-message-name")
- .to("avro:netty:localhost:" + avroPort
- + "/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
- .to("mock:result-inout-message-name");
-
- //InOut with existing interface
- from("direct:inout-reflection")
- .to("avro:netty:localhost:" + avroPortReflection
- + "/increaseAge?protocolClassName=org.apache.camel.avro.test.TestReflection")
- .to("mock:result-inout-reflection");
+ //InOut with existing interface
+ from("direct:inout-reflection")
+ .to("avro:netty:localhost:" + avroPortReflection
+ + "/increaseAge?protocolClassName=org.apache.camel.avro.test.TestReflection")
+ .to("mock:result-inout-reflection");
+ break;
+ default:
+ throw new IllegalStateException("Unsupported type of route.");
+ }
}
};
}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettySpringConsumerTest.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettySpringConsumerTest.java
index 99f265f..15e3608 100644
--- a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettySpringConsumerTest.java
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroNettySpringConsumerTest.java
@@ -49,7 +49,10 @@ public class AvroNettySpringConsumerTest extends AvroNettyConsumerTest {
@Override
protected CamelContext createCamelContext() throws Exception {
- applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/component/avro/avro-netty-consumer.xml");
+ String xmlPath = "org/apache/camel/component/avro/netty-consumer/";
+
+ applicationContext = new ClassPathXmlApplicationContext(xmlPath + "base.xml", xmlPath + getRouteType().name() + ".xml");
+
return SpringCamelContext.springCamelContext(applicationContext, true);
}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroProducerTestSupport.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroProducerTestSupport.java
index d18160b..c42548d 100644
--- a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroProducerTestSupport.java
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/AvroProducerTestSupport.java
@@ -36,7 +36,7 @@ public abstract class AvroProducerTestSupport extends AvroTestSupport {
KeyValueProtocolImpl keyValue = new KeyValueProtocolImpl();
TestReflectionImpl testReflection = new TestReflectionImpl();
- protected abstract void initializeServer() throws IOException;
+ protected abstract void initializeServer() throws IOException, InterruptedException;
@Override
protected void doPreSetup() throws Exception {
@@ -142,4 +142,12 @@ public abstract class AvroProducerTestSupport extends AvroTestSupport {
mock.assertIsSatisfied(5000);
}
+ protected ProducerRouteType getRouteType() {
+ if (getCurrentTestName().contains("Reflection")) {
+ return ProducerRouteType.reflect;
+ }
+
+ return ProducerRouteType.specific;
+ }
+
}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ConsumerRouteType.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ConsumerRouteType.java
new file mode 100644
index 0000000..b84f36d
--- /dev/null
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ConsumerRouteType.java
@@ -0,0 +1,24 @@
+/*
+ * 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.camel.component.avro;
+
+public enum ConsumerRouteType {
+ specific,
+ specificProcessor,
+ specificProcessorWrong,
+ reflect
+}
diff --git a/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ProducerRouteType.java b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ProducerRouteType.java
new file mode 100644
index 0000000..c659ef4
--- /dev/null
+++ b/components/camel-avro-rpc/src/test/java/org/apache/camel/component/avro/ProducerRouteType.java
@@ -0,0 +1,22 @@
+/*
+ * 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.camel.component.avro;
+
+public enum ProducerRouteType {
+ specific,
+ reflect
+}
diff --git a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/base.xml
similarity index 59%
copy from components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml
copy to components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/base.xml
index 3c3814e..b07889d 100644
--- a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml
+++ b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/base.xml
@@ -39,46 +39,6 @@
</when>
</choice>
</route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="putProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="getProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortForWrongMessages}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="putProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortReflection}}/setName?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true"/>
- <process ref="reflectionInOnlyProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortReflection}}/setAge?protocolClassName=org.apache.camel.avro.test.TestReflection"/>
- <process ref="reflectionInOnlyProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortReflection}}/setTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true"/>
- <process ref="reflectionInOnlyProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortReflection}}/increaseAge?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true"/>
- <process ref="reflectionInOutProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortReflection}}/getTestPojo?protocolClassName=org.apache.camel.avro.test.TestReflection"/>
- <process ref="reflectionInOutProcessor"/>
- </route>
</camelContext>
diff --git a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/reflect.xml
similarity index 56%
rename from components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml
rename to components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/reflect.xml
index 3c3814e..b610f78 100644
--- a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/avro-netty-consumer.xml
+++ b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/reflect.xml
@@ -27,35 +27,6 @@
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<propertyPlaceholder id="properties" ignoreMissingLocation="true" location="classpath:custom.properties"/>
<route>
- <from uri="avro:netty:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <choice>
- <when>
- <simple>${in.headers.CamelAvroMessageName} == 'put'</simple>
- <process ref="putProcessor"/>
- </when>
- <when>
- <simple>${in.headers.CamelAvroMessageName} == 'get'</simple>
- <process ref="getProcessor"/>
- </when>
- </choice>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="putProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="getProcessor"/>
- </route>
-
- <route>
- <from uri="avro:netty:localhost:{{avroPortForWrongMessages}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
- <process ref="putProcessor"/>
- </route>
-
- <route>
<from uri="avro:netty:localhost:{{avroPortReflection}}/setName?protocolClassName=org.apache.camel.avro.test.TestReflection&singleParameter=true"/>
<process ref="reflectionInOnlyProcessor"/>
</route>
@@ -82,24 +53,4 @@
</camelContext>
- <bean id="keyValue" class="org.apache.camel.avro.impl.KeyValueProtocolImpl"/>
-
- <bean id="testReflection" class="org.apache.camel.avro.test.TestReflectionImpl"/>
-
- <bean id="getProcessor" class="org.apache.camel.component.avro.processors.GetProcessor">
- <constructor-arg ref="keyValue"/>
- </bean>
-
- <bean id="putProcessor" class="org.apache.camel.component.avro.processors.PutProcessor">
- <constructor-arg ref="keyValue"/>
- </bean>
-
- <bean id="reflectionInOnlyProcessor" class="org.apache.camel.component.avro.processors.ReflectionInOnlyProcessor">
- <constructor-arg ref="testReflection"/>
- </bean>
-
- <bean id="reflectionInOutProcessor" class="org.apache.camel.component.avro.processors.ReflectionInOutProcessor">
- <constructor-arg ref="testReflection"/>
- </bean>
-
</beans>
\ No newline at end of file
diff --git a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specific.xml b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specific.xml
new file mode 100644
index 0000000..d22dd25
--- /dev/null
+++ b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specific.xml
@@ -0,0 +1,45 @@
+<?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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <propertyPlaceholder id="properties" ignoreMissingLocation="true" location="classpath:custom.properties"/>
+ <route>
+ <from uri="avro:netty:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <choice>
+ <when>
+ <simple>${in.headers.CamelAvroMessageName} == 'put'</simple>
+ <process ref="putProcessor"/>
+ </when>
+ <when>
+ <simple>${in.headers.CamelAvroMessageName} == 'get'</simple>
+ <process ref="getProcessor"/>
+ </when>
+ </choice>
+ </route>
+
+ </camelContext>
+
+</beans>
\ No newline at end of file
diff --git a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessor.xml b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessor.xml
new file mode 100644
index 0000000..82b334e
--- /dev/null
+++ b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessor.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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <propertyPlaceholder id="properties" ignoreMissingLocation="true" location="classpath:custom.properties"/>
+ <route>
+ <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <process ref="getProcessor"/>
+ </route>
+
+ <route >
+ <from uri="avro:netty:localhost:{{avroPortMessageInRoute}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <process ref="putProcessor"/>
+ </route>
+ </camelContext>
+
+</beans>
\ No newline at end of file
diff --git a/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessorWrong.xml b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessorWrong.xml
new file mode 100644
index 0000000..cec071b
--- /dev/null
+++ b/components/camel-avro-rpc/src/test/resources/org/apache/camel/component/avro/netty-consumer/specificProcessorWrong.xml
@@ -0,0 +1,37 @@
+<?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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <propertyPlaceholder id="properties" ignoreMissingLocation="true" location="classpath:custom.properties"/>
+
+ <route>
+ <from uri="avro:netty:localhost:{{avroPortForWrongMessages}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <process ref="putProcessor"/>
+ </route>
+
+ </camelContext>
+
+</beans>
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/avro-component.adoc b/docs/components/modules/ROOT/pages/avro-component.adoc
index 4b01652..29c2320 100644
--- a/docs/components/modules/ROOT/pages/avro-component.adoc
+++ b/docs/components/modules/ROOT/pages/avro-component.adoc
@@ -276,4 +276,8 @@ is used and `getProcessor` will receive Value class directly in body,
while `putProcessor` will receive an array of size 2 with String key and
Value value filled as array contents.
+== Karaf support
+
+This component is not supported in Karaf.
+
include::camel-spring-boot::page$avro-starter.adoc[]
diff --git a/parent/pom.xml b/parent/pom.xml
index 9042c64..4d0a6ff 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -73,9 +73,9 @@
<atmosphere-version-range>[2.6,3.0)</atmosphere-version-range>
<atomix-version>1.0.8</atomix-version>
<atomix-catalyst-version>1.2.1</atomix-catalyst-version>
- <avro-version>1.9.1</avro-version>
- <avro-ipc-jetty-version>1.9.1</avro-ipc-jetty-version>
- <avro-ipc-netty-version>1.9.1</avro-ipc-netty-version>
+ <avro-version>1.10.0</avro-version>
+ <avro-ipc-jetty-version>1.10.0</avro-ipc-jetty-version>
+ <avro-ipc-netty-version>1.10.0</avro-ipc-netty-version>
<awaitility-version>4.0.3</awaitility-version>
<aws-java-sdk-version>1.11.714</aws-java-sdk-version>
<aws-java-sdk2-version>2.15.35</aws-java-sdk2-version>