You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/08/09 06:50:04 UTC

[camel] branch main updated (916cb1a -> 0cb1d76)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 916cb1a  camel-support - javadoc summary
     new 8dd2c6f  Polish and cleanup documentation
     new 0cb1d76  Polish and cleanup documentation

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../modules/eips/pages/correlation-identifier.adoc |   5 +-
 .../xml/AbstractCamelContextFactoryBeanTest.java   |   2 +-
 docs/user-manual/modules/ROOT/nav.adoc             |   1 -
 ...configuration-of-camelcontext-using-spring.adoc |  57 +++++------
 .../modules/ROOT/pages/architecture.adoc           |   6 +-
 .../modules/ROOT/pages/bam-example.adoc            | 113 ---------------------
 docs/user-manual/modules/ROOT/pages/bam.adoc       |  80 ---------------
 7 files changed, 32 insertions(+), 232 deletions(-)
 delete mode 100644 docs/user-manual/modules/ROOT/pages/bam-example.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/bam.adoc

[camel] 02/02: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 0cb1d767eea98430bf5034cc1b3c62bd4e1260e3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 9 08:49:36 2021 +0200

    Polish and cleanup documentation
---
 .../modules/eips/pages/correlation-identifier.adoc |  2 +-
 .../xml/AbstractCamelContextFactoryBeanTest.java   |  2 +-
 ...configuration-of-camelcontext-using-spring.adoc | 57 ++++++++++------------
 .../modules/ROOT/pages/architecture.adoc           |  6 +--
 4 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
index 919345c..f214f77 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
@@ -15,7 +15,7 @@ conversation (or business process).
 
 image::eip/CorrelationIdentifierSolution.gif[image]
 
-The use of a Correlation Identifier is key to working with xref:components::tracing.adoc[Tracing]
+The use of a Correlation Identifier is key to working with xref:components:others:tracing.adoc[Tracing]
 and be useful when testing with simulation or canned data such as
 with the xref:components::mock-component.adoc[Mock testing framework]
 
