2016-09-23 7 views
0

私は次の設定ファイル を持っています。1)ファイルを取り込み、内容をアクティブなmqに送ります。 2)アクティブなmqから受信してファイル に書き込んでいますが、一度書き込まれると、ファイル内に特殊文字が表示されています。 "srjava.util.ArrayListxÒÇaI sizexp w ur [BóóTTxp` " 。なぜ特殊文字がファイルに入っていますか?

なぜ来るのですか?

<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'ですが、' 'ペイロードを文字列に変換します。 –

関連する問題