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 2015/09/25 16:51:15 UTC
[3/3] camel git commit: CAMEL-9166: Polished. This fixes #620.
CAMEL-9166: Polished. This fixes #620.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/651b7dda
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/651b7dda
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/651b7dda
Branch: refs/heads/master
Commit: 651b7dda066a9b0949c8f2a0d313769b68e50593
Parents: 397a39b
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Sep 25 16:51:34 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Sep 25 16:51:59 2015 +0200
----------------------------------------------------------------------
components/camel-scr/pom.xml | 1 -
.../apache/camel/scr/AbstractCamelRunner.java | 19 ++++++++++++-------
2 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/651b7dda/components/camel-scr/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-scr/pom.xml b/components/camel-scr/pom.xml
index 1e47652..64e0b77 100644
--- a/components/camel-scr/pom.xml
+++ b/components/camel-scr/pom.xml
@@ -31,7 +31,6 @@
<properties>
<camel.osgi.export.pkg>org.apache.camel.scr</camel.osgi.export.pkg>
- <camel.osgi.import.camel.version>version="[2.12,$(version;=+;${camel.osgi.version.clean}))"</camel.osgi.import.camel.version>
</properties>
<dependencies>
http://git-wip-us.apache.org/repos/asf/camel/blob/651b7dda/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
----------------------------------------------------------------------
diff --git a/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java b/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
index c4be591..478afe7 100644
--- a/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
+++ b/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
@@ -38,11 +38,12 @@ import org.apache.camel.RoutesBuilder;
import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.core.osgi.OsgiCamelContextPublisher;
import org.apache.camel.core.osgi.OsgiDefaultCamelContext;
+import org.apache.camel.core.osgi.OsgiServiceRegistry;
import org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.ExplicitCamelContextNameStrategy;
import org.apache.camel.impl.SimpleRegistry;
-import org.apache.camel.model.ModelCamelContext;
+import org.apache.camel.spi.Registry;
import org.apache.camel.util.ReflectionHelper;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -55,8 +56,8 @@ public abstract class AbstractCamelRunner implements Runnable {
public static final String PROPERTY_PREFIX = "camel.scr.properties.prefix";
protected Logger log = LoggerFactory.getLogger(getClass());
- protected ModelCamelContext context;
- protected SimpleRegistry registry = new SimpleRegistry();
+ protected CamelContext context;
+ protected Registry registry;
// Configured fields
private String camelContextId;
@@ -91,12 +92,14 @@ public abstract class AbstractCamelRunner implements Runnable {
protected void createCamelContext(final BundleContext bundleContext, final Map<String, String> props) {
if (bundleContext != null) {
+ registry = new OsgiServiceRegistry(bundleContext);
context = new OsgiDefaultCamelContext(bundleContext, registry);
// Setup the application context classloader with the bundle classloader
context.setApplicationContextClassLoader(new BundleDelegatingClassLoader(bundleContext.getBundle()));
// and make sure the TCCL is our classloader
Thread.currentThread().setContextClassLoader(context.getApplicationContextClassLoader());
} else {
+ registry = new SimpleRegistry();
context = new DefaultCamelContext(registry);
}
setupPropertiesComponent(context, props, log);
@@ -107,6 +110,7 @@ public abstract class AbstractCamelRunner implements Runnable {
if (camelContextId != null) {
context.setNameStrategy(new ExplicitCamelContextNameStrategy(camelContextId));
}
+ // TODO: allow to configure these options and not hardcode
context.setUseMDCLogging(true);
context.setUseBreadcrumb(true);
@@ -129,11 +133,11 @@ public abstract class AbstractCamelRunner implements Runnable {
}
// Set property prefix
- if (null != System.getProperty(PROPERTY_PREFIX)) {
+ if (System.getProperty(PROPERTY_PREFIX) != null) {
pc.setPropertyPrefix(System.getProperty(PROPERTY_PREFIX) + ".");
}
- if (null != props) {
+ if (props != null) {
Properties initialProps = new Properties();
initialProps.putAll(props);
log.debug(String.format("Added %d initial properties", props.size()));
@@ -197,6 +201,7 @@ public abstract class AbstractCamelRunner implements Runnable {
context.start();
started = true;
} catch (Exception e) {
+ // LOL so the best we can do is to try to start every 5th second and cross our fingers - yeah OSGi is lovely ;(
log.warn("Failed to start Camel context. Will try again when more Camel components have been registered.", e);
}
}
@@ -208,7 +213,7 @@ public abstract class AbstractCamelRunner implements Runnable {
try {
context.stop();
} catch (Exception e) {
- log.error("Failed to stop Camel context.", e);
+ log.warn("Failed to stop Camel context.", e);
} finally {
// Even if stopping failed we consider Camel context stopped
started = false;
@@ -257,7 +262,7 @@ public abstract class AbstractCamelRunner implements Runnable {
log.debug("Configured field {} with value {}", field.getName(), propertyValue);
}
} catch (Exception e) {
- log.error("Error setting field " + field.getName() + " due: " + e.getMessage() + ". This exception is ignored.", e);
+ log.warn("Error setting field " + field.getName() + " due: " + e.getMessage() + ". This exception is ignored.", e);
}
}
return target;