| [[ShouldIdeployCamelinsidetheActiveMQbrokerorinanotherapplication-ShouldIdeployCamelinsidetheActiveMQbrokerorinanotherapplication]] |
| = Should I deploy Camel inside the ActiveMQ broker or in another application |
| |
| Whether you deploy the |
| xref:enterprise-integration-patterns.adoc[Enterprise Integration Patterns] |
| inside the ActiveMQ Broker or in a separate application |
| depends on your requirements. |
| |
| [[ShouldIdeployCamelinsidetheActiveMQbrokerorinanotherapplication-AdvantagesofdeployingEIPinsidethebroker]] |
| == Advantages of deploying EIP inside the broker |
| |
| * It is a single JVM so less moving parts and you're less likely to forget |
| to deploy something. |
| * If you are doing things like polling resources such as files, |
| databases and bridging them to queues or topics then its usually more |
| efficient to host in the broker; as there's less contention and there's |
| no network communication between the EIP rules and the message broker as |
| its all in the same JVM (so you can use the xref:components::vm-component.adoc[VM Transport] |
| to avoid network overhead. |
| |
| [[ShouldIdeployCamelinsidetheActiveMQbrokerorinanotherapplication-AdvantagesofdeployingEIPinsideaseparateapplication]] |
| == Advantages of deploying EIP inside a separate application |
| |
| * It is easier to deploy loads of JVMs containing the EIP routing rules to |
| get better load balancing. |
| * You can easily change your routing rules then stop/restart |
| applications without having to restart your broker. Having said that |
| since ActiveMQ supports it's not such a big deal to bounce the Broker now and again |
| to refresh routing rules. Note that at some point |
| https://issues.apache.org/activemq/browse/CAMEL-234[Camel will support auto-reload of routing rules on the fly without having to stop and reload the JVM] |
| so one day this won't be such a big benefit. |
| |