如何使用文件入站端点处理从MuleClient.dispatch()获得的文件名作为有效负载
下面是我的文件入站端点配置。它正在处理指定路径上可用的所有.edi文件如何使用文件入站端点处理从MuleClient.dispatch()获得的文件名作为有效负载,mule,Mule,下面是我的文件入站端点配置。它正在处理指定路径上可用的所有.edi文件 我从spring应用程序向该端点发送一个事件,如下所示 muleClient.dispatch(“file://D:/test docs/in”,inputFileName, 无效) 我将输入文件名作为message1.edi传递。我想将文件入站点限制为处理单个文件,其名称在dispatch()中作为有效负载对象发送 是否可以使用文件入站端点 dispatch()是一个异步方法。我想暂停当前线程,直到收到dispatc
我从spring应用程序向该端点发送一个事件,如下所示
muleClient.dispatch(“file://D:/test docs/in”,inputFileName,
无效)代码>
我将输入文件名作为message1.edi传递。我想将文件入站点限制为处理单个文件,其名称在dispatch()中作为有效负载对象发送
是否可以使用文件入站端点
dispatch()是一个异步方法。我想暂停当前线程,直到收到dispatch()的答复。现在我正在使用thread.sleep()。有更好的方法吗?我可能没有抓住要点:-)但是我认为调度不是您想要使用的。
要在mule文件侦听器上触发事件,请将message1.edi复制到文件夹file://D:/test docs/in中
mule将拾取文件并进行处理
另外,我认为mule文件端点不支持动态更改regex,如果您想动态更改文件,那么就使用muleClient.dispatch触发流(“file://D:/test docs/in”,inputFileName,null);并使用groovy组件读取触发器中名为的进程文件
def fileContent = new File("file://D:/test docs/in/" + inputFileName).text
return fileContent
如果不是文本文件,请根据进行调整 不需要入站端点。您需要使用MuleClient的请求
方法按需获取自定义文件内容:
muleClient.request('file://D:/test docs/in', -1);
对不起,我本来可以发布整个骡子流代码的。
下面是我的骡子流程:
我的要求是:
我将从spring控制器向入站端点发送.edi文件名。它将从文件夹中的D:\smooks\test docs\读取文件,并将其转换为xml文件。
文件出站端点将xml文件放在D:\smooks\test docs\out文件夹中。
在SpringController中,我应该能够读取xml文件并创建dom源代码
xmlDocument=builder.parse(documentRootPath+outputFileName);
Source Source=新的DOMSource(xmlDocument)代码>
要从spring控制器请求mule,我使用mule客户端
muleClient.dispatch(“file://D:/smooks/test docs/in”,inputFileName,null);
message=muleClient.request(“file://D:/smooks/test docs/out”,
100000);代码>这是对您问题的回答吗?