Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus merged PR #1139: URL: https://github.com/apache/camel-website/pull/1139 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
iMashtak commented on PR #1139: URL: https://github.com/apache/camel-website/pull/1139#issuecomment-1944451302 @davsclaus I think the following will be enough: --- We have introduced new experimental API for defining Camel routes in Kotlin. It provides [Kotlin type-safe builders](https://kotlinlang.org/docs/type-safe-builders.html) as building blocks of Camel entities. Kotlin API is not the replacement of Kotlin DSL - it is a separate project for now. While it is experimental there may be breaking changes in API in next releases. See more in the `[docs](there must be link to documentation of camel-kotlin-api component)`. --- I didnt find link of documentation of component, sadly. Also i dont think that there should be any repetition of docs to make release note less verbose. I included main parts from my point of view. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus commented on PR #1139: URL: https://github.com/apache/camel-website/pull/1139#issuecomment-1943298074 @iMashtak do you want to add something about the new kotlin-api DSL for this blog? Then you are welcome to add to the PR or add comment here for us to put into the blog -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1488911592 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,170 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +We refactored the [Throttle EIP](/components/next/eips/throttle-eip.html) implementation to allow supporting two different modes of throttling. + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or per Camel context. + +With variables, you can now more easily share data between routes and/or globally. Variables are also readily accessible +from EIPs and languages, just as message _headers_ or _exchange properties_ are. In other words, they have been added +as first-class into Camel. + +You can find a small example here: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables + +We have also made a selected number of EIPs have _special use_ of variables. The idea is to make it easier to +collect various sets of data from external systems using Camel components and commonly used EIPs, without any +ceremony to prepare message body and headers, and cleanup afterward (i.e. removing HTTP headers). + +And you can find a small example here using variables with EIPs: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables-eip + +The JBang debugger can also show variables if enabled with `--show-exchange-variables`, as shown in the screenshot below: + +[source,bash] + +camel debug * --show-exchange-variables + + +![JBang Debug with Variables](variable-debug.png) + +In the screenshot, you can see three variables: + +- `alc1` - Is a float with the alcohol percentage of beer 1 +- `beer1` - Is the json structure of beer1 +- `beer2` - Is the json structure of beer2 + +The debugger is suspended (blue) in the Camel route where we are about to set variable `alc2` computed as follows: + +[source,yaml] +```yaml +- setVariable: +name: alc2 +expression: + jq: +expression: .alcohol | rtrimstr("%") +source: beer2 +resultType: float +``` + +Here you can see the `alc2` variable is set from a `jq` expression that grabs the alcohol field, and remove the `%` sign. +The source (input) is from another variable named `beer2`. You can also specify `header:myHeader` to refer to a header, or +if you remove `source` then the message body is used as input (default). +The result is converted to a Java `float`, + +**NOTE:** +If you take a closer look in the screenshot above, then the debugger reveals that the `Exchange` has no message headers, +and that the message body is empty (`null`). The example is exclusively using variables to gather and compute data; without +the need to store and restore data on message header/body during routing. This is a cleaner and elegant practice. + +## Camel JBang (Camel CLI) + +We have continued investing in Camel JBang, and this time we have some great new stuff in the release. + +The `camel-jbang` now supports new commands as plugins. And the first set of commands is [camel-k commands](/manual/camel-jbang-k.html), +that allows to use `camel-jbang` to manage and operate Camel K integrations. + +You can now run `camel-jbang` with `--prompt` that lets users type in placeholder values during startup, +making it easy to build examples and prototypes that can easily be customized to users need, when trying. + +You can now more easily run `camel-jbang` with custom `log4j2.properties` file to use your logging configuration, +instead of the _built-in_ logging. + +Added support for using Jolokia 2.x with `camel-jbang`. + Review Comment: Yes good idea -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
tadayosi commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1488858735 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,170 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +We refactored the [Throttle EIP](/components/next/eips/throttle-eip.html) implementation to allow supporting two different modes of throttling. + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or per Camel context. + +With variables, you can now more easily share data between routes and/or globally. Variables are also readily accessible +from EIPs and languages, just as message _headers_ or _exchange properties_ are. In other words, they have been added +as first-class into Camel. + +You can find a small example here: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables + +We have also made a selected number of EIPs have _special use_ of variables. The idea is to make it easier to +collect various sets of data from external systems using Camel components and commonly used EIPs, without any +ceremony to prepare message body and headers, and cleanup afterward (i.e. removing HTTP headers). + +And you can find a small example here using variables with EIPs: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables-eip + +The JBang debugger can also show variables if enabled with `--show-exchange-variables`, as shown in the screenshot below: + +[source,bash] + +camel debug * --show-exchange-variables + + +![JBang Debug with Variables](variable-debug.png) + +In the screenshot, you can see three variables: + +- `alc1` - Is a float with the alcohol percentage of beer 1 +- `beer1` - Is the json structure of beer1 +- `beer2` - Is the json structure of beer2 + +The debugger is suspended (blue) in the Camel route where we are about to set variable `alc2` computed as follows: + +[source,yaml] +```yaml +- setVariable: +name: alc2 +expression: + jq: +expression: .alcohol | rtrimstr("%") +source: beer2 +resultType: float +``` + +Here you can see the `alc2` variable is set from a `jq` expression that grabs the alcohol field, and remove the `%` sign. +The source (input) is from another variable named `beer2`. You can also specify `header:myHeader` to refer to a header, or +if you remove `source` then the message body is used as input (default). +The result is converted to a Java `float`, + +**NOTE:** +If you take a closer look in the screenshot above, then the debugger reveals that the `Exchange` has no message headers, +and that the message body is empty (`null`). The example is exclusively using variables to gather and compute data; without +the need to store and restore data on message header/body during routing. This is a cleaner and elegant practice. + +## Camel JBang (Camel CLI) + +We have continued investing in Camel JBang, and this time we have some great new stuff in the release. + +The `camel-jbang` now supports new commands as plugins. And the first set of commands is [camel-k commands](/manual/camel-jbang-k.html), +that allows to use `camel-jbang` to manage and operate Camel K integrations. + +You can now run `camel-jbang` with `--prompt` that lets users type in placeholder values during startup, +making it easy to build examples and prototypes that can easily be customized to users need, when trying. + +You can now more easily run `camel-jbang` with custom `log4j2.properties` file to use your logging configuration, +instead of the _built-in_ logging. + +Added support for using Jolokia 2.x with `camel-jbang`. + Review Comment: Thanks! Can we mention here that `camel hawtio` now defaults to Hawtio 3.0.1? -- This is an automated message from the Apache Git Service. To respond to the
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1488434661 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +TODO: Throttler EIP + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or globally. + +With variables, you can now more easily share data between routes and/or globally. Variables is also readily accessible Review Comment: Not here in the blog - but on the actual doc of the feature itself - the blog is just high level -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1488437160 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be Review Comment: its documented in the MBeans operations, and their javadoc. And in general in the JMX docs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
apupier commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1487904665 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be Review Comment: Do we have documentation for this feature so we can link to it and user can discover how to turn on the feature? ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +TODO: Throttler EIP + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or globally. Review Comment: ```suggestion A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or global. ``` Shouldn't we say global here? ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +TODO: Throttler EIP + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or globally. + +With variables, you can now more easily share data between routes and/or globally. Variables is also readily accessible +from EIPs and languages, just as message _headers_ or _exchange properties_ are. In other words, they have been added +as first-class into Camel. + +You can find a small example here: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables + +We have also made a selected number of EIPs have _special use_ of variables. The idea is to make it easier to +collect various set of data from external systems using Camel components and commonly used EIPs, without any +ceremony to prepare message body and headers, and cleanup afterward (i.e. removing HTTP headers). + +And you can find a small example here
Re: [PR] Whats new in Camel 4.4 WIP [camel-website]
squakez commented on code in PR #1139: URL: https://github.com/apache/camel-website/pull/1139#discussion_r1487890613 ## content/blog/2024/02/camel44-whatsnew/index.md: ## @@ -0,0 +1,169 @@ +--- +title: "Apache Camel 4.4 What's New" +date: 2024-02-19 +authors: [davsclaus] +categories: ["Releases"] +preview: Details of what we have done in the Camel 4.4 release. +--- + +Apache Camel 4.4 (LTS) has just been [released](/blog/2024/02/RELEASE-4.4.0/). + +This release introduces a set of new features and noticeable improvements that we will cover in this blog post. + +## Camel Core + +The simple language has been improved with `hash` function, and further improved the embedded functions for `jsonpath`, `jq` and `xpath` +making it easier to grab data from JSon or XML within your simple expression or predicates. + +We have optimized data formats to avoid converting payload to `byte[]` when unmarshalling, but allowing each data format +to unmarshal the payload _as-is_. + +Added JMX operation to update routes at runtime via XML format (requires turning on this feature). This can be +useful for tooling where you can then change routes during troubleshooting an existing running Camel integration. + +## DSL + +TODO: Throttler EIP + +### Variables + +The biggest new feature in Camel 4.4 is the introduction of [variables](/manual/variables.adoc). + +A variable is a key/value that can hold a value that can either be private per `Exchange`, or shared per route, or globally. + +With variables, you can now more easily share data between routes and/or globally. Variables is also readily accessible +from EIPs and languages, just as message _headers_ or _exchange properties_ are. In other words, they have been added +as first-class into Camel. + +You can find a small example here: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables + +We have also made a selected number of EIPs have _special use_ of variables. The idea is to make it easier to +collect various set of data from external systems using Camel components and commonly used EIPs, without any +ceremony to prepare message body and headers, and cleanup afterward (i.e. removing HTTP headers). + +And you can find a small example here using variables with EIPs: + +- https://github.com/apache/camel-kamelets-examples/tree/main/jbang/variables-eip + +The JBang debugger can also show variables if enabled with `--show-exchange-variables`, as shown in the screenshot below: + +[source,bash] + +camel debug * --show-exchange-variables + + +![JBang Debug with Variables](variable-debug.png) + +In the screenshot, you can see three variables: + +- `alc1` - Is a float with the alcohol percentage of beer 1 +- `beer1` - Is the json structure of beer1 +- `beer2` - Is the json structure of beer2 + +The debugger is suspended (blue) in the Camel route where we are about to set variable `alc2` computed as follows: + +[source,yaml] +```yaml +- setVariable: +name: alc2 +expression: + jq: +expression: .alcohol | rtrimstr("%") +source: beer2 +resultType: float +``` + +Here you can see the `alc2` variable is set from a `jq` expression that grabs the alcohol field, and remove the `%` sign. +The source (input) is from another variable named `beer2`. You can also specify `header:myHeader` to refer to a header, or +if you remove `source` then the message body is used as input (default). +The result is converted to a Java `float`, + +**NOTE:** +If you take a closer look in the screenshot above, then the debugger reveals that the `Exchange` has no message headers, +and that the message body is empty (`null`). The example is exclusively using variables to gather and compute data; without +the need to store and restore data on message header/body during routing. This is a cleaner and elegant practice. + +## Camel JBang (Camel CLI) + +We have continued investing in Camel JBang, and this time we have some great new stuff in the release. + +The `camel-jbang` now supports new commands as plugins. And the first set of commands is [camel-k commands](/manual/camel-jbang-k.html), +that allows to use `camel-jbang` to manage and operate Camel K integrations. + +You can now run `camel-jbang` with `--prompt` that lets users type in placeholder values during startup, +making it easy to build examples and prototypes that can easily be customized to users need, when trying. + +You can now more easily run `camel-jbang` with custom `log4j2.properties` file to use your logging configuration, +instead of the _built-in_ logging. + +Added support for using Jolokia 2.x with `camel-jbang`. + +## Kamelets + +When using Kamelets then the _route snippets_ due not use any error handler. This means that when calling a Kamelet +then if any error happens these are thrown back, and allows to use your current error handling configuration. This +avoids any confusing, and you can regard calling a Kamelet just as calling
[PR] Whats new in Camel 4.4 WIP [camel-website]
davsclaus opened a new pull request, #1139: URL: https://github.com/apache/camel-website/pull/1139 Please help update this docs, and fill in the TODO and add other important stuff you think is worth to mention. We may want to add a bit about stuff around pipe and eventing for Camel K that this team helped with. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org