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/04/06 09:59:01 UTC

[camel] 08/14: CAMEL-13380: camel-core - Move cloud out into camel-cloud component. Woprk in progress

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch cloud2
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2589de7f0a7fd85d7423275e24d870d374e68403
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Apr 5 17:33:25 2019 +0200

    CAMEL-13380: camel-core - Move cloud out into camel-cloud component. Woprk in progress
---
 .../camel/impl/cloud/DefaultServiceCallProcessor.java   |  8 ++++++--
 .../apache/camel/cloud/aggregating-service-discovery    | 17 +++++++++++++++++
 .../org/apache/camel/cloud/blacklist-service-filter     | 17 +++++++++++++++++
 .../org/apache/camel/cloud/caching-service-discovery    | 17 +++++++++++++++++
 .../org/apache/camel/cloud/chained-service-filter       | 17 +++++++++++++++++
 .../org/apache/camel/cloud/combined-service-discovery   | 17 +++++++++++++++++
 .../org/apache/camel/cloud/combined-service-filter      | 17 +++++++++++++++++
 .../apache/camel/cloud/default-service-load-balancer    | 17 +++++++++++++++++
 .../org/apache/camel/cloud/healthy-service-filter       | 17 +++++++++++++++++
 .../org/apache/camel/cloud/pass-through-service-filter  | 17 +++++++++++++++++
 .../org/apache/camel/cloud/static-service-discovery     | 17 +++++++++++++++++
 .../org/apache/camel/impl/DefaultProcessorFactory.java  |  1 +
 .../org/apache/camel/impl/DefaultProducerCache.java     |  2 +-
 13 files changed, 178 insertions(+), 3 deletions(-)

diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
index 9218ce9..5ff978b 100644
--- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
+++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
@@ -210,7 +210,11 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport {
      * @return the computed expression
      */
     private static String applySimpleLanguage(String expression, Exchange exchange) {
-        Language simple = exchange.getContext().resolveLanguage("simple");
-        return simple.createExpression(expression).evaluate(exchange, String.class);
+        if (expression != null) {
+            Language simple = exchange.getContext().resolveLanguage("simple");
+            return simple.createExpression(expression).evaluate(exchange, String.class);
+        } else {
+            return null;
+        }
     }
 }
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/aggregating-service-discovery b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/aggregating-service-discovery
new file mode 100644
index 0000000..675af88
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/aggregating-service-discovery
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.AggregatingServiceDiscoveryFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/blacklist-service-filter b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/blacklist-service-filter
new file mode 100644
index 0000000..29ee4e6
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/blacklist-service-filter
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.BlacklistServiceFilterFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/caching-service-discovery b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/caching-service-discovery
new file mode 100644
index 0000000..7a57359
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/caching-service-discovery
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.CachingServiceDiscoveryFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/chained-service-filter b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/chained-service-filter
new file mode 100644
index 0000000..6eb18b5
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/chained-service-filter
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.ChainedServiceFilterFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-discovery b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-discovery
new file mode 100644
index 0000000..67efb31
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-discovery
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.CombinedServiceDiscoveryFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-filter b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-filter
new file mode 100644
index 0000000..68cdfc2
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/combined-service-filter
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.CombinedServiceFilterFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/default-service-load-balancer b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/default-service-load-balancer
new file mode 100644
index 0000000..16644c8
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/default-service-load-balancer
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.DefaultServiceLoadBalancerFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/healthy-service-filter b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/healthy-service-filter
new file mode 100644
index 0000000..b1cdd65
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/healthy-service-filter
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.HealthyServiceFilterFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/pass-through-service-filter b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/pass-through-service-filter
new file mode 100644
index 0000000..e1e1912
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/pass-through-service-filter
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.PassThroughServiceFilterFactory
\ No newline at end of file
diff --git a/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/static-service-discovery b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/static-service-discovery
new file mode 100644
index 0000000..5d2f763
--- /dev/null
+++ b/core/camel-cloud/src/main/resources/META-INF/services/org/apache/camel/cloud/static-service-discovery
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+class=org.apache.camel.impl.cloud.StaticServiceDiscoveryFactory
\ No newline at end of file
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
index a9c18c8..c26b895 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProcessorFactory.java
@@ -91,6 +91,7 @@ public class DefaultProcessorFactory implements ProcessorFactory {
             Expression expression = (Expression) args.get("expression");
             ExchangePattern pattern = (ExchangePattern) args.get("exchangePattern");
             answer = new SendDynamicProcessor(uri, expression);
+            answer.setCamelContext(camelContext);
             if (pattern != null) {
                 answer.setPattern(pattern);
             }
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerCache.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerCache.java
index 04b1723..48c1494 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerCache.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerCache.java
@@ -60,7 +60,7 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach
         this.producers = new ServicePool<>(Endpoint::createAsyncProducer, AsyncProducer::getEndpoint, maxCacheSize);
 
         // only if JMX is enabled
-        if (camelContext.getManagementStrategy().getManagementAgent() != null) {
+        if (camelContext.getManagementStrategy() != null && camelContext.getManagementStrategy().getManagementAgent() != null) {
             this.extendedStatistics = camelContext.getManagementStrategy().getManagementAgent().getStatisticsLevel().isExtended();
         } else {
             this.extendedStatistics = false;