Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.此内容没有您所选择的语言版本。
Chapter 8. JoSQL
Overview 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The JoSQL (SQL for Java objects) language enables you to evaluate predicates and expressions in Apache Camel. JoSQL employs a SQL-like query syntax to perform selection and ordering operations on data from in-memory Java objects—however, JoSQL is not a database. In the JoSQL syntax, each Java object instance is treated like a table row and each object method is treated like a column name. Using this syntax, it is possible to construct powerful statements for extracting and compiling data from collections of Java objects. For details, see http://josql.sourceforge.net/.
Adding the JoSQL module 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To use JoSQL in your routes you need to add a dependency on
camel-josql
to your project as shown in Example 8.1, “Adding the camel-josql dependency”.
Example 8.1. Adding the camel-josql dependency
Static import 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To use the
sql()
static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.builder.sql.SqlBuilder.sql;
import static org.apache.camel.builder.sql.SqlBuilder.sql;
Variables 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Table 8.1, “SQL variables” lists the variables that are accessible when using JoSQL.
Name | Type | Description |
---|---|---|
exchange | org.apache.camel.Exchange | The current Exchange |
in | org.apache.camel.Message | The IN message |
out | org.apache.camel.Message | The OUT message |
property | Object | the Exchange property whose key is property |
header | Object | the IN message header whose key is header |
variable | Object | the variable whose key is variable |
Example 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Example 8.2, “Route using JoSQL” shows a route that uses JoSQL.
Example 8.2. Route using JoSQL