在Mule Anypoint Studio中定义各种DB和Salesforce访问信息



我在Windows下运行Mule Anypoint studio v6.2.4。我有一个应用程序,它从SQL Server DB获取数据记录并将它们填充到Salesforce Org中。该应用程序是使用示例开发的,并且在mule.{mule.env}.properties文件中定义的一个数据库和一个SF参数的当前场景中运行良好。

现在,我需要访问不同的数据库以获取输入记录,并将它们填充到不同的 Salesforce 组织。 每次更改属性文件中的访问参数既繁琐又容易出错。(例如 4 个 DB 和 4 个 SF Orgs}

我想做的是定义访问参数(对于各种SQL Server DB和Salesforce Orgs(,将DbName和SFName指定为http查询参数,并让mule应用程序选择正确的连接参数。

我将如何完成它?细节会对我有所帮助,因为我还不精通骡子。

谢谢

基肖尔

您可以创建一个包含数据库连接完整列表的属性文件:

#DB of puppies
postgres.puppies.user=mule
postgres.puppies.password=password
postgres.puppies.host=db-1
postgres.puppies.db=mule-puppies
#DB of cars
postgres.cars.user=mule
postgres.cars.password=password
postgres.cars.host=db-2
postgres.cars.db=mule-cars

更新

然后,如果要从加载属性之一的数据编织组件中读取查询参数:

%dw 1.0
%output application/java
---
p("postgres." ++ inboundProperties."http.query.params"['db-name'] ++ ".user")

注意:考虑当QueryParameter.db-name为空时,你会得到一个异常(你应该处理这个异常(,或者,另一种方法是通过处理你自己的数据编织(https://forums.mulesoft.com/questions/28105/how-do-i-do-a-null-check-in-dataweave.html(中的空值,例如,当空时,你可以定义一个默认数据库

希望这有助于澄清

最新更新