如何解决如何在WSO2中打印在属性介体中设置的所有属性?
在WSO2 ESB中,我希望在日志序列的末尾打印属性中介者在服务链中设置的所有属性。 在不知道属性名称的情况下,是否有任何方便的方法?
谢谢
解决方法
有一个比实现自定义类介体更简单的方法。您可以为此使用脚本介体,并使用以下代码使用消息上下文中的值打印所有属性。它正在WSO2EI 6.6.0和WSO2ESB 4.9.0
上运行<script language="js"><![CDATA[var keySet = mc.getPropertyKeySet();
var i = 1;
var it = keySet.iterator();
while(it.hasNext()){
var prop = it.next();
java.lang.System.out.println(i + ": " + prop + " = " + mc.getProperty(prop));
i++;
}]]></script>
更新: 我发现,在Linux系统上,System.out.println不能很好地工作,因此您可以使用mc.getServiceLog()方法获取记录器以打印信息。
<script language="js"><![CDATA[
var keySet = mc.getPropertyKeySet();
var i = 1;
var it = keySet.iterator();
var log = "\n\r";
while(it.hasNext()){
var prop = it.next();
log += i + ": " + prop + " = " + mc.getProperty(prop)+"\n\r";
i++;
}
mc.getServiceLog().info(log);
]]></script>
,
我看不到这样做的直接方法。我发现一种解决方法是编写一个自定义类介体,您可以在其中获取属性键集作为消息上下文的一部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。