第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

MD5 作為 Apache Camel 中的冪等鍵

MD5 作為 Apache Camel 中的冪等鍵

侃侃爾雅 2022-06-15 16:44:08
默認(rèn)行為是使用絕對(duì)文件路徑來(lái)唯一標(biāo)識(shí)文件 - 我想自定義它以使用文件的 md5 校驗(yàn)和。是否可以簡(jiǎn)單地實(shí)現(xiàn)自定義冪等鍵(不使用“文件語(yǔ)言”)?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

Camel File2 組件支持可插入表達(dá)式。創(chuàng)建實(shí)現(xiàn)Expression的bean并將其傳遞給帶有idempotentKey=#myExpressionBean.


我不認(rèn)為,為每次輪詢計(jì)算文件內(nèi)容的 md5 哈希值是個(gè)好主意,但這是可能的。


表達(dá)


@Component

class FileContentMD5Expression implements Expression {

    @Override

    public <T> T evaluate(Exchange exchange, Class<T> type) {

        if (type != String.class){

            throw new IllegalArgumentException("This is String only expression");

        }

        try (FileInputStream fis = new FileInputStream(((File)exchange.getIn(GenericFileMessage.class).getGenericFile().getFile()))) {

            return type.cast(DigestUtils.md5Hex(fis));

        } catch (IOException e) {

            throw new RuntimeException(e);

        }

    }

}

消費(fèi)者


from("file://somewhere?idempotent=true&idempotentKey=#fileContentMD5Expression")


查看完整回答
反對(duì) 回復(fù) 2022-06-15
  • 1 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)