如何将Java HashMap传递给自定义Mule连接器?
现在,连接器代码如下所示:如何将Java HashMap传递给自定义Mule连接器?,java,mule,connector,devkit,Java,Mule,Connector,Devkit,现在,连接器代码如下所示: // myConnector class /** * Process item * * {@sample.xml ../../../doc/my-connector.xml.sample myConnector:process} * * @param binary * the item to process * @param stuff * key value pairs for processing * * @
// myConnector class
/**
* Process item
*
* {@sample.xml ../../../doc/my-connector.xml.sample myConnector:process}
*
* @param binary
* the item to process
* @param stuff
* key value pairs for processing
*
* @return the status as a string
*
* @throws NullPointerException
* when one of the parameters are null
*/
@Processor
public String process ( @Payload final byte[] binary,
final HashMap<String,String> stuff)
throws NullPointerException {...}
// myConnector.sample
<!-- BEGIN_INCLUDE(myConnector:process) -->
<myConnector:process>
<myConnector:stuff>
<item1>data1</item1>
<item2>data2</item2>
</myConnector:stuff>
</myConnector:process>
<!-- END_INCLUDE(myConnector:process) —>
//myConnector类
/**
*过程项
*
*{@sample.xml../../../doc/my-connector.xml.sample myConnector:process}
*
*@param二进制文件
*要处理的项目
*@param-stuff
*用于处理的键值对
*
*@以字符串形式返回状态
*
*@抛出NullPointerException
*当其中一个参数为空时
*/
@处理机
公共字符串进程(@Payload final byte[]二进制,
最终HashMap文件)
抛出NullPointerException{…}
//myConnector.sample
数据1
数据2
那么:
<myConnector:process>
<myConnector:stuff ref="#[sessionVars['myHashMap']]" />
</myConnector:process>
如果我按照您的建议更改.sample并更改connector元素,则会出现以下错误:“[error]错误验证示例:cvc复杂类型。3.2.2:元素“myConnector:process”中不允许出现属性“stuff”。失败示例:[error]执行时出错:DevKit生成Java代码时出错。有关详细信息,请查看日志。“经过一些修改,您的解决方案可以正常工作。”。多谢各位。请更新您的答案,以反映什么对我有效?然后我将您的答案标记为:“更新了,尽管我不明白为什么sessionVars.myHashMap
不起作用。这是什么Mule版本?请在process
上显示确切的注释。我用方法界面和注释更新了原始帖子。这就是你要求的吗?啊,你有一个@Payload
参数,请始终提供所有信息。好的,请检查我下面的更新答案。
<myConnector:process>
<myConnector:stuff ref="#[sessionVars['myHashMap']]" />
</myConnector:process>