如何在WSO2 ESB中动态更改vfs FileURI?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在WSO2 ESB中动态更改vfs FileURI?相关的知识,希望对你有一定的参考价值。

我有一个路径文件的参数:

<parameter name="transport.vfs.FileURI">file:///Users/Desktop/test/in</parameter>

我需要动态更改FileURI值,例如,使用之前设置的属性的值。像这样的东西:

<parameter name="transport.vfs.FileURI">get-property('path')</parameter>

或者那个:

<parameter name="transport.vfs.FileURI" expression="get-property('path')"/>

如何更改属性值的FileURI值?

答案

据我所知,使用ESB 4.8.1,您无法在中介内动态更改此参数(此值为静态)。

也许您试图在运行时动态更改此代理定义:

  • 使用管理服务(ProxyServiceAdmin)
  • 或者在java或javascript中(使用mc.getConfiguration(),你可以访问synapse配置)

另一种解决方案是使用计划任务:

另一答案

在wso2esb4.8.1中动态更改我们的vfs端点。

Dynamic Endpoint URL ref

示例:我们通过Property mediator“fname”获取文件名。

<property name="fname" expression="get-property('transport','FILE_NAME')"/>

我们正在通过物业调解员动态获取“路径”。

<property name="path" value="file:///D:/FileFolder/In/"/> 

我们在“transport.vfs.ReplyFileName”属性中添加路径和文件名。

<property name="transport.vfs.ReplyFileName" expression="concat(get-property('path'),get-property('fname'))" scope="transport"/>

<send>
        <endpoint>
            <address uri="vfs:file:///D:/Folder/In"/>
        </endpoint>
</send>

“transport.vfs.ReplyFileName”将替换send mediator vfs端点。

我们可以实现动态端点。我们可以通过Property mediator移动我们的文件。我们可以轻松改变财产。

另一答案

我认为最好的方法是将这些值存储在数据库中并从dataService加载,之后您可以将它们作为属性放置并使用。

以上是关于如何在WSO2 ESB中动态更改vfs FileURI?的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 ESB聚类概念

无法在目录WSO2 ESB中发送文件

在 wso2esb 中使用 JMS 时如何解决这些错误

如何在 WSO2 ESB 中访问注册表

如何从 wso2 ESB 中的另一个服务调用服务(或一个服务的参数)

如何使用 wso2 esb 执行 ldap 搜索?