2016-09-23 32 views
0

我有以下配置文件, 1)挑選文件併發送內容到活動的mq。 2)接收活動mq並將其寫入文件 但是一旦寫入文件,我會在文件中獲得一些特殊字符,如 「¬ísrjava.util.ArrayListxÒ™ÇaI sizexp w ur [B¬óøTàxp`」 。爲什麼特殊字符在文件中?

爲什麼會來?

<mule> 
<jms:activemq-connector name="Active_MQ" brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ"/> 
<flow name="activemqFlow"> 
    <file:inbound-endpoint path="D:\mule\input" responseTimeout="10000" doc:name="File"/> 
    <set-property propertyName="fileName" value="#[message.inboundProperties.originalFilename]" doc:name="Property"/> 
    <jms:outbound-endpoint queue="logfilequeue" connector-ref="Active_MQ" doc:name="JMS"/> 
</flow> 
<flow name="JmsInboundFlow"> 
    <jms:inbound-endpoint queue="logfilequeue" connector-ref="Active_MQ" doc:name="JMS"> 
     <jms:client-ack-transaction acti on="NONE"/> 
    </jms:inbound-endpoint> 
    <logger message="#[payload.toString()]" level="INFO" doc:name="Logger"/> 
    <file:outbound-endpoint path="D:\mule\output" responseTimeout="10000" doc:name="File" outputPattern="#[message.inboundProperties.fileName]"/> 
</flow> 

回答

0

您需要使用<object-to-string-transformer doc:name="Object to String"/>文件入站端點後像下面這樣: -

<jms:activemq-connector name="Active_MQ" brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ"/> 
<flow name="activemqFlow"> 
    <file:inbound-endpoint path="D:\mule\input" responseTimeout="10000" doc:name="File"/> 
    <object-to-string-transformer doc:name="Object to String"/> 
    <set-property propertyName="fileName" value="#[message.inboundProperties.originalFilename]" doc:name="Property"/> 
    <jms:outbound-endpoint queue="logfilequeue" connector-ref="Active_MQ" doc:name="JMS"/> 
</flow> 
<flow name="JmsInboundFlow"> 
    <jms:inbound-endpoint queue="logfilequeue" connector-ref="Active_MQ" doc:name="JMS"> 
     <jms:client-ack-transaction acti on="NONE"/> 
    </jms:inbound-endpoint> 
    <logger message="#[payload.toString()]" level="INFO" doc:name="Logger"/> 
    <file:outbound-endpoint path="D:\mule\output" responseTimeout="10000" doc:name="File" outputPattern="#[message.inboundProperties.fileName]"/> 
</flow> 
+0

非常感謝它的工作,但爲什麼它被賦予特殊字符? – Prasad

+0

非常感謝,我已經完成 – Prasad

+0

這是因爲文件後面的負載是'FileInputStream',你在最後得到的,但是添加''將有效載荷轉換爲字符串。 –

相關問題