Hi,

CamelContext is a SPI of Camel , we add to ModelCamelContext to make the API 
clean.  
ModelCamelContext provides the Model level options those could be used across 
Java DSL, Spring DSL, Scala DSL etc.


RouteDefinition is same with the ModelCamelContext, is a part of Camel modeling 
data, if you want to access the internal Camel model information, you should 
use it.

I'm not sure which version of Camel are you using, but you could use context to 
access the ModelCamelContext from the CamelTestSupport in the last released 
Camel.  

--  
Willem Jiang

Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
          http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Tuesday, February 26, 2013 at 6:05 AM, shyenuganti wrote:

> I am trying to write tests to my route.
>  
> CamelTestSupport has camel context which is of type ModelCamelContext. We
> have a method in that : ModelCamelContext.getRouteDefinitions().
>  
> When I try that using a regular CamelContext like
> CamelContext.getRouteDefinitions(), it says the method is deprecated.  
>  
> What is the difference between ModelCamelContext and CamelContext ?  
>  
> I am trying to use Route.adviceWith() method to replace the JMS endpoint on
> the fly with a mock to test my route. This way I can test my production
> route without having to use mocks. But this method is deprecaated. I see a
> similar method in RouteDefinition.adviceWith().  
>  
> What is the difference between "RouteDefinition" and a "Route"? What are the
> specific uses of each? If I want to use "adviceWith() " inside a test class
> that does not extend CamelSpringTestSupport, how can I use it as I will not
> have access to ModelCamelContext here.
>  
> My test class looks like this  
>  
> @ContextConfiguration(locations =
> "classpath:META-INF/spring/testCamelContext.xml")
> @RunWith(CamelSpringJUnit4ClassRunner.class)
> @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
> public class EventListenerRouteTest{
>  
> @Autowired
> protected CamelContext camelContext;
>  
> @EndpointInject(uri = "mock:JMSMock", context = "camelContext")
> protected MockEndpoint mock;
>  
> @Produce(uri = "direct:eventMessageList", context = "camelContext")
> protected ProducerTemplate producer;
>  
> ..........
> ....
> ..
>  
> }
>  
>  
>  
> Please help. fyi : I am very new to camel :)
>  
>  
>  
>  
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Confused-ModelCamelContext-Vs-CamelContext-and-RouteDefinition-Vs-Route-tp5728129.html
> Sent from the Camel - Users mailing list archive at Nabble.com 
> (http://Nabble.com).



Reply via email to