我有一个ObjectStoreModule,配置为将一些JSON存储为字符串。根据规范(http://mulesoft.github.io/mule-module-objectstore/java/org/mule/modules/ObjectStoreModule.html),我希望能够调用retrieve并获取我存储的对象的副本。但是,当我尝试这个时,我似乎只得到了返回的密钥而不是对象本身......
这是关于我的代码目前的样子。
ObjectStoreModule objectStore = (ObjectStoreModule) eventContext.getMuleContext().getRegistry().lookupObject("sourceConfigStore");
objectStore.store("KEY", jsonAsString, true);
System.out.println((String)objectStore.retrieve("sourceConfigStore", "KEY", null, null, eventContext.getMessage()))
目前,这只打印出“KEY”而不是名为jsonAsString的变量。我意识到检索方法还有其他输入参数,它们将指定一个mule消息属性来分配检索到的对象,但我希望能够从java中与这个存储进行交互,而无需将这些值分配给mule的额外步骤消息属性。
答案 0 :(得分:0)
我没有将适当的参数传递给ObjectStoreModule的retrieve()方法。第一个是"键"第二个是如果找不到密钥则返回的默认值。我传递了商店的名称和密钥作为默认值,这就是返回值是密钥的原因,因为商店的名称无法作为商店本身的密钥找到.... woops。