There are third parties that will recognize changes to the spring XML file and dynamically restart routes, create new ones, etc - on the fly. This concept is the goal of osgi in my opinion. Today if you want to distribute changes to your out of the box camel spring app it's still pretty primitive. Or perhaps I am ignorant? Discuss.
On Wednesday, May 14, 2014, Grzegorz Grzybek <gr.grzy...@gmail.com> wrote: > Hello! > > In short words: > > 1) Camel / OSGi > > OSGi is an architecture for packaging and running components called > "bundles". It provides ways to make these bundles cooperate with each other > using well defined semantics. The basic unit of modularization is (Java) > "package". Of course beyond the basics, OSGi has higher-level layers which > provide additional services. For introduction, see e.g., > http://www.osgi.org/Technology/HowOSGi. > > "Apache Camel ™ is a versatile open-source integration framework based on > known Enterprise Integration > Patterns<http://camel.apache.org/enterprise-integration-patterns.html>." > (http://camel.apache.org).Camel is a framework which allows you to develop > clean applications based on messaging patterns. > > Camel consists of many libraries/jars - all of them are OSGi "bundles" and > this allows to run them in any compliant OSGi container (e.g., Apache Felix > or Eclipse Equinox) > > 2) Camel / Spring > > Spring (Framework) is general purpose framework for developing Java > Applications, the main concept of Spring Framework is Dependency Injection, > which allows you to develop applications in modular (not modular in the > sense of OSGi) fashion - where each "bean" expresses the need for other > beans by exposing getter/setters or @Inject/@Autowired fields. Spring makes > sure that your expressed dependencies are satisfied. > > Camel is not based on Spring, but uses it's functionality for one of the > dialects of Camel DSL (language for expressing Enterprise Integration > Patterns). Also Camel uses Spring in the area of transaction management and > JDBC access. > > 3) 1) / 2) > > A meta-difference you mean? :) > Relation #1 is between two different abstractions (categories). Between > framework for messaging application and framework for component deployment > (Camel may be deployed as component in OSGi) > > Relation #2 is between abstractions which belong to single category - Java > Frameworks which makes developer's life easier. > > Conclusion: > - OSGi is container + services it provides. you run your applications > there quite similiar to how you run them in e.g., Tomcat > - Camel is framework for messaging applications - you actually develop > using it > - Spring (Framework) is for dependency injections (+ helpers to use JavaEE > APIs such as JDBC, JTA, Servlets, JMS, ...) > - there are other Spring products, such as Spring-WebServices, > Spring-WebFlow, Spring-Batch, ... > > hope this sheds some light in this topic > > regards > Grzegorz Grzybek > > > 2014-05-13 23:25 GMT+02:00 nono <yan.w...@db-is.com <javascript:;>>: > > > Hi i am not very clear about the relation between camel and osgi > > could someone explain in short words > > what is the relation between camel and osgi? > > what is relation between camel and spring? > > what are the differences betwen those two relations? > > > > Thanks in advance > > > > > > > > > > -- > > View this message in context: > > http://camel.465427.n5.nabble.com/camel-osgi-tp5751095.html > > Sent from the Camel - Users mailing list archive at Nabble.com. > > >