如何将逗号分隔数据转换为CopyOnWriteArrayList,以便在MUnit中作为有效负载发送

时间:2016-06-23 11:29:10

标签: java mule munit

我正在为流程实现MUnit,我需要通过Set Message Processor将有效负载作为CopyOnWriteArrayList发送。有效载荷数据将从文件中获取。

该文件将使用逗号分隔的XML数据。我需要将此数据作为CopyOnWriteArrayList发送。

请帮助我解决可在MEL中使用的Java类。

请在下面找到更新的详细信息:

对于MUnit测试,我将数据放在格式为[First_XML_Data,Second_XML_Data]的文件中。 First_XML_Data和Second_XML_Data都是XML数据。因此,骡子流中的第一个组件基本上是Java变换器,如下所示:

公共类XMLData扩展了AbstractTransformer {

@Override
protected Object doTransform(Object src, String enc) throws TransformerException {

        CopyOnWriteArrayList<String> list = (CopyOnWriteArrayList<String>) src;

}

}

如您所见,我需要在Set Message Processor中准备一个有效负载,以便它可以传递给这个Java转换器。到目前为止,我在MUnit测试的设置消息处理器中有以下MEL,

[Arrays.asList((的getResource( '的src /主/资源/ xml_data.xml')。asString()。分裂( '')))]

应用程序抛出一个类型转换异常。所以我需要一些如何将有效负载发送为CopyOnWriteArrayList。由于数据太大,我从文件中提取它

感谢。

1 个答案:

答案 0 :(得分:0)

您应该构建CopyOnWriteArrayList

,而不是使用Arrays.asList()
#[new java.util.concurrent.CopyOnWriteArrayList(getResource('src/main/resources/xml_data.xml').asString().split(','))]