【问题标题】:Mule variable in MEL as StringMEL 中的 Mule 变量作为字符串
【发布时间】:2015-08-27 08:11:13
【问题描述】:

我有一个表达式来从资源中读取文件:

#[Thread.currentThread().getContextClassLoader().getResourceAsStream('abc.txt')]

效果很好,但我想使用像这样的变量:

#[Thread.currentThread().getContextClassLoader().getResourceAsStream(flowVars['fileName'])]

它不起作用,

  1. 我怎样才能让它像第一个 MEL 一样工作?
  2. 如何使用 MEL 读取绝对路径“D://input/abc.txt”中的文件?

感谢您的帮助。

已解决

  1. 使用 flowVars.filename 而不是 flowVars['fileName'] 它可以工作,但我无法获得它,我使用带有此 MEL 的记录器 #[flowVars['filename']] 并且它也可以工作,但在第二个 MEL 中它失败了。

【问题讨论】:

  • 对我来说似乎是正确的,你遇到了什么错误?
  • 第二个 MEL 返回空负载,第一个返回文件作为流
  • 我尝试复制这个并且第一个和第二个 mel 都返回一个 java.io.BufferedInputStream,这是预期的。
  • 第二个 MEL 使用 flowVars.filename,谢谢。你能看看第二个问题吗?
  • 您正在使用不同的案例和两种不同的方法。变量名区分大小写。

标签: mule mel


【解决方案1】:

1) 您在两种不同的方法中使用不同的情况。变量名区分大小写。

2) 只需使用 FileInputStream:

 #[new FileInputStream("path")]

或者使用文件传输/Mule 请求模块更好。

【讨论】:

    【解决方案2】:

    试试这个,使用变量名而不是使用关键字“flowVars”

    #[Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)]
    

    【讨论】:

      猜你喜欢
      • 2014-06-29
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2021-10-31
      • 2017-12-21
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多