如果我有以下骆驼路线并发送 udp 消息,则不会将任何内容打印到 stdout:
<route>
<from uri="netty:udp://0.0.0.0:5000"/>
<to uri="mock:stdout"/>
</route>
但是,如果我添加解码器,我可以看到 udp 消息打印在标准输出上
<bean class="org.jboss.netty.handler.codec.string.StringDecoder" id="stringDecoder">
<constructor-arg value="UTF-8"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="netty:udp://0.0.0.0:5000?decoder=#stringDecoder"/>
<to uri="mock:stdout"/>
</route>
</camelContext>
有人可以解释一下为什么默认解码器不会将消息传递到模拟endpoint。它正在等待EOF类型的信号吗?
我正在使用以下方式发送消息:
$ cat json.txt | nc -4u -w1 hostname 5000
Apache camel netty页面解释说:
allowDefaultCodec == true
Camel 2.4: The netty component installs a default codec if both,
encoder/deocder is null and textline is false.
Setting allowDefaultCodec to false prevents the netty component from installing a
default codec as the first element in the filter chain.
字符串解码器要求您使用新行来终止字符串。因此,请确保在发送时包含它。
例如,在javadoc和代码示例中,您可以看到它们使用\n
https://docs.jboss.org/netty/3.2/api/org/jboss/netty/handler/codec/string/StringDecoder.html
让我举一个简单的例子
我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?
我试着去看其他的代码例子,但是它们和我的代码比较相似,但是我的应用程序仍然会因为同样的错误而崩溃。 这是我使用firebase文档的指导方针编写的代码: 上面的代码正在将otp发送到给定的号码,但是它崩溃了,并且cat-log显示了上面提到的错误。
我面临的问题在我的泽西岛邮政API当我没有发送内容长度从邮递员。 我们知道,默认情况下,postman发送的是content-length(隐藏的头),但我不发送。 2020-12-09 14:51:36.951错误27356---[nio-8082-exec-1]O.A.C.C.C.[.[.[/].[dispatcherServlet]:servlet[dispatcherServlet]的se
当我在Jenkins从属上运行以下代码段时,它可以工作。但是当它在没有BASH的docker容器中执行时,就不会设置“$test”。 https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-withenv-code-set-environment-variables