[英]How to cut the first n bytes from the body in a camel blueprint?
开箱即用不支持此功能。 这取决于哪个Java对象类型正在保存数据,即是InputStream还是byte []还是String或其他东西。
并且您是否需要每次都跳过固定数量的字节,还是取决于? 如果字节数少于数量怎么办? 也就是说,您最终得到了更复杂的逻辑,最好编写一些Java代码以正确处理。
如果您确实必须使用XML,则可以尝试内联groovy并使用可以在蓝图xml文件中使用的Camels groovy语言。
一位同事给了我一个很好的提示,我认为这是我一直在寻找的答案:
<convertBodyTo type="byte[]"/>
<transform>
<spel>#{T(java.util.Arrays).copyOfRange(body, n, body.length)}</spel>
</transform>
其中n是我要从ByteArrayOutputStream的开头剪切的字节数。 我认为这是一个解决方案,不是吗?
当然,您必须围绕它构建一些检查和ExceptionHandling,但是它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.