Apache camel 在处理文件之前验证校验和
我正在使用Camel版本2.20和带有springboot的文件组件。我的要求是在进一步处理文件之前验证文件的MD5校验和(使用jpa组件在数据库中持久化数据)。我在一个单独的属性文件中获取MD5校验和值Apache camel 在处理文件之前验证校验和,apache-camel,Apache Camel,我正在使用Camel版本2.20和带有springboot的文件组件。我的要求是在进一步处理文件之前验证文件的MD5校验和(使用jpa组件在数据库中持久化数据)。我在一个单独的属性文件中获取MD5校验和值 我添加了validate方法,该方法返回true或false,这取决于计算的校验和是否与我从属性文件获得的校验和匹配。但是,当我使用模拟消息生成器测试此路由时,校验和总是不同的。我正在使用producer.sendBody(objecto)API发送数据。我遗漏了什么?您可以通过以下方式计算嵌
我添加了validate方法,该方法返回true或false,这取决于计算的校验和是否与我从属性文件获得的校验和匹配。但是,当我使用模拟消息生成器测试此路由时,校验和总是不同的。我正在使用producer.sendBody(objecto)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>
导入java.security.MessageDigest
def digest=MessageDigest.getInstance(“MD5”)
def contentMD5=新建
BigInteger(1,digest.digest(request.body.getBytes()).toString(16.padLeft(32,“0”)
返回“${contentMD5}”
您能否提供更多详细信息,可能是一些代码片段,并说明您使用的是哪种驼峰版本。没有更多的细节,帮助你有点太难了。