342.4. RFC5424 Syslog 协议
从 Camel 2.14 开始提供
要公开 Syslog 侦听器服务,我们重复使用现有的 camel-mina 组件或 camel-netty,其中我们仅使用 SyslogDataFormat 进行 marshal 和 unmarshal 消息
342.4.1. 公开 Syslog 侦听器 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在 Spring XML 文件中,我们将端点配置为侦听端口 10514 上的 udp 信息,请注意,在 netty 中,禁用 defaultCodec,这个
将允许回退到 NettyTypeConverter,并以 InputStream 形式提供消息:
<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<syslog id="mySyslog"/>
</dataFormats>
<route>
<from uri="netty:udp://localhost:10514?sync=false&allowDefaultCodec=false"/>
<unmarshal ref="mySyslog"/>
<to uri="mock:stop1"/>
</route>
</camelContext>
使用 camel-mina的同一路由
<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<syslog id="mySyslog"/>
</dataFormats>
<route>
<from uri="mina:udp://localhost:10514"/>
<unmarshal ref="mySyslog"/>
<to uri="mock:stop1"/>
</route>
</camelContext>
342.4.2. 将 syslog 消息发送到远程目的地 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<syslog id="mySyslog"/>
</dataFormats>
<route>
<from uri="direct:syslogMessages"/>
<marshal ref="mySyslog"/>
<to uri="mina:udp://remotehost:10514"/>
</route>
</camelContext>