从 mulesoft 中的会话变量调用 属性 文件

Calling property file from a session variable in mulesoft

我在我的应用程序的属性文件中存储了一个记录类型id,现在我想定义一个会话变量,它可以调用这个属性文件来读取其中写入的id,这样我就可以在我的查询中使用这个会话变量。

任何人都可以帮助我我应该在会话变量中声明什么,因为 {$} 不允许这样做。另外让我知道会话变量是否适合执行此任务或需要采取其他措施。

您可以像这样访问 属性 并存储在会话变量中:

#[${my.property}]

我不确定是什么导致了这个问题...
我能够从属性文件中读取并在 SQL 查询中执行该会话变量:-
例如,让我的属性文件为 test.properties 并且它具有以下值:-

id=44

所以,现在我可以从属性文件中获取值并将其作为 ${id} 存储到会话变量中,如您在代码中所见:-

<set-session-variable variableName="abc" value="${id}" doc:name="Session Variable"/>

...我也可以在数据库 SQL 查询中使用该会话变量

 <context:property-placeholder location="classpath:test.properties"/>
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8088" doc:name="HTTP Listener Configuration"/>
    <flow name="testFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
        <set-session-variable variableName="abc" value="${id}" doc:name="Session Variable"/>
        <db:select config-ref="Generic_Database_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[Select * from table1 where ID=#[sessionVars['abc']];]]></db:parameterized-query>
         </db:select>
        <object-to-string-transformer doc:name="Object to String"/>

    </flow>

而且我能够从数据库中获取值,如下所示:-

my.properties id=1234

在会话变量中读取上面的id: 1. 在 GlobalElements 中创建一个 属性 占位符: 在属性占位符组件中: 位置:文件:/my.proeprties

  1. 将会话变量拖到您的流程中 在会话变量 名称:myid 值:{id}

.mflow:

..... /my.proeprties"/>

输出: --id值为1234