驼峰在处理文件之前验证校验和



我正在使用 Camel 版本 2.20 和带有 spring boot 的文件组件。我的要求是在进一步处理文件之前验证文件的 MD5 校验和(使用 jpa 组件将数据持久化到数据库中(。我在单独的属性文件中获取 MD5 校验和值。

我添加了验证方法,该方法根据计算的校验和是否与我从属性文件获得的校验和匹配,返回 true 或 false。但是当我使用模拟消息生产者测试此路由时,校验和总是不同的。我正在使用producer.sendBody(Object o(API来发送数据。我错过了什么?

您可以通过以下方式计算嵌入消息(在本例中为您的文件(的 md5sum 值:

<from uri="file:/some/full/path/directory"/>
<setHeader headerName="md5sum">
<groovy>
import java.security.MessageDigest
def digest = MessageDigest.getInstance("MD5")
def contentMD5 = new 
BigInteger(1,digest.digest(request.body.getBytes())).toString(16).padLeft(32, "0")
return "${contentMD5}"
</groovy>
</setHeader>

最新更新