摘要:序本文介紹一下如何重復消費,普通的,消費一次之后,就不能再用了,有時候需要重復消費的話,就必須自己緩存一下。這里定義了類,可以用來實現這個目的。開啟并重復使用的時候一下,然后想重復使用的時候一下。
序
本文介紹一下如何重復消費input stream,普通的inputStream,消費一次之后,就不能再用了,有時候需要重復消費的話,就必須自己緩存一下。這里定義了ReuseableStream類,可以用來實現這個目的。
ReuseableStreampublic class ReuseableStream { private InputStream inputStream; public ReuseableStream(InputStream inputStream) { if (!inputStream.markSupported()) { this.inputStream = new BufferedInputStream(inputStream); } else { this.inputStream = inputStream; } } public InputStream open() { inputStream.mark(Integer.MAX_VALUE); return inputStream; } public void reset() throws IOException { inputStream.reset(); } }開啟并重復使用
ReuseableStream reuse = new ReuseableStream(IOUtils.toInputStream("hello", Charsets.UTF_8)); System.out.println(IOUtils.toString(reuse.open(),Charsets.UTF_8)); reuse.reset(); System.out.println(IOUtils.toString(reuse.open(),Charsets.UTF_8));
docopen的時候mark一下,然后想重復使用的時候reset一下。
How to Cache InputStream for Multiple Use
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70265.html
摘要:它是事件驅動的,我們不斷的發送消息接受消息處理消息。使用消息實現事件通信的概念被稱為消息驅動架構,也被稱為消息驅動架構。許可證服務收到該消息后清除對應的緩存。通過綁定器,使得開發人員不必依賴于特定平臺的庫和來發布和消費消息。 showImg(https://segmentfault.com/img/remote/1460000019542885); springcloud 總集:htt...
摘要:它通過使用來連接消息代理中間件以實現消息事件驅動的微服務應用。該示例主要目標是構建一個基于的微服務應用,這個微服務應用將通過使用消息中間件來接收消息并將消息打印到日志中。下面我們通過編寫生產消息的單元測試用例來完善我們的入門內容。 之前在寫Spring Boot基礎教程的時候寫過一篇《Spring Boot中使用RabbitMQ》。在該文中,我們通過簡單的配置和注解就能實現向Rabbi...
摘要:第一個函數生成一個新的實例第二個函數接受兩個參數,第一個是前面生成的對象,二個是中包含的元素,函數體就是把中的元素加入對象中。 感謝同事【天錦】的投稿。投稿請聯系 tengfei@ifeve.com 上篇文章[Java8初體驗(一)lambda表達式語法]()比較詳細的介紹了lambda表達式的方方面面,細心的讀者會發現那篇文章的例子中有很多Stream的例子。這些Stream的例子可...
摘要:然而實際業務中還存在另外一種定時任務,它可能需要一些觸發條件才開始定時,比如編寫博文時候,設置小時之后發送。在消息監聽類中,對通道定義了,這里會對延遲消息做具體的邏輯。由于消息的消費是延遲的,從而變相實現了從消息發送那一刻起開始的定時任務。 應用場景 我們在使用一些開源調度系統(比如:elastic-job等)的時候,對于任務的執行時間通常都是有規律性的,可能是每隔半小時執行一次,或者...
閱讀 1708·2023-04-26 01:02
閱讀 4870·2021-11-24 09:39
閱讀 1807·2019-08-30 15:44
閱讀 2890·2019-08-30 11:10
閱讀 1787·2019-08-30 10:49
閱讀 988·2019-08-29 17:06
閱讀 611·2019-08-29 16:15
閱讀 908·2019-08-29 15:17