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 2019/08/21 09:23:38 UTC
[camel] 02/03: CAMEL-13870: Fast property configuration of Camel
endpoints. Work in progress.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch CAMEL-13870
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5a1ba424b64557cbd0f1728d74d5a2e8664e817a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Aug 21 11:21:07 2019 +0200
CAMEL-13870: Fast property configuration of Camel endpoints. Work in progress.
---
.../component/atomix/AtomixConfiguration.java | 23 +++++++++++-----------
.../client/AbstractAtomixClientComponent.java | 2 +-
.../atomix/client/AtomixClientHelper.java | 11 ++++++-----
.../atomix/cluster/AtomixClusterClientService.java | 11 +++++------
.../atomix/cluster/AtomixClusterHelper.java | 11 ++++++-----
.../atomix/cluster/AtomixClusterService.java | 12 +++++------
6 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixConfiguration.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixConfiguration.java
index 342f717..f424464 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixConfiguration.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/AtomixConfiguration.java
@@ -26,19 +26,18 @@ import java.util.stream.Stream;
import io.atomix.Atomix;
import io.atomix.catalyst.transport.Address;
-import io.atomix.catalyst.transport.Transport;
import io.atomix.catalyst.transport.netty.NettyTransport;
import io.atomix.resource.ReadConsistency;
import org.apache.camel.spi.UriParam;
import org.apache.camel.util.ObjectHelper;
public class AtomixConfiguration<T extends Atomix> implements Cloneable {
- @UriParam(javaType = "io.atomix.Atomix")
- private T atomix;
+ @UriParam
+ private Atomix atomix;
@UriParam(javaType = "java.lang.String")
private List<Address> nodes = Collections.emptyList();
- @UriParam(javaType = "io.atomix.catalyst.transport.Transport", defaultValue = "io.atomix.catalyst.transport.netty.NettyTransport")
- private Class<? extends Transport> transport = NettyTransport.class;
+ @UriParam(defaultValue = "io.atomix.catalyst.transport.netty.NettyTransport")
+ private String transportClassName = NettyTransport.class.getName();
@UriParam
private String configurationUri;
@UriParam(label = "advanced")
@@ -62,14 +61,14 @@ public class AtomixConfiguration<T extends Atomix> implements Cloneable {
// Properties
// *****************************************
- public T getAtomix() {
+ public Atomix getAtomix() {
return atomix;
}
/**
* The Atomix instance to use
*/
- public void setAtomix(T client) {
+ public void setAtomix(Atomix client) {
this.atomix = client;
}
@@ -90,15 +89,15 @@ public class AtomixConfiguration<T extends Atomix> implements Cloneable {
}
}
- public Class<? extends Transport> getTransport() {
- return transport;
+ public String getTransportClassName() {
+ return transportClassName;
}
/**
- * Sets the Atomix transport.
+ * The class name (fqn) of the Atomix transport
*/
- public void setTransport(Class<? extends Transport> transport) {
- this.transport = transport;
+ public void setTransportClassName(String transportClassName) {
+ this.transportClassName = transportClassName;
}
public String getConfigurationUri() {
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientComponent.java
index f6d263d..88b2fee 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientComponent.java
@@ -40,7 +40,7 @@ public abstract class AbstractAtomixClientComponent<C extends AtomixClientConfig
// *****************************************
public AtomixClient getAtomix() {
- return getComponentConfiguration().getAtomix();
+ return (AtomixClient) getComponentConfiguration().getAtomix();
}
/**
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AtomixClientHelper.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AtomixClientHelper.java
index 06ca370..9909d4f 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AtomixClientHelper.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AtomixClientHelper.java
@@ -20,16 +20,18 @@ import java.io.InputStream;
import java.util.Properties;
import io.atomix.AtomixClient;
+import io.atomix.catalyst.transport.Transport;
import org.apache.camel.CamelContext;
import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.ObjectHelper;
public final class AtomixClientHelper {
+
private AtomixClientHelper() {
}
public static AtomixClient createClient(CamelContext camelContext, AtomixClientConfiguration configuration) throws Exception {
- AtomixClient atomix = configuration.getAtomix();
+ AtomixClient atomix = (AtomixClient) configuration.getAtomix();
if (atomix == null) {
final AtomixClient.Builder atomixBuilder;
@@ -47,10 +49,9 @@ public final class AtomixClientHelper {
atomixBuilder = AtomixClient.builder();
}
- if (configuration.getTransport() != null) {
- atomixBuilder.withTransport(
- camelContext.getInjector().newInstance(configuration.getTransport())
- );
+ if (configuration.getTransportClassName() != null) {
+ Class<? extends Transport> clazz = camelContext.getClassResolver().resolveMandatoryClass(configuration.getTransportClassName(), Transport.class);
+ atomixBuilder.withTransport(camelContext.getInjector().newInstance(clazz));
}
atomix = atomixBuilder.build();
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterClientService.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterClientService.java
index 846aa73..524325f 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterClientService.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterClientService.java
@@ -20,7 +20,6 @@ import java.util.List;
import io.atomix.AtomixClient;
import io.atomix.catalyst.transport.Address;
-import io.atomix.catalyst.transport.Transport;
import org.apache.camel.CamelContext;
import org.apache.camel.component.atomix.client.AtomixClientConfiguration;
import org.apache.camel.component.atomix.client.AtomixClientHelper;
@@ -68,16 +67,16 @@ public final class AtomixClusterClientService extends AbstractCamelClusterServic
configuration.setNodes(nodes);
}
- public Class<? extends Transport> getTransport() {
- return configuration.getTransport();
+ public String getTransport() {
+ return configuration.getTransportClassName();
}
- public void setTransport(Class<? extends Transport> transport) {
- configuration.setTransport(transport);
+ public void setTransportClassName(String transport) {
+ configuration.setTransportClassName(transport);
}
public AtomixClient getAtomix() {
- return configuration.getAtomix();
+ return (AtomixClient) configuration.getAtomix();
}
public void setAtomix(AtomixClient atomix) {
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterHelper.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterHelper.java
index c6f9e39..334a6e0 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterHelper.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterHelper.java
@@ -21,12 +21,14 @@ import java.util.Properties;
import io.atomix.AtomixReplica;
import io.atomix.catalyst.transport.Address;
+import io.atomix.catalyst.transport.Transport;
import io.atomix.copycat.server.storage.Storage;
import org.apache.camel.CamelContext;
import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.ObjectHelper;
public final class AtomixClusterHelper {
+
private AtomixClusterHelper() {
}
@@ -35,7 +37,7 @@ public final class AtomixClusterHelper {
}
public static AtomixReplica createReplica(CamelContext camelContext, Address address, AtomixClusterConfiguration configuration) throws Exception {
- AtomixReplica atomix = configuration.getAtomix();
+ AtomixReplica atomix = (AtomixReplica) configuration.getAtomix();
if (atomix == null) {
final AtomixReplica.Builder atomixBuilder;
@@ -59,10 +61,9 @@ public final class AtomixClusterHelper {
atomixBuilder.withStorage(storageBuilder.build());
- if (configuration.getTransport() != null) {
- atomixBuilder.withTransport(
- camelContext.getInjector().newInstance(configuration.getTransport())
- );
+ if (configuration.getTransportClassName() != null) {
+ Class<? extends Transport> clazz = camelContext.getClassResolver().resolveMandatoryClass(configuration.getTransportClassName(), Transport.class);
+ atomixBuilder.withTransport(camelContext.getInjector().newInstance(clazz));
}
if (configuration.getClientTransport() != null) {
atomixBuilder.withClientTransport(
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterService.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterService.java
index 44333bc..cfb78f3 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterService.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/cluster/AtomixClusterService.java
@@ -95,16 +95,16 @@ public final class AtomixClusterService extends AbstractCamelClusterService<Atom
configuration.setNodes(nodes);
}
- public Class<? extends Transport> getTransport() {
- return configuration.getTransport();
+ public String getTransport() {
+ return configuration.getTransportClassName();
}
- public void setTransport(Class<? extends Transport> transport) {
- configuration.setTransport(transport);
+ public void setTransportClassName(String transport) {
+ configuration.setTransportClassName(transport);
}
public AtomixReplica getAtomix() {
- return configuration.getAtomix();
+ return (AtomixReplica) configuration.getAtomix();
}
public void setAtomix(AtomixReplica atomix) {
@@ -165,7 +165,7 @@ public final class AtomixClusterService extends AbstractCamelClusterService<Atom
this.atomix.bootstrap(configuration.getNodes()).join();
log.debug("Bootstrap cluster done");
} else {
- log.debug("Bootstrap cluster on address {}", address, configuration.getNodes());
+ log.debug("Bootstrap cluster on address {}", address);
this.atomix.bootstrap().join();
log.debug("Bootstrap cluster done");
}