239.4. 基于 registry 的选项

codec Handler 和 SSL 密钥存储可以列在 registry 中,例如在 Spring XML 文件中。可以传递的值如下:

名称描述

passphrase

要使用的密码设置来加密/使用 SSH 发送的有效负载

keyStoreFormat

用于有效负载加密的密钥存储格式。如果没有设置,则默认为 "JKS"

securityProvider

用于有效负载加密的安全供应商。如果没有设置,则默认为 "SunX509"。

keyStoreFile

弃用: 用于加密的客户端侧证书密钥存储

trustStoreFile

弃用: 用于加密的服务器侧证书密钥存储

keyStoreResource

Camel 2.11.1: 要用于加密的客户端侧证书密钥存储。默认情况下,由 classpath 加载,但您可以使用 "classpath:""file:""http:" 前缀来从不同的系统加载资源。

trustStoreResource

Camel 2.11.1: 用于加密的服务器侧证书密钥存储。默认情况下,由 classpath 加载,但您可以使用 "classpath:""file:""http:" 前缀来从不同的系统加载资源。

sslHandler

对可用于返回 SSL 处理程序的类的引用

encoder

自定义 ChannelHandler 类,可用于执行出站有效负载的特殊包。Must override org.jboss.netty.channel.ChannelDownStreamHandler.

encorders

要使用的编码器列表。您可以使用带有用逗号分开的值的 String,并在 Registry 中查找值。只需记得使用 # so Camel 知道它应该查找的值。

decoder

自定义 ChannelHandler 类,可用于执行入站有效负载的特殊摘要。Must override org.jboss.netty.channel.ChannelUpStreamHandler.

decoders

要使用的解码器列表。您可以使用带有用逗号分开的值的 String,并在 Registry 中查找值。只需记得使用 # so Camel 知道它应该查找的值。

重要信息: 以下关于使用不可共享编码器/解密代码器的阅读。

239.4.1. 使用非共享的编码或解码器

如果您的编码或解码器无法共享(例如,具有 @Shareable 类注释),则您的 encoder/decoder 必须实施 org.apache.camel.component.netty.ChannelHandlerFactory 接口,并在 newChannelHandler 方法中返回新实例。这是为了确保安全使用编码器/编码器。否则,当创建端点时 Netty 组件会记录 WARN。

Netty 组件提供了 org.apache.camel.component.netty.ChannelHandler factory 类,它含有一些常用方法。