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

时间:2018-09-06 08:42:12

标签: apache-camel

我正在使用Camel版本2.20和带有Spring Boot的文件组件。我的要求是在进一步处理文件之前验证文件的MD5校验和(使用jpa组件将数据持久存储在数据库中)。我在单独的属性文件中获得了MD5校验和值。

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

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式计算嵌入消息(在本例中为您的文件)的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>