This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new fb65135 Polish and cleanup documentation fb65135 is described below commit fb65135720326063b8484bdadd1f85b4ba2d5df9 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Aug 11 10:00:56 2021 +0200 Polish and cleanup documentation --- docs/user-manual/modules/ROOT/nav.adoc | 1 - docs/user-manual/modules/ROOT/pages/index.adoc | 1 - docs/user-manual/modules/ROOT/pages/injector.adoc | 14 ----- .../inversion-of-control-with-smart-defaults.adoc | 29 ---------- docs/user-manual/modules/faq/nav.adoc | 1 - docs/user-manual/modules/faq/pages/index.adoc | 1 - .../modules/faq/pages/is-camel-ioc-friendly.adoc | 61 ---------------------- 7 files changed, 108 deletions(-) diff --git a/docs/user-manual/modules/ROOT/nav.adoc b/docs/user-manual/modules/ROOT/nav.adoc index e76f48b..1d7bd0c 100644 --- a/docs/user-manual/modules/ROOT/nav.adoc +++ b/docs/user-manual/modules/ROOT/nav.adoc @@ -61,7 +61,6 @@ ** xref:{eip-vc}:eips:content-enricher.adoc[Content Enrichment] ** xref:injector.adoc[Injector] ** xref:{eip-vc}:eips:intercept.adoc[Intercept] -** xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults] ** xref:jmx.adoc[JMX] ** xref:lifecycle.adoc[Camel Lifecycle] ** xref:oncompletion.adoc[OnCompletion] diff --git a/docs/user-manual/modules/ROOT/pages/index.adoc b/docs/user-manual/modules/ROOT/pages/index.adoc index f6ac94f..cb1353f 100644 --- a/docs/user-manual/modules/ROOT/pages/index.adoc +++ b/docs/user-manual/modules/ROOT/pages/index.adoc @@ -95,7 +95,6 @@ camel routes without them knowing * xref:http-session-handling.adoc[HTTP-Session Handling] * xref:injector.adoc[Injector] * xref:{eip-vc}:eips:intercept.adoc[Intercept] -* xref:inversion-of-control-with-smart-defaults.adoc[Inversion of Control with Smart Defaults] * xref:languages.adoc[Languages] * xref:lifecycle.adoc[Lifecycle] * xref:oncompletion.adoc[OnCompletion] diff --git a/docs/user-manual/modules/ROOT/pages/injector.adoc b/docs/user-manual/modules/ROOT/pages/injector.adoc index 2a1b966..6eed652 100644 --- a/docs/user-manual/modules/ROOT/pages/injector.adoc +++ b/docs/user-manual/modules/ROOT/pages/injector.adoc @@ -7,17 +7,3 @@ is a pluggable strategy to any IoC container such as Spring to be able to create and dependency-inject objects of a certain type. -For example if you are using the -xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control -With Smart Defaults] pattern to minimize your XML dependency; Camel will -automatically discover and use new endpoints when they are referenced -via their URIs by using the META-INF/services settings. -You could explicitly configure each Component and -Endpoint in your Spring XML file; or let Camel find -the defaults then use the Injector to create and inject any of its -dependencies. - -As an example; consider the xref:components::jms-component.adoc[JMS] component. Rather than -explicitly configuring the JMS component in Spring XML you can just -provide a ConnectionFactory in your Spring XML which the Injector will -use to properly configure the JmsComponent when it is instantiated. diff --git a/docs/user-manual/modules/ROOT/pages/inversion-of-control-with-smart-defaults.adoc b/docs/user-manual/modules/ROOT/pages/inversion-of-control-with-smart-defaults.adoc deleted file mode 100644 index 3c7a8a9..0000000 --- a/docs/user-manual/modules/ROOT/pages/inversion-of-control-with-smart-defaults.adoc +++ /dev/null @@ -1,29 +0,0 @@ -[[InversionOfControlWithSmartDefaults-InversionOfControlWithSmartDefaults]] -= Inversion Of Control With Smart Defaults - -Inversion of Control is a powerful way of wiring together your beans so -that the beans themselves can stay simple & be injected with their -dependencies by their IoC container. One of the downsides of wiring -everything together using an IoC container like Spring is that you can -often end up with huge amounts of XML configuring everything. - -The Inversion Of Control With Smart Defaults pattern attempts to address -this by providing in-built smart defaults into the system so that you -only have to actually configure things which are not the default -behavior. - -For example with Camel you can configure a -CamelContext; capable of creating on demand -Component and Endpoint -instances along with providing a powerful xref:type-converter.adoc[Type -Converter] registry all by using a single XML element... - -[source,java] ---------------------------------------------------------------------- -<camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> -</camelContext> ---------------------------------------------------------------------- - -If you explicitly want to configure the context; a component, an -endpoint or dependent objects explicitly in XML you can; but all the -common defaults are wired together for you. diff --git a/docs/user-manual/modules/faq/nav.adoc b/docs/user-manual/modules/faq/nav.adoc index 1b2e8be..621538d 100644 --- a/docs/user-manual/modules/faq/nav.adoc +++ b/docs/user-manual/modules/faq/nav.adoc @@ -7,7 +7,6 @@ ** xref:how-do-i-become-a-committer.adoc[How do I become a committer?] ** xref:how-do-i-compile-the-code.adoc[How do I compile the code?] ** xref:how-do-i-edit-the-website.adoc[How do I edit the website?] -** xref:is-camel-ioc-friendly.adoc[Is Camel IoC friendly?] ** xref:running-camel-standalone.adoc[Running Camel standalone] ** xref:what-is-a-router.adoc[What is a router?] ** xref:what-is-camel.adoc[What is Camel?] diff --git a/docs/user-manual/modules/faq/pages/index.adoc b/docs/user-manual/modules/faq/pages/index.adoc index c90cf34..039f9f8 100644 --- a/docs/user-manual/modules/faq/pages/index.adoc +++ b/docs/user-manual/modules/faq/pages/index.adoc @@ -23,7 +23,6 @@ General questions about Camel * xref:how-do-i-become-a-committer.adoc[How do I become a committer?] * xref:how-do-i-compile-the-code.adoc[How do I compile the code?] * xref:how-do-i-edit-the-website.adoc[How do I edit the website?] -* xref:is-camel-ioc-friendly.adoc[Is Camel IoC friendly?] * xref:running-camel-standalone.adoc[Running Camel standalone] * xref:what-is-a-router.adoc[What is a router?] * xref:what-is-camel.adoc[What is Camel?] diff --git a/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc b/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc deleted file mode 100644 index 9517cdd..0000000 --- a/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc +++ /dev/null @@ -1,61 +0,0 @@ -[[IsCamelIoCfriendly-IsCamelIoCfriendly]] -= Is Camel IoC friendly? - -The quick answer is, yes absolutely! :smile: -Now for the longer answer... - -[[IsCamelIoCfriendly-Spring]] -== Spring - -In particular we've gone out of our way to make Camel work great with -xref:ROOT:spring.adoc[Spring] and to reuse all of Spring 2.x's power. For -example: - -* the CamelContext, Components and Endpoints and their dependent beans -can be configured in Spring using Spring custom XML namespaces or -traditional bean/property elements -* we implement a spring BeanPostProcessor to allow POJOs to be injected -with Camel resources along with powerful -xref:ROOT:bean-integration.adoc[Bean Integration] which allows any -spring-injected POJO to be used inside Camel along with full support -for Spring Remoting. - -What we've tried to do is implement the -xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults] -pattern; namely that you can configure Camel in a -single XML element (or very small amont of XML) to get going, then you -can overload default configurations to add more explicit configuration -as and when you need it. - -[[IsCamelIoCfriendly-OtherIoCcontainers]] -== Other IoC containers - -Spring is clearly the leading IoC container; though there are some -others such as Guice, OSGi, Pico, HiveMind & Plexus so we have made the -IoC pluggable in Camel. -For example camel-core has no dependencies on anything other than -commons-logging; camel-spring contains all the xref:ROOT:spring.adoc[Spring] -integration, etc. - -We hope to have closer integration to other IoC containers. -The current mechanism for hooking into other IoC containers -are: - -* xref:ROOT:injector.adoc[Injector] is used to perform dependency injection -on a type when using the -xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control -With Smart Defaults] pattern -* xref:ROOT:registry.adoc[Registry] this strategy is used to abstract away -the ApplicationContext such as to use JNDI or OSGi to lookup services on -demand - -[[IsCamelIoCfriendly-UsingnoIoCcontainer]] -== Using no IoC container - -Some folks don't even use an IoC container and thats fine too :smile: -For example you can just use camel-core with pure Java and then wire -things together using just Java code (or some scripting language, etc.). - -By default when referring to components, endpoints or beans by name, -it'll try look them up in the JNDI context and we've got a POJO based -JNDI provier if you need one of those too.