キューから読み取り、元のファイル名でファイルに書き込むには、次のようなものが必要です...ファイルがフローから読み取られて JMS キューに送信され、次のフローがファイルを JMS キューから取り出す簡単な例を次に示します。元のファイル名のフォルダーに書き込みます:-
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking"
xmlns:jms="http://www.mulesoft.org/schema/mule/jms" xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
<jms:activemq-connector name="Active_MQ"
brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ" />
<flow name="JMSSender" doc:name="JMSSender">
<file:inbound-endpoint responseTimeout="10000"
doc:name="File" path="E:\backup\test">
<file:filename-regex-filter pattern="sun.pdf,aa.txt" caseSensitive="false" />
</file:inbound-endpoint>
<file:file-to-byte-array-transformer /> <!-- This is necessary otherwise the output PDF file will be corrupted .. -->
<set-session-variable variableName="FileName" value="#[message.inboundProperties.originalFilename]" doc:name="Session Variable" />
<jms:outbound-endpoint queue="MyQueue" connector-ref="Active_MQ" doc:name="JMS" exchange-pattern="request-response">
</jms:outbound-endpoint>
</flow>
<flow name="JMSReceiver" doc:name="JMSReceiver">
<jms:inbound-endpoint connector-ref="Active_MQ"
doc:name="JMS" exchange-pattern="request-response" address="jms://tcp:MyQueue">
</jms:inbound-endpoint>
<file:outbound-endpoint path="E:\backup\test\ss" outputPattern="#[sessionVars['FileName']]" responseTimeout="10000"
doc:name="File" />
</flow>
</mule>
ここでは、セッション変数を使用して元のファイル名を受け取ることができます...