Author: ningjiang
Date: Tue Aug 4 06:43:25 2009
New Revision: 800683
URL: http://svn.apache.org/viewvc?rev=800683&view=rev
Log:
CAMEL-1874 Added getCamelContext method in CamelContextAware Interface
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/remoting/SendBeforeInterceptor.java
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/routebuilder/MyOtherRoute.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContextAware.java?rev=800683&r1=800682&r2=800683&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelContextAware.java
Tue Aug 4 06:43:25 2009
@@ -30,4 +30,12 @@
* @param camelContext the Camel context
*/
void setCamelContext(CamelContext camelContext);
+
+ /**
+ * Get the {...@link CamelContext}
+ *
+ * @return camelContext the Camel context
+ */
+ CamelContext getCamelContext();
+
}
Modified:
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java?rev=800683&r1=800682&r2=800683&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java
(original)
+++
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelBeanPostProcessor.java
Tue Aug 4 06:43:25 2009
@@ -173,25 +173,20 @@
protected boolean canSetCamelContext(Object bean, String beanName) {
-
- try {
- Method method = null;
- try {
- method = bean.getClass().getMethod("getCamelContext", new
Class[]{});
- } catch (NoSuchMethodException ex) {
- method = bean.getClass().getMethod("getContext", new
Class[]{});
- }
- CamelContext context = (CamelContext) method.invoke(bean, new
Object[]{});
+ boolean answer = true;
+ if (bean instanceof CamelContextAware) {
+ CamelContextAware camelContextAware = (CamelContextAware) bean;
+ CamelContext context = camelContextAware.getCamelContext();
if (context != null) {
if (LOG.isTraceEnabled()) {
LOG.trace("The camel context of " + beanName + " is set,
so we skip inject the camel context of it.");
}
- return false;
+ answer = false;
}
- } catch (Exception e) {
- // can't check the status of camelContext , so return true by
default
+ } else {
+ answer = false;
}
- return true;
+ return answer;
}
/**
Modified:
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/remoting/SendBeforeInterceptor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/remoting/SendBeforeInterceptor.java?rev=800683&r1=800682&r2=800683&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/remoting/SendBeforeInterceptor.java
(original)
+++
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/remoting/SendBeforeInterceptor.java
Tue Aug 4 06:43:25 2009
@@ -67,6 +67,10 @@
public void setCamelContext(CamelContext camelContext) {
this.camelContext = camelContext;
}
+
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
// Properties
//-----------------------------------------------------------------------
Modified:
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/routebuilder/MyOtherRoute.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/routebuilder/MyOtherRoute.java?rev=800683&r1=800682&r2=800683&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/routebuilder/MyOtherRoute.java
(original)
+++
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/routebuilder/MyOtherRoute.java
Tue Aug 4 06:43:25 2009
@@ -37,4 +37,8 @@
throw new IllegalArgumentException("Should be named foo");
}
}
+
+ public CamelContext getCamelContext() {
+ return ctx;
+ }
}