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 05bcf03 Polish and cleanup documentation 05bcf03 is described below commit 05bcf03b8e8b6135531f2c21a849613786c78804 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Aug 10 11:52:10 2021 +0200 Polish and cleanup documentation --- .../ROOT/pages/camel-configuration-utilities.adoc | 2 +- .../ROOT/pages/cronscheduledroutepolicy.adoc | 56 ++++++--------- .../modules/ROOT/pages/data-format.adoc | 83 ++++------------------ 3 files changed, 35 insertions(+), 106 deletions(-) diff --git a/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc b/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc index 251fc90..b80147c 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc @@ -35,7 +35,7 @@ http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefG that is used by non-blocking IO to support TLS. The JSSE configuration -utility provides an easy to use builder for configuring these JSSE +utility provides an easy-to-use builder for configuring these JSSE components, among others, in a manner that allows you to provide all configuration options up front during the initialization of your application such that you don't have to customize library code or dig diff --git a/docs/user-manual/modules/ROOT/pages/cronscheduledroutepolicy.adoc b/docs/user-manual/modules/ROOT/pages/cronscheduledroutepolicy.adoc index 3551f51..bfeae23 100644 --- a/docs/user-manual/modules/ROOT/pages/cronscheduledroutepolicy.adoc +++ b/docs/user-manual/modules/ROOT/pages/cronscheduledroutepolicy.adoc @@ -1,6 +1,6 @@ = CronScheduledRoutePolicy -CronScheduledRoutePolicy is a +`CronScheduledRoutePolicy` is a xref:scheduledroutepolicy.adoc[ScheduledRoutePolicy] that facilitates route activation, de-activation, suspension and resumption of routes based on a xref:components::quartz-component.adoc[Quartz] `CronTrigger`. @@ -20,42 +20,24 @@ Maven users will need to add a camel-quartz dependency to their [TIP] ==== - **Relationship to the [Quartz] component** +.Relationship to the Quartz component All Scheduled route policies share the scheduler created by the Quartz component. In this way, scheduler, jobs and triggers can be managed in a common and consistent way. - ==== -**Relationship to the [Quartz] component** - -From Camel 2.12.2 onwards you can also make use of the -xref:components::quartz-component.adoc[Quartz] based implementation of this route policy. - -[source,xml] ----- -<bean id="myStartPolicy" class="org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy"> - <!-- start every 5min from monday to saturday --> - <property name="routeStartTime" value="0 0/5 * ? * 1-6 *" /> -</bean> ----- - -See xref:cronscheduledroutepolicy.adoc[CronScheduledRoutePolicy -description]. - -== How it works +== Using cron scheduled route policy -In order to use a -xref:cronscheduledroutepolicy.adoc[CronScheduledRoutePolicy] it is +In order to use a `CronScheduledRoutePolicy` it is necessary to instantiate an object of the type `org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy`. In order to perform a route operation at a given time the following information must be provided. -* Starting a route -+ +=== Starting a route + [width="100%",cols="25%,25%,25%,25%",options="header",] |======================================================================= |Parameter Name |Type |Default Value |Description @@ -63,8 +45,8 @@ information must be provided. Cron Expression for route start |======================================================================= -* Stopping a route -+ +=== Stopping a route + [width="100%",cols="25%,25%,25%,25%",options="header",] |======================================================================= |Parameter Name |Type |Default Value |Description @@ -78,8 +60,8 @@ initiating graceful route stop grace period expressed as java.util.concurrent.TimeUnit |======================================================================= -* Suspending a route -+ +=== Suspending a route + [width="100%",cols="25%,25%,25%,25%",options="header",] |======================================================================= |Parameter Name |Type |Default Value |Description @@ -87,8 +69,8 @@ grace period expressed as java.util.concurrent.TimeUnit Cron Expression for route suspension |======================================================================= -* Resuming a route -+ +=== Resuming a route + [width="100%",cols="25%,25%,25%,25%",options="header",] |======================================================================= |Parameter Name |Type |Default Value |Description @@ -96,16 +78,15 @@ Cron Expression for route suspension Cron Expression for route resumption |======================================================================= -Once the `org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy` -is created it can be wired into the camel route as follows - == Configuring the policy -* In Java +Once the `org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy` +is created it can be wired into the camel route as follows: + +In Java: [source,java] ---- - CronScheduledRoutePolicy startPolicy = new CronScheduledRoutePolicy(); startPolicy.setRouteStartTime("*/3 * * * * ?"); @@ -114,7 +95,7 @@ from("direct:start") .to("mock:success"); ---- -* Using Spring +And with Spring XML: [source,xml] ---- @@ -130,3 +111,6 @@ from("direct:start") </camelContext> ---- +IMPORTANT: Notice how the route to be scheduled *MUST* be configured to not +xref:configuring-route-startup-ordering-and-autostartup.adoc[autostartup], to let +the route scheduler take control of starting and stopping the route accordingly. \ No newline at end of file diff --git a/docs/user-manual/modules/ROOT/pages/data-format.adoc b/docs/user-manual/modules/ROOT/pages/data-format.adoc index 50700a2..c274a6f 100644 --- a/docs/user-manual/modules/ROOT/pages/data-format.adoc +++ b/docs/user-manual/modules/ROOT/pages/data-format.adoc @@ -1,60 +1,15 @@ [[DataFormat-DataFormat]] = Data Format -Camel supports a pluggable DataFormat to allow messages to be marshalled +Camel supports a pluggable `DataFormat` to allow messages to be marshalled to and from binary or text formats to support a kind of xref:{eip-vc}:eips:message-translator.adoc[Message Translator]. -The following data formats are currently supported: - -* Object marshalling -** xref:components:dataformats:avro-dataformat.adoc[Avro] -** xref:json.adoc[JSON] -** xref:components:dataformats:protobuf-dataformat.adoc[Protobuf] -** xref:components:dataformats:yaml-snakeyaml-dataformat.adoc[YAML] - -* Object/XML marshalling -** xref:components:dataformats:jaxb-dataformat.adoc[JAXB] -** xref:components:dataformats:xstream-dataformat.adoc[XStream] -** xref:components:dataformats:jacksonxml-dataformat.adoc[Jackson XML] - -* Flat data structure marshalling -** xref:components:dataformats:beanio-dataformat.adoc[BeanIO] -** xref:components:dataformats:bindy-dataformat.adoc[Bindy] -** xref:components:dataformats:csv-dataformat.adoc[CSV] -** xref:components:dataformats:flatpack-dataformat.adoc[Flatpack DataFormat] -** uniVocity DataFormats xref:components:dataformats:univocity-csv-dataformat.adoc[CSV] / xref:components:dataformats:univocity-tsv-dataformat.adoc[TSV] / xref:components:dataformats:univocity-fixed-dataformat.adoc[Fixed Length] - -* Domain specific marshalling -** xref:components:dataformats:hl7-dataformat.adoc[HL7 DataFormat] - -* Compression -** xref:components:dataformats:zipfile-dataformat.adoc[Zip File DataFormat] -** xref:components:dataformats:lzf-dataformat.adoc[LZF Data Format] - -* Security -** xref:components::crypto-component.adoc[Crypto] -** xref:components::crypto-component.adoc[PGP] -** xref:components:dataformats:secureXML-dataformat.adoc[XMLSecurity DataFormat] - -* Misc. -** xref:components:dataformats:base64-dataformat.adoc[Base64] -** xref:components:dataformats:mime-multipart-dataformat.adoc[MIME-Multipart] -** xref:components:dataformats:rss-dataformat.adoc[RSS] -** xref:components:dataformats:syslog-dataformat.adoc[Syslog] -** xref:components:dataformats:ical-dataformat.adoc[ICal] -** xref:components:dataformats:barcode-dataformat.adoc[Barcode] -- to read and generate barcodes -(QR-Code, PDF417, ...) - -And related is the following: - -* xref:components::dataformat-component.adoc[DataFormat Component] for working with - Data Formats as if it was a regular xref:component.adoc[Component] - supporting xref:endpoint.adoc[Endpoints] and xref:uris.adoc[URIs]. -* xref:dozer-type-conversion.adoc[Dozer Type Conversion] using Dozer for - type converting POJOs - -[[DataFormat-Unmarshalling]] +== Supported data formats + +There are more than 40 different xref:latest@components:dataformats:index.adoc[Data Formats] that +supports formats such as XML, CSV, JSon, YAML, Avro, Protobuf, and many more. + == Unmarshalling If you receive a message from one of the Camel @@ -83,18 +38,6 @@ reference to a data format which can then be defined in your xref:registry.adoc[Registry] such as via your xref:spring.adoc[Spring] XML file. -You can also use the DSL itself to define the data format as you use it. -For example the following uses Java serialization to unmarshal a binary -file then send it as an ObjectMessage to xref:components::activemq-component.adoc[ActiveMQ] - -[source,java] ----- -from("file://foo/bar"). - unmarshal().serialization(). - to("activemq:Some.Queue"); ----- - -[[DataFormat-Marshalling]] == Marshalling Marshalling is the opposite of unmarshalling, where a bean is marshalled @@ -105,20 +48,18 @@ DataFormat instance, you can configure the DataFormat dynamically using the DSL or you can refer to a named instance of the format in the xref:registry.adoc[Registry]. -The following example unmarshals via serialization then marshals using a +The following example marshals using a named JAXB data format to perform a kind of xref:{eip-vc}:eips:message-translator.adoc[Message Translator]: [source,java] ---- from("file://foo/bar"). - unmarshal().serialization(). marshal("jaxb"). to("activemq:Some.Queue"); ---- -[[DataFormat-UsingSpringXML]] -== Using Spring XML +== Example using Spring XML This example shows how to configure the data type just once and reuse it on multiple routes: @@ -132,12 +73,16 @@ on multiple routes: <route> <from uri="direct:start"/> - <marshal ref="myJaxb"/> + <marshal> + <custom ref="myJaxb"/> + </marshal> <to uri="direct:marshalled"/> </route> <route> <from uri="direct:marshalled"/> - <unmarshal ref="myJaxb"/> + <unmarshal> + <custom ref="myJaxb"/> + </unmarshal> <to uri="mock:result"/> </route>