You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/02/21 03:51:47 UTC
svn commit: r1291564 - in /camel/branches/camel-2.9.x: ./
components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
Author: ningjiang
Date: Tue Feb 21 02:51:47 2012
New Revision: 1291564
URL: http://svn.apache.org/viewvc?rev=1291564&view=rev
Log:
Merged revisions 1291555 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r1291555 | ningjiang | 2012-02-21 10:19:04 +0800 (Tue, 21 Feb 2012) | 1 line
CAMEL-5010 try to load the org.osgi.framework.BundleActivator first
........
Modified:
camel/branches/camel-2.9.x/ (props changed)
camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 21 02:51:47 2012
@@ -1 +1 @@
-/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021
+/camel/trunk:1243046,1243057,1243234,1244518,1244644,1244859,1244861,1244864,1244870,1244872,1245021,1291555
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=1291564&r1=1291563&r2=1291564&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
+++ camel/branches/camel-2.9.x/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Tue Feb 21 02:51:47 2012
@@ -122,7 +122,28 @@ public class CamelNamespaceHandler exten
registerParser("errorHandler", errorHandlerParser);
parserMap.put("errorHandler", errorHandlerParser);
- Class cl = CamelContextFactoryBean.class;
+ // camel context
+ boolean osgi = false;
+ Class<?> cl = CamelContextFactoryBean.class;
+ try {
+ // Try to load the BundleActivator first
+ Class.forName("org.osgi.framework.BundleActivator");
+ Class<?> c = Class.forName("org.apache.camel.osgi.Activator");
+ Method mth = c.getDeclaredMethod("getBundle");
+ Object bundle = mth.invoke(null);
+ if (bundle != null) {
+ cl = Class.forName("org.apache.camel.osgi.CamelContextFactoryBean");
+ osgi = true;
+ }
+ } catch (Throwable t) {
+ // not running with camel-osgi so we fallback to the regular factory bean
+ LOG.trace("Cannot find class so assuming not running in OSGi container: " + t.getMessage());
+ }
+ if (osgi) {
+ LOG.info("OSGi environment detected.");
+ } else {
+ LOG.info("OSGi environment not detected.");
+ }
LOG.debug("Using {} as CamelContextBeanDefinitionParser", cl.getCanonicalName());
registerParser("camelContext", new CamelContextBeanDefinitionParser(cl));
}