ืืงืืื
ืขืก ืืื ืึทืืื ืืขืฉืขื ืึทื ืืื ืืืื ืงืจืึทื ื ืึธืจื ืคืื ืึทืจืืขื ืืื ืืขืืื ืฆื ืืึทืงืขื ืขื ืืื ืืื ืืขื ืืขืื ืึธืืึธืืืข. ืืื ืืืขื ืึธื ืืืืื ืืื ืึท ืืืกื ืืื ืืขืจืืจืื ื. ืืื ืืขืจ ืืืืึทืืขืจ ืืึทืืขืืขื ืืฉ, ืืื ืืืขืจ ืืึทื ืฉืึทืคึฟื ืืื ืืขืืึธืื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืื ืืึทืืจืืืฉืึทื ืืื ืืืงืื ื ืกืืกืืขื. ืืื ืื ืืึทืืจืืืฉืึทื ืขืก ืืื ืืขืืืขื ืืขื ื ืึทื ืื ืืขืืื ื-ืืืงืื ื ืกืืกืืขื ืืืึธืื ืฉืืงื ืืื ืื ืจืืงืืืขืก ืืืจื ืืืืคึผ ืฆื ืึท ืกืคึผืขืฆืืคืืฉ ืขื ืืคึผืืื ื, ืืื ืืืจ, ืึทืืื ืืขื ืื, ืืืึธืื ืฉืืงื ืฆืืจืืง ืจืขืกืคึผืึธื ืกืขืก ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืืืฃ ืึธื ืืึธื. ืึทืืฅ ืืืื ื ืคึผืฉืื ืืื ื ืืฉืืืง. ืคืื ืืขื ืขืก ืืืื ืึทื ืืืจ ืืึทืจืคึฟื ...
ืึทืจืืขื
ืฉืึทืคึฟื 3 ืืึทืืื ืื ืืขื. ืืขืจ ืขืจืฉืืขืจ ืคืื ืืื ืืื ืื ืืึทืืึทืืึทืกืข ืึทืคึผืืืื ืกืขืจืืืืก. ืืขืจ ืืื ืกื, ืืืขื ื ืืึท ืืึทืื ืขืจืืืืื ืคืื ืึท ืืจืื-ืคึผืึทืจืืื ืกืืกืืขื, ืืขืจืืืึทื ืืืงืื ืืขื ืื ืืึทืื ืืื ืื ืืึทืืึทืืืืก ืืื ืืืฉืขื ืขืจืืืฅ ืึท ืืขืงืข ืืื ืงืกืื ืคึฟืึธืจืืึทื ืฆื ืึทืจืืืขืจืคืืจื ืขืก ืฆื ืืขืจ ืืืืึทืืขืจ ืกืืกืืขื. ืืขืจ ืขื ืืคึผืืื ื ืคืื ืื ืฆืืืืืืข ืืื ืกื ืืื ืืขืจืืคื - ืื ืคืืคึผ ืืจืึทื ืกืคึผืึธืจื ืกืขืจืืืืก, ืืืึธืก ื ืขืื ืื ืืจืึทื ืกืคืขืจื ืืขืงืข, ืืืึทืืึทืืืืฅ ืขืก ืืื ืืืืื ืขืก ืืื ืืขืงืข ืกืืึธืจืืืืฉ ืืืจื ืคืืคึผ. ืื ืืจืื ืืื ืกื, ืื ืงืึทื ืกืืืขืจ ืืึทืื ืึทืจืืืขืจืคืืจื ืืื ืกื, ืึทืจืืขื ืืืกืื ืืงืจืึทื ืึทืกืื ืืื ืื ืขืจืฉืืขืจ ืฆืืืื. ืขืก ืืืงืืื ืึท ืืงืฉื ืคืื ืึท ืืจืื-ืคึผืึทืจืืื ืคืื ืืจืืืกื ืืืง ืกืืกืืขื ืฆื ืืึทืงืืืขื ืื ืืขืงืข ืืืกืงืึทืกื ืืืืื, ื ืขืื ืื ืืจืืื ืขื ืืคืขืจ ืืขืงืข, ืืึทืืึทืคืืื ืขืก (ืืขืจืืืึทื ืืืงื ืื ืฉืืึทื, ืืึทืฉืจืืึทืืื ื, ืืื ืงืืึธืคืืืข ืคืขืืืขืจ) ืืื ืกืขื ืื ืื ืขื ืืคืขืจ ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืืืฃ ืึธื ืืึธื. ืึทื ืืื, ืื ืงืืืืขืืืืง ืืืื ืืื ืืื ืืืื: ืื ืขืจืฉืืขืจ ืฆืืืื ืืึทืืื ืื ืืก ืึธื ืืืืื ืืืืขืจ ืึทืจืืขื ืืืืื ืืืขื ืื ืืึทืื ืคึฟืึทืจ ืึทืคึผืืืืืื ื ืืขื ืขื ืื ืืขืงืืืขื. ืื ืืจืื ืืื ืกื ืึทืจืืขื ืงืขืกืืืืขืจ ืืืืึทื ืขืก ืืขื ืขื ืคืืืข ืงืึธื ืกืืืขืจืก ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข, ืืืขืื 1000 ืจืืงืืืขืก ืคึฟืึทืจ ืืึทืื ืคึผืขืจ ืืื ืื. ืกืขืจืืืืกืขืก ืืขื ืขื ืงืขืกืืืืขืจ ืื ืืืฆื ืืื ืืืืขืจ ืื ืกืืึทื ืกืื ืืขื ืขื ืืืื ืืื ืคืึทืจืฉืืืขื ืข ืื ืืืืืจืึทื ืืึทื ืฅ, ืึทืืึท ืืื ืคึผืจืืืืจื, ืืขืืึธ, ืคืึทืจ-ืคึผืจืึธืืืงืฆืืข ืืื ืคึผืจืึธื. ืื ืืขืจ ืืื ืึท ืืืึทืืจืึทืืข ืคืื โโืืื ืื ืกืขืจืืืืกืขืก ืึทืจืืขื. ืืึธืื ืืืจ ืืืืื ืืขืจืงืืขืจื ืึทื ืขืืืขืืข ืืขืืึทืืืก ืืขื ืขื ืกืืืคึผืืึทืคืืื ืฆื ืืืกืืืืื ืืื ืืืืืง ืงืึทืืคึผืืขืงืกืืื.
ืืขืื ืืฉ ืืืคึผืึทื ืื ื
ืืืขื ืคึผืืึทื ืืจืื ื ืึท ืืืืืื ื ืฆื ืืขื ืคึผืจืึธืืืขื, ืืืจ ืขืจืฉืืขืจ ืืึทืฉืืึธืกื ืฆื ืืึทืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื Java ื ืืฆื ืื ืกืคึผืจืื ื ืคืจืืืืืืขืจืง, Nginx ืืึทืืึทื ืกืขืจ, Postgres ืืึทืืึทืืืืก ืืื ืื ืืขืจืข ืืขืื ืืฉ ืืื ื ืื ืึทืืื ืืขืื ืืฉ ืืื ืื. ืืื ื ืื ืฆืืื ืฆื ืึทื ืืืืืงืืขื ืึท ืืขืื ืืฉ ืืืืืื ื ืขืจืืืืื ืืื ืื ืฆื ืืึทืืจืึทืืื ืื ืืขืจืข ืึทืคึผืจืึธืืืฉืื ืฆื ืกืึธืืืืข ืืขื ืคึผืจืึธืืืขื, ืืื ืืืขืจ ืืืืง ืืขืคืืื ืืืืฃ ืื ืึทืคึผืึทืืฉื NIFI ืืขืื ืึธืืึธืืืข, ืืืึธืก ืืื ืืึธืืขืจื ืืื ืืืืขืจ ืงืจืืืื. ืืื ืืืขื ืืึธืื ืืืืื ืึทื ืื ืืขืื ืึธืืึธืืืข ืขืจืืืืื ืืื ืื ืฆื ืืึทืืขืจืงื ืื 3 ืืึทืืื ืื ืืก. ืืขืจ ืึทืจืืืงื ืืืขื ืืึทืฉืจืืึทืื ืื ืึทื ืืืืืงืืื ื ืคืื ืึท ืืขืงืข ืืจืึทื ืกืคึผืขืจืืืืฉืึทื ืืื ืกื ืืื ืึท ืืึทืื ืึทืจืืืขืจืคืืจื ืืื ืกื ืฆื ืื ืงืึทื ืกืืืขืจ, ืึธืืขืจ ืืืื ืืขืจ ืึทืจืืืงื ืืื ื ืืฆืืง, ืืื ืืืขื ืฉืจืืึทืื ืืืขืื ืื ืกืขืจืืืืก ืคึฟืึทืจ ืึทืคึผืืืืืื ื ืืึทืื ืืื ืื ืืึทืืึทืืืืก.
ืืืึธืก ืก ืืขื
NIFI ืืื ืึท ืคืื ืื ืืขืจืืขืืืืื ืึทืจืงืึทืืขืงืืฉืขืจ ืคึฟืึทืจ ืฉื ืขื ืคึผืึทืจืึทืืขื ืืึธืืืื ื ืืื ืคึผืจืึทืกืขืกืื ื ืคืื ืืึทืื, ืึท ืืจืืืก ื ืืืขืจ ืคืื ืคึผืืืืื ืก ืคึฟืึทืจ ืงืืืืื ืืื ืืจืึทื ืกืคืึธืจืืึทืฆืืข, ืืืขืจืกืืข ืคืื โโืงืึทื ืคืืืืขืจืืืฉืึทื ื ืืื ืคืื ืืขืจ. ื ืืืืข ืืึธื ืืก ืืื ืึทื ืขืก ืืื ืืืืขืจ ืืจืื ื ืฆื ื ืืฆื. ืืจืืืืืึทื ืคึผืจืึทืกืขืกืึทื ืึทืืึท ืืื getFile, sendHttpRequest ืืื ืื ืืขืจืข ืงืขื ืขื ืืืื ืจืขืคึผืจืืืขื ืืื ืืื ืกืงืืืขืจื. ืืขืืขืจ ืงืืืึทืืจืึทื ืจืขืคึผืจืึทืืขื ืฅ ืึท ืคึผืจืึธืฆืขืก, ืื ืื ืืขืจืึทืงืฉืึทื ืคืื ืืืึธืก ืงืขื ืขื ืืืื ืืขืืขื ืืื ืื ืคืืืืจ ืืื ืื. ืืขืจ ืืืืืืื ืืึทืงืืืืขื ืืืืฉืึทื ืืืืฃ ืคึผืจืึธืฆืขืก ืกืขืืึทืคึผ ืื ืืขืจืึทืงืฉืึทื ื ืืื ืืขืฉืจืืื
ืืขืจ ืืขืืึทื ืง ืฆื ืฉืจืืึทืื ืึทื ืึทืจืืืงื ืืื ืืขืืืืจื ื ืึธื ืึท ืืึทื ื ืืืื ืืื ืกืืจืึทืงืืฉืขืจืื ื ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืงืืืขื ืืื ืขืคึผืขืก ืืึทืืืืกืืืื ืืง, ืืื ืืขืืื ื ืืื ืืขืจ ืคืึทืจืืึทื ื ืฆื ืืึทืื ืืขืื ืึท ืืืกื ืืจืื ืืขืจ ืคึฟืึทืจ ืฆืืงืื ืคึฟื ืืขืืืขืืึธืคึผืขืจืก.
ืืืึทืฉืคึผืื
ื ืืืืฉืคึผืื ืคืื ืืื ืกืงืืืขืจื ืื ืืขืจืึทืงื ืืื ืืขืืขืจ ืื ืืขืจืข ืืื ืืึทืืจืึทืื. ืืขืจ ืืขื ืขืจืึทื ืกืืขืืข ืืื ืืึทื ืฅ ืคึผืฉืื: ืืืจ ืืึทืงืืืขื ืึท ืืืืคึผ ืืขืื (ืืื ืืขืึธืจืืข, ืืื ืึท ืืขืงืข ืืื ืืขื ืืืฃ ืคืื ืื ืืขืื. ืฆื ืืึทืืืืึทืื ืื ืงืืืคึผืึทืืืืึทืืื ืคืื NIFI, ืืื ืืขื ืืืึทืฉืคึผืื, ืื ืืขืื ืกืืึทืจืฅ ืืขื ืคึผืจืึธืฆืขืก ืคืื ืจืืกืืืืื ื ืึท ืืขืงืข ืคืื โโืื ืืืืข ืืขืงืข ืกืืึธืจืืืืฉ ), ืืื ืืืจ ืฉืืงื ืฆืืจืืง ืึท ืขื ืืคืขืจ ืึทื ืื ืืงืฉื ืืื ืืืงืืืขื, ืคึผืึทืจืึทืืขื ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืืึทืงืืืขื ืึท ืืขืงืข ืคืื โโFH ืืื ืืขืจื ืึธื ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืึทืจืืืขืจืคืืจื ืขืก ืืืจื FTP ืฆื FH. ืขืก ืืื ืืืขืจื ืงืืขืจืึทืคืืืื ื ืึทื ืคึผืจืึทืกืขืกืึทื ืื ืืขืจืึทืงื ืืื ืืขืืขืจ ืื ืืขืจืข ืืืจื ืื ืึทืืื ืืขืจืืคืขื ืข flowFile. ืืึธืก ืืื ืื ืืึทืืข ืขื ืืืื ืืื NIFI ืืืึธืก ืกืืึธืจื ืึทืืจืืืืืฅ ืืื ืืื ืืึทืื. ืืื ืืึทืื ืืื ืื ืืึทืื ืืืึธืก ืืื ืจืขืคึผืจืืืขื ืืื ืืืจื ืื ืืืึทื ืืขืงืข. ืึทื ืืื, ืืขืขืจืขื ืืขืจืขืื, ืืืื ืืืจ ืืึทืงืืืขื ืึท ืืขืงืข ืคืื โโืืืื ืงืืืึทืืจืึทื ืืื ืึทืจืืืขืจืคืืจื ืขืก ืฆื ืื ืืขืจื, ืืขืจ ืืื ืืึทืื ืืืขื ืืืื ืืืื ืืขืงืข.
ืืื ืืืจ ืงืขื ืขื ืืขื, ืืขื ืืืื ืืืืืื ืื ืึทืืืขืืืื ืข ืคึผืจืึธืฆืขืก. HandleHttpRequest - ืึทืงืกืขืคึผืฅ ืจืืงืืืขืก, ReplaceText - ืืืฉืขื ืขืจืืืฅ ืึท ืขื ืืคืขืจ ืืืฃ, HandleHttpResponse - ืกืขื ืื ืึท ืขื ืืคืขืจ. FetchFile - ืืืงืืื ืึท ืืขืงืข ืคึฟืื ืึท ืืขืงืข ืกืืึธืจืืืืฉ, ืืจืึทื ืกืคืขืจืก ืขืก ืฆื ืื ืงืืืึทืืจืึทื ืคึผืืฆืคืืคึผ - ืืืืื ืืขื ืืขืงืข ืืืืฃ ืคืืคึผ ืืื ืื ืกืคึผืขืกืืคืืขื ืึทืืจืขืก. ืืืฆื ืืขืจ ืืืขืื ืืขื ืคึผืจืึธืฆืขืก.
ืืื ืืขื ืคืึทื, ืืขืื ืืื ืืขืจ ืึธื ืืืื ืคืื ืึทืืฅ. ืืื ืก ืงืืง ืืื ืืืึทื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก.
ืึทืืฅ ืืึธ ืืื ืืึทื ืฅ ืืจืืืืืึทื ืืื ืื ืืืกื ืขื ืคืื StandardHttpContextMap - ืืึธืก ืืื ืึท ืืื ืคืื ืืื ืกื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืฉืืงื ืืื ืืึทืงืืืขื ืจืืงืืืขืก. ืืื ืืขืจ ืืขืืึทื ืืื ืืคืืื ืืื ืืืืฉืคืืื, ืืืจ ืงืขื ืขื ืืขื -
ืืขืจื ืึธื, ืืึธืืืจ ืงืืงื ืืื ืื ืจืขืคึผืืึทืกืขืืขืงืกื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก ืคืื ืื ืงืืืึทืืจืึทื. ืขืก ืืื ืืืขืจื ืฆื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืื ืฆื Replacement Value - ืืึธืก ืืื ืืืึธืก ืืืขื ืืืื ืืืืืขืงืขืจื ืฆื ืืขืจ ืืึทื ืืฆืขืจ ืืื ืื ืคืึธืจืขื ืคืื ืึท ืขื ืืคืขืจ. ืืื ืกืขืืืื ืืก ืืืจ ืงืขื ืขื ืกืืจืืืขืจื ืื ืืืจืื ืคืื ืืึธืืื ื, ืืืจ ืงืขื ืขื ืืขื ืื ืืึธืืก {ืืื ืืืจ ืึทื ืคึผืึทืงื ื ืืคื}/nifi-1.9.2/ืืึธืืก, ืขืก ืืขื ืขื ืืืื ืืืจืืคืึทื / ืืฆืืื ืคึผืึทืจืึทืืขืืขืจืก - ืืืืืจื ืืืืฃ ืื ืคึผืึทืจืึทืืขืืขืจืก ืืืจ ืงืขื ืขื ืจืขืืืืืจื ืืขื ืคึผืจืึธืฆืขืก ืืื ืึท ืืึทื ืฅ . ืืึธืก ืืื, ืืื ืืขื ืคืึทื ืคืื ืืฆืืื ืืขืงืกื ืคึผืจืึทืกืขืกืื ื, ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืฉืืงื ืึท ืขื ืืคืขืจ ืฆื ืืขืจ ืืึทื ืืฆืขืจ ืืืขื ืืืื ืืขืจืืคึฟื, ืืื ืืื ืื ืื ืืขืจ ืคืึทื, ืืืจ ื ืึธืจ ืงืืึธืฅ ืืขื ื ืื ืืขืจืึธืื ืคึผืจืึธืฆืขืก.
ืขืก ืืื ืืึธืจื ืืฉื ืกืคึผืขืฆืืขื ืืฉืืงืึทืืืข ืืื ืื HandleHttpResponse ืคึผืจืึธืคึผืขืจืืืขืก ืึทืืืฅ ืื ืกืืึทืืืก ืืืขื ืึท ืขื ืืคืขืจ ืืื ืืฆืืื ืืืฉืืคื.
ืืืจ ืืึธืื ืืืืกืืขืฉืืขืื ืื ืืขืื ืืื ืขื ืืคืขืจ - ืืึธืืืจ ืคืึธืจืืขืฆื ืฆื ืืึทืงืืืขื ืื ืืขืงืข ืืื ืฉืืขืื ืขืก ืืืืฃ ืื ืคืืคึผ ืกืขืจืืืขืจ. FetchFile - ืืืงืืื ืึท ืืขืงืข ืืืืฃ ืื ืืืขื ืกืคึผืขืกืืคืืขื ืืื ืื ืกืขืืืื ืืก ืืื ืคึผืึทืกืื ืขืก ืฆื ืืขืจ ืืืืึทืืขืจ ืคึผืจืึธืฆืขืก.
ืืื ืืขืจื ืึธื ืื PutSftp ืงืืืึทืืจืึทื - ืฉืืขืื ืื ืืขืงืข ืืื ืืขืจ ืืขืงืข ืกืืึธืจืืืืฉ. ืืืจ ืงืขื ืขื ืืขื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืคึผืึทืจืึทืืขืืขืจืก ืืื ืื.
ืขืก ืืื ืืืขืจื ืฆื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืื ืฆื ืื ืคืึทืงื ืึทื ืืขืืขืจ ืงืืืึทืืจืึทื ืืื ืึท ืืึทืืื ืืขืจ ืคึผืจืึธืฆืขืก ืืืึธืก ืืืื ืืืื ืืึธื ืืฉื. ืืืจ ืืขืงืืงื ืืื ืื ืกืืืคึผืืึทืกื ืืืึทืฉืคึผืื ืืืึธืก ืืื ื ืืฉื ืืึทืจืคื ืงืืื ืงืึธืืคึผืืืฆืืจื ืงืืกืืึธืืืืึทืืืึธื. ืืืืึทืืขืจ, ืืืจ ืืืขืื ืงืืงื ืืื ืืขื ืคึผืจืึธืฆืขืก ืึท ืืืกื ืืขืจ ืงืึธืืคึผืืืฆืืจื, ืืื ืืืจ ืืืขืื ืฉืจืืึทืื ืึท ืืืกื ืืืืฃ ืื ืืจืืืื.
ืืขืจ ืงืึธืืคึผืืืฆืืจื ืืืึทืฉืคึผืื
ืื ืืึทืื ืึทืจืืืขืจืคืืจื ืืื ืกื ืฆื ืื ืงืึทื ืกืืืขืจ ืืื ืืขืืืขื ืึท ืืืกื ืืขืจ ืงืึธืืคึผืืืฆืืจื ืจืขืื ืฆื ืืขืจ ืคึผืจืึธืฆืขืก ืคืื ืืึธืืืคืืฆืืจื ืื SOAP ืึธื ืืึธื. ืืขืจ ืืขื ืขืจืึทื ืคึผืจืึธืฆืขืก ืืื ืืขืืืืื ืืื ืื ืคืืืืจ ืืื ืื.
ืืขืจ ืืขืืึทื ืง ืืื ืืืื ื ืืฉื ืกืคึผืขืฆืืขื ืงืึธืืคึผืืืฆืืจื: ืืืจ ืืึธืื ืืืงืืืขื ืึท ืืงืฉื ืคืื ืื ืงืึทื ืกืืืขืจ ืึทื ืขืจ ืืืจืฃ ืืึทืื, ืืขืฉืืงื ืึท ืขื ืืคืขืจ ืึทื ืขืจ ืืื ืืืงืืืขื ืึท ืึธื ืืึธื, ืื ืืขืืืืื ืืขื ืคึผืจืึธืฆืขืก ืคืื ืืึทืงืืืขื ืื ืขื ืืคืขืจ ืืขืงืข, ืืขืืึธืื ืขืืืืื ืขืก ืืื ืึท ืืืืขืจ ืืึธืืืง, ืืื ืืึทื ืืจืึทื ืกืคืขืจื ืื ืืขืงืข ืฆื ืื ืงืึทื ืกืืืขืจ ืืื ืื ืคืึธืจืขื ืคืื ืึท SOAP ืึธื ืืึธื ืฆื ืื ืกืขืจืืืขืจ.
ืืื ืืจืึทืืื ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืืึทืฉืจืืึทืื ืืืืืขืจ ืื ืกืงืืืขืจื ืืืึธืก ืืืจ ืืขืืขื ืืืืื - ืืึธืืืจ ืืืื ืืืืื ืฆื ืื ื ืืึทืข. ืืืื ืืืจ ืืึทืจืคึฟื ืฆื ืจืขืืึทืืืจื ืงืืื ืืขืงืข ืืื ืคึผืจืึธืกื ืจืขืคึผืืึทืกืขืืขืงืกื ืืืคึผ ืกืงืืืขืจื ืืขื ืขื ื ืืฉื ืคึผืึทืกืืง, ืืืจ ืืืขื ืืึธืื ืฆื ืฉืจืืึทืื ืืืื ืืืืืขื ืข ืฉืจืืคื. ืืขื ืงืขื ืขื ืืืื ืืขืืื ืืื ืื ืขืงืกืขืงืืืขืืจืึธืึธืืืกืงืจืืคึผื ืงืืืึทืืจืึทื. ืืืึทื ืกืขืืืื ืืก ืืขื ืขื ืืขืจืืื ืื ืืื ืื.
ืขืก ืืขื ืขื ืฆืืืื ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืืึธืืืื ื ืื ืฉืจืืคื ืืื ืืขื ืงืืืึทืืจืึทื. ืืขืจ ืขืจืฉืืขืจ ืืื ืืืจื ืืึทืื ืืึธืืืื ื ืึท ืืขืงืข ืืื ืึท ืฉืจืืคื. ืื ืจืืข ืืื ืืืจื ืื ืกืขืจืืื ื ืึท ืฉืจืืคื ืืื scriptBody. ืืื ืืืืึทื ืืื ืืื ืืืืกื, ืื executeScript ืงืืืึทืืจืึทื ืฉืืืฆื ืขืืืขืืข ืฉืคึผืจืึทืื - ืืืื ืขืจ ืคืื ืืื ืืื ืืจืืืื. ืืื ืืืขื ืึทื ืืืืฉื ืืืฉืึทืืืึท ืืขืืืขืืึธืคึผืขืจืก - ืืืจ ืงืขื ืขื ื ืืฉื ืฉืจืืึทืื ืกืงืจืืคึผืก ืืื ืืืฉืึทืืืึท ืืื ืึทืืึท ืกืงืืืขืจื. ืคึฟืึทืจ ืื ืืืืก ืืึทืงืข ืืืืื ืฆื, ืืืจ ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืื ืื ืงืืืึทืืจืึทื ืืื ืืืืื ืขืก ืฆื ืื NIFI ืกืืกืืขื. ืื ืืื ืฆืข ืึธืคึผืขืจืึทืฆืืข ืืื ืืืืืืื ืืืจื ืืึทื ืฅ ืึท ืืึทื ื ืืึทื ืฆื ืืื ืึท ืืึทืืืืจืื, ืืืึธืก ืืืจ ืืืขืื ื ืืฉื ืืึทื ืืืขื ืืื ืืื ืืขื ืึทืจืืืงื. ืืื ืืื ืืืืกืืขืจืืืืืื ืื ืืจืืืื ืฉืคึผืจืึทื. ืื ืืขืจ ืืื ืึท ืคึผืจืึธืืข ืฉืจืืคื ืืืึธืก ืื ืงืจืึทืืขื ืืึทืื ืืขืจืืืึทื ืืืงื ืื ืฉืืึทื ืืื ืึท SOAP ืึธื ืืึธื. ืขืก ืืื ืืืืืืืง ืฆื ืืึธื. ืืืจ ื ืขืืขื ืื ืืขืงืข ืคึฟืื flowFile ืืื ืืขืจืืืึทื ืืืงื ืขืก, ืืึธื ื ืื ืคืึทืจืืขืกื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืฉืืขืื ืขืก ืฆืืจืืง ืืึธืจื, ืืขืจืืืึทื ืืืงื. ืขืก ืืื ืืืื ืืืื ืฆื ืืืืขืจืงื ืึทื ื ืื ืึทืืข ืืืืืจืขืจืื ืืขื ืขื ืึทืจืืึทื ืืขืจืขืื ื. ืขืก ืงืขื ืคึผืึทืกืืจื ืึทื ืืืจ ื ืึธื ืืึธืื ืฆื ืึทืจืืึทื ืคืืจ ืืืื ืขืจ ืคืื ืื ืืืืก. ืื ืื ืืขืจ ืืึทืื ืกืืื ืืื ืึทื ืื ืฉืจืืคื ืืื ืืขื ืงืืืึทืืจืึทื ืืื ืืึทื ืฅ ืฉืืืขืจ ืฆื ืืืืึทื. ืขืก ืืื ืึท ืืืขื ืฆื ืคืึทืจืืื ืื ืฆื ืื NIFI JVM ืืื ืึธื ืืืืื ืื ืืืืึทืืื ื ืคึผืจืึธืฆืขืก. ืคึผืขืจืกื ืึทืื, ืืื ืืึธื ืืฉื ืึท ืืืืข ืึทืคึผืืึทืงืืืฉืึทื ืืื ืกืืืืึทืืืืืื ืืึทืงืืืขื ืึท ืืขืงืข ืคึฟืื ืืขืจ ืกืขืกืืข. ืืื ืืืื ืืขืืึทืืื ื ืืึธืืงืึทืื. ืขืจืจืึธืจืก ืืืึธืก ืืขืจืฉืืึทื ืขื ืืืขื ืืึธืืืื ื ืึท ืฉืจืืคื ืืขื ืขื ืืึทื ืฅ ืืจืื ื ืฆื Google ืืื ืืขื ืขื ืืขืฉืจืืื ืืืจื NIFI ืืื ืฆื ืื ืงืืึธืฅ.
import org.apache.commons.io.IOUtils
import groovy.xml.XmlUtil
import java.nio.charset.*
import groovy.xml.StreamingMarkupBuilder
def flowFile = session.get()
if (!flowFile) return
try {
flowFile = session.write(flowFile, { inputStream, outputStream ->
String result = IOUtils.toString(inputStream, "UTF-8");
def recordIn = new XmlSlurper().parseText(result)
def element = recordIn.depthFirst().find {
it.name() == 'id'
}
def newId = Integer.parseInt(element.toString()) + 1
def recordOut = new XmlSlurper().parseText(result)
recordOut.Body.ClientMessage.RequestMessage.RequestContent.content.MessagePrimaryContent.ResponseBody.id = newId
def res = new StreamingMarkupBuilder().bind { mkp.yield recordOut }.toString()
outputStream.write(res.getBytes(StandardCharsets.UTF_8))
} as StreamCallback)
session.transfer(flowFile, REL_SUCCESS)
}
catch(Exception e) {
log.error("Error during processing of validate.groovy", e)
session.transfer(flowFile, REL_FAILURE)
}
ืึทืงืืืึทืืื, ืืึธืก ืืื ืืื ืื ืงืืกืืึธืืืืึทืืืึธื ืคืื ืื ืงืืืึทืืจืึทื ืขื ืืก. ืืขืจื ืึธื, ืื ืืขืจืืืึทื ืืืงื ืืขืงืข ืืื ืืจืึทื ืกืคืขืจื ืฆื ืื ืงืืืึทืืจืึทื, ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืฉืืงื ืื ืืขืงืข ืฆื ืื ืกืขืจืืืขืจ. ืืื ืื ืืขื ืขื ืื ืกืขืืืื ืืก ืคึฟืึทืจ ืืขื ืงืืืึทืืจืึทื.
ืืืจ ืืึทืฉืจืืึทืื ืืขื ืืืคึฟื ืืืจื ืืืึธืก ืึท SOAP ืึธื ืืึธื ืืืขื ืืืื ืืจืึทื ืกืืืืืขื. ืืืจ ืฉืจืืึทืื ืืื. ืืืืึทืืขืจ ืืืจ ืืึทืจืคึฟื ืฆื ืึธื ืืืืึทืื ืึทื ืืึธืก ืืื SOAP.
ืืืื ืขืืืขืืข ืคึผืจืึธืคึผืขืจืืืขืก ืึทืืึท ืืื ืืึทืืขืืึธืก ืืื ืงืึทืืฃ (ืกืึธืึทืคึผืึทืงืฉืึทื). ืืืจ ืจืึทืืขืืืขื ืืื ืืฉืขืง. ืืืจ ืงืขื ื ืืขื ืืขืจ ืืขืืึทืืืก ืืื ืฆื ืฉืืงื SOAP ืจืืงืืืขืก
ืืืจ ืืึธืื ืืขืงืืงื ืืืืฃ ืขืืืขืืข ืึธืคึผืฆืืขืก ืคึฟืึทืจ ื ืืฆื NIFI ืคึผืจืึทืกืขืกืึทื. ืืื ืืึธื ืืื ืื ืืขืจืึทืงื ืืื ืืืึธืก ืืื ืืืืขืจ ืคืึทืงืืืฉ ื ืืฅ? ืื ืืืืฉืคืืื ืืืึธืก ืืขื ืขื ืืึทืืจืึทืื ืืขื ืขื ืคึผืจืึธืืข ืึธื ืขืก ืืื ืืขื ืขื ืึท ืืืกื ืึทื ืืขืจืฉ ืคืื ืืืึธืก ืึทืงืฉืื ืืึทืคึผืึทื ื ืืื ืงืึทืืืึทื. ืืื ืืึธืคึฟื ืึทื ืืขืจ ืึทืจืืืงื ืืืขื ืืืื ืึท ืืืกื ื ืืฆืืง ืคึฟืึทืจ ืืขืืืขืืึธืคึผืขืจืก. ืืื ืง ืืืจ ืคึฟืึทืจ ืืืื ืืคืืขืจืงืืึทืืงืืึทื. ืืืื ืืืจ ืืึธื ืงืืื ืฉืืืืช, ืฉืจืืึทืื. ืืื ืืืขื ืคึผืจืืืืจื ืฆื ืขื ืืคึฟืขืจื.
ืืงืืจ: www.habr.com