diff --git a/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java b/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
index e6b131d..099836d 100644
--- a/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
+++ b/core/camel-core-xml/src/test/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBeanTest.java
@@ -87,7 +87,7 @@ public class AbstractCamelContextFactoryBeanTest {
     // properties that should return value that can be converted to boolean
     Set<String> valuesThatReturnBoolean = new HashSet<>(
             asList("{{getStreamCache}}", "{{getDebug}}", "{{getTrace}}", "{{getBacklogTrace}}",
-                    "{{getMessageHistory}}", "{{getLogMask}}", "{{getLogExhaustedMessageBody}}", "{{getHandleFault}}",
+                    "{{getMessageHistory}}", "{{getLogMask}}", "{{getLogExhaustedMessageBody}}",
                     "{{getCaseInsensitiveHeaders}}",
                     "{{getAutoStartup}}", "{{getDumpRoutes}}", "{{getUseMDCLogging}}", "{{getUseDataType}}",
                     "{{getUseBreadcrumb}}",
diff --git a/docs/user-manual/modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc b/docs/user-manual/modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc
index 28c5211..44ddc28 100644
--- a/docs/user-manual/modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc
+++ b/docs/user-manual/modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc
@@ -2,12 +2,10 @@
 
 When using Spring the CamelContext can be pre configured based on
 defined beans in spring XML.
-This page documents these features. Most of these features
-requires *Camel 2.0*.
 
 == What can be configured
 
-The following functions can be configured:
+The following functions such as can be configured:
 
 * xref:pluggable-class-resolvers.adoc[Class resolvers]
 * xref:lifecycle.adoc[Lifecycle factories]
@@ -18,7 +16,7 @@ xref:uuidgenerator.adoc[UuidGenerator]
 * xref:{eip-vc}:eips:intercept.adoc[Intercept]
 * xref:graceful-shutdown.adoc[Graceful Shutdown]
 * xref:stream-caching.adoc[Stream caching]
-* Logging
+* xref:components::log-component.adoc[Log] and xref:{eip-vc}:eips:log-eip.adoc[log() EIP]
 
 Camel will configure these functions by doing a lookup in the Spring
 bean registry to find beans of the given type 
@@ -40,7 +38,7 @@ xref:pluggable-class-resolvers.adoc[Pluggable Class Resolvers].
 |FactoryFinderResolver |0..1 |To use a 3rd party factory finder.
 
 |Registry |0..1 |To use a 3rd party bean registry. By default Camel will
-use Spring ApplicationContext as registry.
+use Spring ApplicationContext (when using Spring) as registry.
 
 |Debugger |0..1 |To use a xref:debugger.adoc[Debugger] usually for
 tooling.
@@ -50,66 +48,63 @@ tooling.
 |TraceFormatter |0..1 |To use a bean that has the tracing options
 configured.
 
-|HandleFault |0..1 |To use a 3rd part fault handler to handle FAULT
-messages.
-
 |Delayer |0..1 |To use a 3rd part xref:{eip-vc}:eips:delay-eip.adoc[Delayer].
 
-|ManagementStrategy |0..1 |*Camel 2.1:* To use a 3rd part strategy for
+|ManagementStrategy |0..1 |To use a 3rd part strategy for
 xref:jmx.adoc[management], for example JMX management.
 
-|ManagementNamingStrategy |0..1 |*Camel 2.6:* To use a 3rd part strategy
+|ManagementNamingStrategy |0..1 |To use a 3rd part strategy
 for naming MBeans for xref:jmx.adoc[management].
 
-|NodeIdFactory |0..1 |*Camel 2.10:* To use a 3rd part node id factory.
+|NodeIdFactory |0..1 |To use a 3rd part node id factory.
 
-|EventFactory |0..1 |*Camel 2.1:* To use a 3rd part event factory.
+|EventFactory |0..1 |To use a 3rd part event factory.
 
-|EventNotifier |0..1 |*Camel 2.1:* To use a 3rd part event notifier. In
+|EventNotifier |0..1 |To use a 3rd part event notifier. In
 Camel 2.2 onwards you can have multiple notifiers, see next table.
 
-|InflightRepository |0..1 |*Camel 2.1:* To use a 3rd part inflight
+|InflightRepository |0..1 |To use a 3rd part inflight
 repository.
 
-|ShutdownStrategy |0..1 |*Camel 2.2:* To use a 3rd part shutdown
+|ShutdownStrategy |0..1 |To use a 3rd part shutdown
 strategy.
 
-|ExecutorServiceStrategy |0..1 |*Camel 2.3 - 2.8.x:* To use a 3rd part
+|ExecutorServiceStrategy |0..1 |To use a 3rd part
 executor service strategy. More details at
 xref:threading-model.adoc[Threading Model].
 
-|ExecutorServiceManager |0..1 |*Camel 2.9:* To use a 3rd part executor
+|ExecutorServiceManager |0..1 |To use a 3rd part executor
 service manager. More details at xref:threading-model.adoc[Threading
 Model].
 
-|ThreadPoolFactory |0..1 |*Camel 2.9:* To use a 3rd part thread pool
+|ThreadPoolFactory |0..1 |To use a 3rd part thread pool
 factory. More details at xref:threading-model.adoc[Threading Model].
 
-|ProcessorFactory |0..1 |*Camel 2.4:* To use a 3rd part processor
+|ProcessorFactory |0..1 |To use a 3rd part processor
 factory.
 
-|UuidGenerator |0..1 |*Camel 2.5:* To use a 3rd part
+|UuidGenerator |0..1 |To use a 3rd part
 xref:uuidgenerator.adoc[UuidGenerator].
 
-|StreamCachingStrategy |0..1 |*Camel 2.12:* To use a 3rd part
+|StreamCachingStrategy |0..1 |To use a 3rd part
 xref:stream-caching.adoc[Stream caching] strategy.
 
-|UnitOfWorkFactory |0..1 |*Camel 2.12.3/2.13:* To use 3rd part
+|UnitOfWorkFactory |0..1 |To use 3rd part
 `UnitOfWork` implementations created by the factory.
 
-|RuntimeEndpointRegistry |0..1 |*Camel 2.13.1:* To use a 3rd party
+|RuntimeEndpointRegistry |0..1 |To use a 3rd party
 RuntimeEndpointRegistry implementation.
 
-|Logger |0..1 |*Camel 2.12.4/2.13.1:* To use provided org.slf4j.Logger
+|Logger |0..1 |To use provided org.slf4j.Logger
 for xref:components::log-component.adoc[Log] component and xref:{eip-vc}:eips:log-eip.adoc[log() EIP].
 
-|AsyncProcessorAwaitManager |0..1 |*Camel 2.15:* To use a 3rd part async
+|AsyncProcessorAwaitManager |0..1 |To use a 3rd part async
 process await manager.
 
-|ModelJAXBContextFactory |0..1 |*Camel 2.15.2:* To use a 3rd party model
+|ModelJAXBContextFactory |0..1 |To use a 3rd party model
 JAXB ContextFactory
 
-|MessageHistoryFactory |0..1 |*Camel 2.17:* To use a 3rd party
+|MessageHistoryFactory |0..1 |To use a 3rd party
 MessageHistoryFactory implementation.
 |=======================================================================
 
@@ -123,13 +118,13 @@ that intercepts every processing steps in all routes in the
 xref:camelcontext.adoc[CamelContext]. For instance you can use this to
 do an AOP like performance timer interceptor.
 
-|LifecycleStrategy |0..n |*Camel 2.1:* To use 3rd party lifecycle
+|LifecycleStrategy |0..n |To use 3rd party lifecycle
 strategies. By default Camel uses a JMX aware that does JMX
 instrumentation.
 
-|EventNotifier |0..n |*Camel 2.2:* To use 3rd part event notifiers.
+|EventNotifier |0..n |To use 3rd part event notifiers.
 
-|RoutePolicyFactory |0..n |*Camel 2.14:* To use a 3rd party route policy
+|RoutePolicyFactory |0..n |To use a 3rd party route policy
 factory to create a route policy for every route.
 |=======================================================================
 
@@ -181,7 +176,7 @@ Okay lets build our interceptor to simply count the number of
 interceptions. This is quite easy as we can just implement this logic in
 our implementation directly as the code below illustrates:Error
 rendering macro 'code': Invalid value specified for parameter
-'java.lang.NullPointerException'
+`java.lang.NullPointerException`
 
 [source,java]
 ----
diff --git a/docs/user-manual/modules/ROOT/pages/architecture.adoc b/docs/user-manual/modules/ROOT/pages/architecture.adoc
index 6bcdabf..56dbb1c 100644
--- a/docs/user-manual/modules/ROOT/pages/architecture.adoc
+++ b/docs/user-manual/modules/ROOT/pages/architecture.adoc
@@ -26,9 +26,9 @@ or
 https://www.javadoc.io/doc/org.apache.camel/camel-api/current/org/apache/camel/Consumer.html[Consumer]
 on an Endpoint to exchange messages with it.
 
-The DSL makes heavy use of pluggable
-Languages to create an
-Expression or Predicate to
+The xref:dsl.adoc[Camel Domain Specific Language] makes heavy use of pluggable
+xref:languages.adoc[Languages] to create an
+xref:expression.adoc[Expression] or xref:predicate.adoc[Predicate] to
 make a truly powerful DSL which is extensible to the most suitable
 language depending on your needs. Many of the Languages 
 are also supported as

[camel] 01/02: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 8dd2c6ffcd48165bf0d1c5829bcca9721e843234
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 9 08:37:35 2021 +0200

    Polish and cleanup documentation
---
 .../modules/eips/pages/correlation-identifier.adoc |   5 +-
 docs/user-manual/modules/ROOT/nav.adoc             |   1 -
 .../modules/ROOT/pages/bam-example.adoc            | 113 ---------------------
 docs/user-manual/modules/ROOT/pages/bam.adoc       |  80 ---------------
 4 files changed, 2 insertions(+), 197 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
index 803f004..919345c 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/correlation-identifier.adoc
@@ -15,9 +15,8 @@ conversation (or business process).
 
 image::eip/CorrelationIdentifierSolution.gif[image]
 
-The use of a Correlation Identifier is key to working with the
-xref:latest@manual:ROOT:bam.adoc[Camel Business Activity Monitoring Framework] and can also
-be highly useful when testing with simulation or canned data such as
+The use of a Correlation Identifier is key to working with xref:components::tracing.adoc[Tracing]
+and be useful when testing with simulation or canned data such as
 with the xref:components::mock-component.adoc[Mock testing framework]
 
 Some xref:enterprise-integration-patterns.adoc[EIP] patterns will spin off a sub message, and in
diff --git a/docs/user-manual/modules/ROOT/nav.adoc b/docs/user-manual/modules/ROOT/nav.adoc
index e877c00..f17ffa2 100644
--- a/docs/user-manual/modules/ROOT/nav.adoc
+++ b/docs/user-manual/modules/ROOT/nav.adoc
@@ -37,7 +37,6 @@
 ** xref:asynchronous-routing-engine.adoc[Asynchronous Routing Engine]
 ** xref:backlogdebugger.adoc[Backlog debugger]
 ** xref:backlog-tracer.adoc[Backlog Tracer]
-** xref:bam.adoc[Business Activity Monitoring]
 ** xref:batch-consumer.adoc[Batch Consumer]
 ** xref:bean-binding.adoc[Bean Binding]
 ** xref:bean-integration.adoc[Bean Integration]
diff --git a/docs/user-manual/modules/ROOT/pages/bam-example.adoc b/docs/user-manual/modules/ROOT/pages/bam-example.adoc
deleted file mode 100644
index 3389beb..0000000
--- a/docs/user-manual/modules/ROOT/pages/bam-example.adoc
+++ /dev/null
@@ -1,113 +0,0 @@
-[[BAMExample-BusinessActivityMonitorExample]]
-= Business Activity Monitor (BAM) Example
-
-The BAM (Business Activity Monitor) example shows how to
-monitor your transaction flows using Camel.
-
-In this example we will use Camel to monitor a business process
-consisting of
-
-* purchase orders
-* invoices
-
-Then we will check to see that for every purchase order created by
-system A, that system B will generate an invoice within the specified
-amount of time (2 seconds in this example). If an invoice is not
-generated within the allowed amount of time and error is generated and
-sent to an Endpoint.
-
-[[BAMExample-Overview]]
-== Overview
-
-This example lives in the _examples/camel-example-bam_ directory. It
-will poll the following directories
-
-* the child _src/data/purchaseOrders_ directory for XML purchase orders
-* the child _src/data/invoices_ directory for XML invoices
-
-The
-http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
-class defines the BAM activities; that is
-
-* the input sources (the two directories above) which could be any of
-the supported camel URIs
-* how the activities relate to each other - namely the
-Correlation Identifier pattern
-* the maixmum amount of time allowed from the time a purchase order is
-received when if an invoice is not received an error should be raised.
-
-There is also a spring configuration file in
-http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/resources/META-INF/spring/camel-context.xml[src/resources/META-INF/services/camel-context.xml]
-which defines the JPA `EntityManagerFactory` and tells Camel to look in
-the *org.apache.camel.example.bam* package to find its routes.
-
-[[BAMExample-Codewalkthrough]]
-== Code walkthrough
-
-So lets start with the activities definition in
-http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
-
-[source,java]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-return new ProcessBuilder(entityManagerFactory, transactionTemplate) {
-    public void configure() throws Exception {
- 
-        // let's define some activities, correlating on an XPath on the message bodies
-        ActivityBuilder a = activity("seda:a").name("a")
-                .correlate(xpath("/hello/@id"));
- 
-        ActivityBuilder b = activity("seda:b").name("b")
-                .correlate(xpath("/hello/@id"));
- 
-        // now let's add some rules
-        b.starts().after(a.completes())
-                .expectWithin(seconds(1))
-                .errorIfOver(seconds(errorTimeout)).to("mock:overdue");
-    }
-};
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-The first two lines of code sets up the inputs for the
-BAM activities via the *activity()* method which defines
-
-* the URIs of the inputs (which could come from any of
-the Camel Components
-* the Correlation Identifier used to
-correlate together the purchase order and invoice messages which can be
-any Expression via any of the
-Languages Supported. In this case we are
-using xref:components:languages:xpath-language.adoc[XPath].
-
-Then the final line of code defines the temporal rules to use; namely
-that it is considered to be an error if an invoice is not received
-within 2 seconds of a purchase order being received. When a failure
-occurs in this example we just send it to the xref:components::log-component.adoc[Log]
-component to log out an error level message to commons-logging / log4j.
-You could change this to use some of the other
-Components such as ActiveMQ,
-xref:components::jms-component.adoc[JMS], xref:components::jms-component.adoc[IRC], xref:components::jms-component.adoc[Mail],
-xref:components::xmpp-component.adoc[XMPP] etc.
-
-[[BAMExample-Runningtheexample]]
-== Running the example
-
-To run the example we use the xref:camel-maven-plugin.adoc[Camel Maven Plugin].
-For example from the source or binary distribution the
-following should work
-
-[source,bash]
------------------------------
-cd examples/camel-example-bam
-mvn camel:run
------------------------------
-
-If you prefer you can just run the Main directly using
-
-[source,bash]
----------------------
-mvn compile exec:java
----------------------
-
-Failing that you can run the Main from inside your IDE if you prefer.
-Follow the Building instructions to create an
-Eclipse/IDEA project to import
diff --git a/docs/user-manual/modules/ROOT/pages/bam.adoc b/docs/user-manual/modules/ROOT/pages/bam.adoc
deleted file mode 100644
index a738909..0000000
--- a/docs/user-manual/modules/ROOT/pages/bam.adoc
+++ /dev/null
@@ -1,80 +0,0 @@
-[[BAM-BusinessActivityMonitoring]]
-= Business Activity Monitoring
-
-The *Camel BAM* module provides a Business Activity Monitoring (BAM)
-framework for testing business processes across multiple message
-exchanges on different Endpoint instances.
-
-Consider, for example, a simple system in which you submit Purchase
-Orders into system A and then receive Invoices from system B. You might
-want to test that, for a given Purchase Order, you receive a matching
-Invoice from system B within a specific time period.
-
-[[BAM-HowCamelBAMWorks]]
-== How Camel BAM Works
-
-Camel BAM uses a xref:{eip-vc}:eips:correlation-identifier.adoc[Correlation
-Identifier] on an input message to determine the _Process Instance_ to
-which it belongs. The process instance is an entity bean which can
-maintain state for each _Activity_ (where an activity typically maps to
-a single endpoint - such as the submission of Purchase Orders or the
-receipt of Invoices).
-
-[source,java]
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-return new ProcessBuilder(entityManagerFactory, transactionTemplate) {
-    public void configure() throws Exception {
- 
-        // let's define some activities, correlating on an XPath on the message bodies
-        ActivityBuilder a = activity("seda:a").name("a")
-                .correlate(xpath("/hello/@id"));
- 
-        ActivityBuilder b = activity("seda:b").name("b")
-                .correlate(xpath("/hello/@id"));
- 
-        // now let's add some rules
-        b.starts().after(a.completes())
-                .expectWithin(seconds(1))
-                .errorIfOver(seconds(errorTimeout)).to("mock:overdue");
-    }
-};
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-You can then add rules to be triggered when a message is received on any
-activity - such as to set time expectations or perform real time
-reconciliation of values across activities.
-
-[[BAM-SimpleExample]]
-== Simple Example
-
-The following example shows how to perform some time based rules on a
-simple business process of 2 activities - A and B - which correspond
-with Purchase Orders and Invoices in the example above. If you would
-like to experiment with this scenario, you may edit this
-http://svn.apache.org/repos/asf/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java[Test
-Case], which defines the activities and rules, and then tests that they
-work.
-
-As you can see in the above example, we first define two activities, and
-then rules to specify when we expect them to complete for a process
-instance and when an error condition should be raised.p. The
-ProcessBuilder is a RouteBuilder and can be
-added to any CamelContext.
-
-[[BAM-CompleteExample]]
-== Complete Example
-
-For a complete example please see the xref:bam-example.adoc[BAM Example],
- which is part of the standard Camel
-Examples
-
-[[BAM-UseCases]]
-== Use Cases
-
-In the world of finance, a common requirement is tracking trades. Often
-a trader will submit a Front Office Trade which then flows through the
-Middle Office and Back Office through various systems to settle the
-trade so that money is exchanged. You may wish to test that the front
-and back office trades match up within a certain time period; if they
-don't match or a back office trade does not arrive within a required
-amount of time, you might signal an alarm.