2.74. velocity


使用 Velocity 模板转换消息。

2.74.1. 内部内容

  • velocity 组件,URI 语法:Velocity:resourceUri

有关使用和配置详情,请参阅上述链接。

2.74.2. Maven 协调

在 code.quarkus.redhat.com 上创建一个具有此扩展名的新项目

或者在现有项目中添加协调:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-velocity</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

2.74.3. 使用方法

2.74.3.1. 在原生模式中自定义正文作为域对象

当使用自定义对象作为消息正文并在原生模式下引用其属性时,需要注册所有类以反应( 请参阅文档)。

例如:

@RegisterForReflection
public interface CustomBody {
}
Copy to Clipboard Toggle word wrap

2.74.4. 在原生模式中允许ContextMapAll 选项

原生模式中不支持 allowContextMapAll 选项,因为它需要反复访问安全敏感的 camel 核心类,如 CamelContextExchange。这被视为安全风险,因此默认情况下不提供对该功能的访问。

2.74.5. 其他 Camel Quarkus 配置

这个组件通常从 classpath 加载 Velocity 模板。要使它在原生模式下工作,您需要使用 quarkus.native.resources.includes 属性将模板显式嵌入到原生可执行文件中。

例如,以下路由将从名为 template/simple.vm 的 classpath 资源加载 ratey 模板:

from("direct:start").to("velocity://template/simple.vm");
Copy to Clipboard Toggle word wrap

要在原生镜像中包含此(可能存储在 模板 目录中 .vm 文件中的其他模板),您必须将类似以下内容的内容添加到 application.properties 文件中:

quarkus.native.resources.includes = template/*.vm
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat