Domanda

I have a Mule application that is writing a file in an outbound endpoint, with the config below:

<file:outbound-endpoint path="${Outbound}" outputPattern="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" doc:name="Output File"/>

Following this point in the flow I need to display a log message along the lines of "Successfully created file {filename}".

The issue I'm having is that I can't find a way of displaying the name of the file I have just created. I could put: Successfully created file outputFile_#[function:datestamp:yyyyMMddHHmmss].csv, but there is a chance that the datestamp may differ by one second.

Is there a way in Mule that I can display the name of the file I've just written?

UPDATE

Following the response from @til_b, I've achieved this using the following:

<set-variable value="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" variableName="Filename" doc:name="Variable"/>
<file:outbound-endpoint path="${Outbound}" outputPattern="#[variable:Filename]" doc:name="Output File"/>
<logger level="INFO" message="Successfully created file #[variable:Filename]" doc:name="Logger" />
È stato utile?

Soluzione

I dont know about mule, but when i encounter such a problem while programming i store the generated filename in a variable, and then use that variable to actually create the file and display the message.

In Pseudocode:

var filename = #yyyymmddhhMMss.csv
create_file(filename)
log_message(filename + ' successfully created')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top