定义各种DB& Salesforce访问外部文件中的信息并在Mule Anypoint Studio中使用它们

时间:2017-09-22 13:02:58

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

我在Windows下运行Mule Anypoint studio v6.2.4。我有一个应用程序从SQL Server数据库获取数据记录并将它们填充到Salesforce组织。该应用程序是使用示例开发的,并且在mule.properties文件中定义的一个DB和一个SF参数的当前场景中工作正常。这种结构有效,但有严重的局限性。每当提供新的数据库实例(DEV / QA / SAT / UAT ...)并选择不同的目标SF Org时,需要修改所有mule应用程序,因为访问参数在属性文件中定义。

我请求了解如何在此问题中动态定义和使用访问参数。 (Defining various DB & Salesforce access information in Mule Anypoint Studio)。虽然提出的解决方案有效,但它仍然基于属性文件方法。因此,无论何时处理新的DB或SF Org,由于属性文件方法的原因,仍然需要更改所有mule应用程序。

正确的方法是定义外部文件中的所有访问参数。在mule应用程序中,根据数据库名称或组织名称(作为http查询参数提供)检索相应的访问参数。使用它们的值初始化适当的mule脚本变量。通过这种方式,可以随意添加新的DB或Org,并且应用mule应该无需重新编译或更改。

我的mule应用程序是基于批处理的,用于访问SQL DB的配置代码片段如下::

<db:generic-config name="legacyDB" url="jdbc:jtds:sqlserver:${dbHost}:${dbPort};databaseName=${dbName};user=${dbUser};password=${dbPassword}" doc:name="Generic DB Config"/>

我如何完成它以便DB或SF访问按定义工作?细节会对我有所帮助,因为我对骡子并不熟练。

由于

基肖尔马布

1 个答案:

答案 0 :(得分:0)

如何使用JavaClass读取外部文件并将JavaObject返回到Mule,那么您可以轻松地管理这些值。

检查此项目并更改 LoadExternalFile.java 中的路径以加载您自己的json文件。 src / main / resources

中有一个例子

https://github.com/angelalberici/external-property