我希望在WSO2 ESB项目中使用属性文件。我正在使用WSO EI 6.5和Integration Profile。
更准确地说
<inboundEndpoint name="main-endpoint" onError="error-handler-flow" protocol="jms" sequence="main-flow" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
<parameters>
<parameter name="interval">500</parameter>
<parameter name="sequential">true</parameter>
<parameter name="coordination">true</parameter>
<parameter name="transport.jms.Destination">Main</parameter>
<parameter name="transport.jms.CacheLevel">3</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
<parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">failover:(tcp://localhost:61616)?initialReconnectDelay=100&maxReconnectDelay=5000</parameter>
<parameter name="transport.jms.SessionAcknowledgement">CLIENT_ACKNOWLEDGE</parameter>
<parameter name="transport.jms.SessionTransacted">false</parameter>
<parameter name="transport.jms.ConnectionFactoryType">queue</parameter>
<parameter name="transport.jms.ContentType">application/json</parameter>
<parameter name="transport.jms.SharedSubscription">false</parameter>
<parameter name="transport.jms.ResetConnectionOnPollingSuspension">false</parameter>
</parameters>
</inboundEndpoint>
[在上述入站端点中,我希望从属性文件中读取队列名称(transport.jms.Destination)和代理URL(java.naming.provider.url),这些文件针对每个环境(质量检查,分段,生产)。属性文件本身不是CAR应用程序的一部分。
我想这可以使用注册表来完成,但是我不确定,并且我现在已经相当长一段时间无法这样做。
[请注意,我希望避免编写任何自定义类或脚本来执行此操作。我希望WSO2 ESB具有读取外部属性文件的可用方法。任何帮助将不胜感激。谢谢。
本地注册表充当内存注册表,您可以在其中将静态内容存储为键值对,其中值可以是静态条目,例如文本字符串,XML代码或URL。这对于XSLT文件,WSDL文件,URL等中经常发现的静态内容类型很有用。可以从ESB配置文件中介流中的中介者引用本地条目,并在运行时对其进行解析。
请参考[1]
该元素用于声明ESB配置文件实例本地的注册表项,如下所示: