在评估样本数据期间,我发现了以下问题。当JMS中的内容包含“颠倒问号”<test>Inverted¿QuestionMark</test>
时,代理崩溃 - 实际上挂起,CPU上升到100%。
这里代码的代码很容易重现:
只需将<test>Inverted¿QuestionMark</test>
添加到名为“test_qEncoding”的队列中,然后查看CPU如何启动并且代理挂起。
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="test_encoding_crash_jms" transports="jms" startOnLoad="true" trace="disable">
<parameter name="transport.jms.Destination">test_qEncoding</parameter>
<parameter name="transport.jms.ConnectionFactory">myQueueConnectionFactory</parameter>
<parameter name="transport.jms.DestinationType">queue</parameter>
<parameter name="transport.jms.ContentType">
<rules>
<jmsProperty>contentType</jmsProperty>
<default>application/xml;charset="iso-8859-15"</default>
</rules>
</parameter>
<target>
<inSequence>
<log level="custom">
<property name="Context" value="Proxy test_encoding_crash_jms called"/>
</log>
<log level="full"/>
</inSequence>
</target>
</proxy>
当我使用vfs代理并读取为ISO-8859时,它可以工作。如果我没有指定;charset="iso-8859-15"
,那么它也会起作用,但内容不适合我输出的正确编码。
当我想将其发送到ISO-8859时,如何从JMS收到消息?
为什么上面的代理会挂起并阻止整个WSO2 ESB?
答案 0 :(得分:0)
有人回来了[1]。似乎是一个存在的问题。有关详细信息,请参阅JIRA。此外,如果您可以一致地重现它,请提及,以便我们可以提高优先级。