我在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访问按定义工作?细节会对我有所帮助,因为我对骡子并不熟练。
由于
基肖尔马布
答案 0 :(得分:0)
如何使用JavaClass读取外部文件并将JavaObject返回到Mule,那么您可以轻松地管理这些值。
检查此项目并更改 LoadExternalFile.java 中的路径以加载您自己的json文件。 src / main / resources
中有一个例子