MEL 中的 Mule 变量作为字符串
Mule variable in MEL as String
我有一个从资源中读取文件的表达式:
#[Thread.currentThread().getContextClassLoader().getResourceAsStream('abc.txt')]
它工作正常,但我想使用这样的变量:
#[Thread.currentThread().getContextClassLoader().getResourceAsStream(flowVars['fileName'])]
它不起作用,
- 我怎样才能让它像第一个 MEL 一样工作?
- 如何使用 MEL 读取绝对路径 "D://input/abc.txt" 中的文件?
感谢您的帮助。
已解决
- 使用
flowVars.filename
而不是 flowVars['fileName']
它有效,但我无法得到它,我将记录器与此 MEL #[flowVars['filename']]
一起使用,它也有效,但在第二个 MEL 中它失败。
1) 您使用的是两种不同方法的不同案例。变量名称区分大小写。
2) 只需使用 FileInputStream:
#[new FileInputStream("path")]
或者使用文件 transport/Mule 请求者模块更好。
试试这个,使用变量名而不是使用关键字 "flowVars"
#[Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)]
我有一个从资源中读取文件的表达式:
#[Thread.currentThread().getContextClassLoader().getResourceAsStream('abc.txt')]
它工作正常,但我想使用这样的变量:
#[Thread.currentThread().getContextClassLoader().getResourceAsStream(flowVars['fileName'])]
它不起作用,
- 我怎样才能让它像第一个 MEL 一样工作?
- 如何使用 MEL 读取绝对路径 "D://input/abc.txt" 中的文件?
感谢您的帮助。
已解决
- 使用
flowVars.filename
而不是flowVars['fileName']
它有效,但我无法得到它,我将记录器与此 MEL#[flowVars['filename']]
一起使用,它也有效,但在第二个 MEL 中它失败。
1) 您使用的是两种不同方法的不同案例。变量名称区分大小写。
2) 只需使用 FileInputStream:
#[new FileInputStream("path")]
或者使用文件 transport/Mule 请求者模块更好。
试试这个,使用变量名而不是使用关键字 "flowVars"
#[Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)]