在wso2 esb中存储/检索java集合

时间:2015-06-23 09:40:37

标签: wso2 wso2esb esb

我们正在尝试访问java arraylist并从代理服务上的每个消息中检索它。可以将此arraylist加载到wso2注册表中并从代理服务检索(也根据需要将值添加到arraylist中)。如果是这样,请指导,因为我是wso2 esb的新手。我特别在wso2 esb寻找解决方案。 为了使事情更清楚

好吧,我们没有做任何具体的事情,我们正在尝试找到不同的方法来满足要求。在arraylist中有一组值,我们需要从wso2 esb(最好的注册表)存储和访问它。对于通过JMS代理进入的每条消息,我们需要从arraylist中检索并删除该字段,并将其用于形成副本消息。

我们在网上对它进行了研究,发现我们可以向注册表添加资源。是否可以将java集合添加到注册表中。

1 个答案:

答案 0 :(得分:0)

由于您没有提供任何具体方法,我们只能告诉您实施方法。

wso2注册表只能以xml的形式保存ur值,其中每个元素都包含要查找的特定数据。

WSO2提供了一种编写自己的类中介的方法。将所有ur值存储在属性xml中,然后您可以使用property mediator访问它们。如下。

<property xmlns:sample="example.com"
          name="externalProperties"
          expression="get-Property('registry', 'conf:myResources/properties.xml')"
          scope="default"
          type="OM"/>

<property xmlns:sample="example.com"
          name="sampleElement"
          expression="$ctx:externalProperty//element1"
          scope="default"
          type="STRING"/>

[NB:ur属性必须包含名为element1的标记,属性文件名应为externalProperties] 现在在类中介内部使用属性externalProperties作为争论

public class ManipulateValues implements Mediator {

private static final Log log = LogFactory.getLog(ManipulateValues .class);

private OMElement externalProperties;

public DiscountQuoteMediator(Omelement elem){
    this.externalProperties = elem;
}

public boolean mediate(MessageContext mc) {

    //manipulate the externalproperties variable
    return true;
}

}

获取消息上下文在mediate()方法中使用mc arguement。