首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可从多个数据编织脚本调用的通用mule数据编织函数

可从多个数据编织脚本调用的通用mule数据编织函数
EN

Stack Overflow用户
提问于 2017-07-01 04:25:28
回答 1查看 623关注 0票数 0

在流程1中,我有一个数据编织脚本,如下所示

代码语言:javascript
复制
%output application/java
%function fun1(str)
    xxxx   //do some steps         
---
payload map ((payload01 , indexOfPayload01) -> {
element1 : fun1(payload01.element1)
}

在流程2中,我有一个数据编织脚本,如下所示

代码语言:javascript
复制
%output application/java
%function fun1(str)
    xxxx  //do some steps            
---
payload map ((payload01 , indexOfPayload01) -> {
entity1 : fun1(payload01.entity1)
}

fun1在流2中的数据编织中重复。如何使fun1成为一个通用的数据编织函数,以便在流1和流2中都可以从数据编织中调用?

EN

回答 1

Stack Overflow用户

发布于 2017-07-01 05:24:51

您可以在src/main/resource文件夹下创建一个外部.dwl文件,并将dataweave脚本放在那里。这个.dwl可以与dataweave组件共享。例如:

在流程1中:-

代码语言:javascript
复制
<dw:transform-message doc:name="Transform Message in flow1">
     <dw:set-payload resource="classpath:test.dwl"/
</dw:transform-message>

在flow2中使用相同的.dwl文件:-

代码语言:javascript
复制
<dw:transform-message doc:name="Transform Message in flow2">
       <dw:set-payload resource="classpath:test.dwl"/>
</dw:transform-message>

请注意,如果你正在使用dataweave中的整个脚本,你可以分享这个脚本。但是如果你想使用数据编织组件的任何特定函数,最好使用全局函数,它可以在你的任何数据编织中使用。

参考:- https://forums.mulesoft.com/questions/48759/how-to-use-java-functions-in-dataweave.html

https://forums.mulesoft.com/questions/50391/using-java-class-in-global-functions.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44854351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档