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>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-velocity</artifactId>
</dependency>
2.74.3. 使用方法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
2.74.3.1. 在原生模式中自定义正文作为域对象 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
当使用自定义对象作为消息正文并在原生模式下引用其属性时,需要注册所有类以反应( 请参阅文档)。
例如:
@RegisterForReflection public interface CustomBody { }
@RegisterForReflection
public interface CustomBody {
}
2.74.4. 在原生模式中允许ContextMapAll 选项 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
原生模式中不支持 allowContextMapAll
选项,因为它需要反复访问安全敏感的 camel 核心类,如 CamelContext
和 Exchange
。这被视为安全风险,因此默认情况下不提供对该功能的访问。
2.74.5. 其他 Camel Quarkus 配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
这个组件通常从 classpath 加载 Velocity 模板。要使它在原生模式下工作,您需要使用 quarkus.native.resources.includes
属性将模板显式嵌入到原生可执行文件中。
例如,以下路由将从名为 template/simple.vm
的 classpath 资源加载 ratey 模板:
from("direct:start").to("velocity://template/simple.vm");
from("direct:start").to("velocity://template/simple.vm");
要在原生镜像中包含此(可能存储在 模板
目录中 .vm
文件中的其他模板),您必须将类似以下内容的内容添加到 application.properties
文件中:
quarkus.native.resources.includes = template/*.vm
quarkus.native.resources.includes = template/*.vm