Avoid references from camel api and spi to model
------------------------------------------------

                 Key: CAMEL-4428
                 URL: https://issues.apache.org/jira/browse/CAMEL-4428
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.8.0
            Reporter: Christian Schneider
             Fix For: 2.9.0


Currently several interfaces and classes in org.apache.camel and 
org.apache.camel.spi access classes from org.apache.camel.model.
As the classes in model are forming the dsl they need access to many other 
parts of camel. So this creates a lot of dependency cycles. Most importantly 
these references make the api not self contained. 

So I propose to introduce interfaces on model level that contain the methods 
that access the model.

For example there should be a ModelCamelContext that extends CamelContext and 
contains methods like :
void startRoute(RouteDefinition route) throws Exception;

DefautlCamelContext will already implement ModelCamelContext so it is ready for 
3.0.

To achieve maximum compatiblity we should leave the problematic methods in 
CamelContext but deprecate them.
For camel 3.0 we will then remvoe these methods. 


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to