2016-09-23 3 views
0

У меня есть следующий конфигурационный файл, 1) Сбор файла и отправка содержимого в активную mq. 2) Получение из активного mq и запись его в файл Но как только оно написано, я получаю некоторые специальные символы в файле, такие как "¬í sr java.util.ArrayListx ™ ™ Ça I 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», который вы получаете в конце, но добавляя « 'преобразуем полезную нагрузку в строку. –

Смежные вопросы