定义各种DB& Mule Anypoint Studio中的Salesforce访问信息

时间:2017-08-25 15:42:35

标签: configuration-files mule-studio anypoint-studio dataweave

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

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

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

我将如何完成它?细节会对我有所帮助,因为我对骡子并不熟练。

由于

基肖尔马布

1 个答案:

答案 0 :(得分:1)

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

#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

已更新

然后,如果你想从dataweave组件读取一个查询参数,加载你的一个属性:

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

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

希望这有助于澄清