2.79. Velocity
使用 kiosky 模板转换消息。
2.79.1. 内部是什么
-
velocity 组件, URI 语法:
velocity:resourceUri
有关使用和配置详情,请参阅上述链接。
2.79.2. Maven 协调
在 code.quarkus.redhat.com 上使用此扩展创建一个新项目
或者将协调添加到现有项目中:
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-velocity</artifactId> </dependency>
2.79.3. 使用方法
2.79.3.1. 自定义正文作为原生模式的域对象
当使用自定义对象作为消息正文并在原生模式中引用其属性时,需要注册所有类以进行反映( 请参阅文档)。
例如:
@RegisterForReflection public interface CustomBody { }
2.79.4. 原生模式中的 allowContextMapAll 选项
原生模式下不支持 allowContextMapAll
选项,因为它需要对安全敏感 camel 内核类(如 CamelContext
和 Exchange
)进行反映访问。这被视为安全风险,因此默认不提供对该功能的访问。
2.79.5. 其他 Camel Quarkus 配置
这个组件通常从 classpath 加载 Velocity 模板。要使它也以原生模式工作,您需要使用 quarkus.native.resources.includes
属性将模板明确嵌入到原生可执行文件中。
例如,以下路由会从名为 template/simple.vm
的类路径资源中加载 sVirty 模板:
from("direct:start").to("velocity://template/simple.vm");
要在原生镜像中包含它(可能存储在 模板
目录中的 .vm
文件中的其他模板),您必须将类似如下的内容添加到 application.properties
文件中:
quarkus.native.resources.includes = template/*.vm