Apache Ivy 2.5.0-rc1发布–现在允许解析器超时
幾周前,我們發布了Apache Ivy的2.5.0-rc1版本。 Apache Ivy是一個依賴項管理構建工具,通常與Apache Ant結合使用。 可在項目下載頁面上下載
自Apache Ivy的上一版本于2014年12月發布以來,此版本具有重要意義。距上一個正式年份已超過3年。 在過去的幾年中,項目開發停滯了一段時間。 我在某些項目中使用Apache Ivy,并且對該工具非常滿意。 看到您的一個頻繁使用的工具不再處于開發狀態甚至沒有錯誤修復,絕不是一個好兆頭。 大約一年前,我決定為該項目提供一些錯誤修復。 隨著時間的流逝,項目管理委員會邀請我加入團隊。
我們決定,第一個顯而易見的近期目標是恢復該項目并進行包含錯誤修復的正式發行。 這個2.5.0-rc1是從將近一年前開始的努力的結果。 此發行版進行了許多更改,并且對該發行版進行了大量增強。 此版本是社區中不同成員的貢獻的結果。 此處提供發行說明的完整列表
我們特意命名此版本2.5.0-rc1(候選版本),因為我們已經完成了一段時間正式發布,并且還給出了更改的性質。 請嘗試此版本,讓我們知道它的進展。 根據反饋,我們將發布2.5.0或2.5.0-rc2。 和往常一樣,我們開發團隊中的一些人在常春藤用戶郵件中保持活躍狀態
清單 。 因此,如果您有任何反饋或疑問,請在此給我們發送郵件。
現在介紹此版本中的一項增強功能-不止一個。 我個人遇到的問題之一是,如果存儲庫(支持為Ivy配置的依賴項解析器)存在一些連接性問題,則構建會掛起。 這是由于無法指定適當的超時來通過解析器與這些存儲庫進行通信。 從此版本開始,Ivy現在允許您為解析器配置超時。 這是通過使用Ivy設置文件中的(新)timeout-constraints元素完成的。 關于它的更多細節是
在這里 。 假設您有一個指向某些URL的URL解析器。 URL解析器通常如下所示:
現在,讓我們嘗試為此解析器配置連接超時。 您要做的第一件事是定義一個命名的timeout-constraint,如下所示:
<timeout-constraints><timeout-constraint name="timeout-1" connectionTimeout="60000" /> </timeout-constraints> name屬性的值可以是您選擇的任何值。 connectionTimeout屬性的值表示為超時(以毫秒為單位)。 在上面的示例中,我們將“ timeout-1”超時約束配置為1分鐘。 您甚至可以指定一個以毫秒為單位的readTimeout。 有關此元素的更多信息,請參見
文件 。
您可能會注意到,我們在這里剛剛定義了超時約束,但尚未指示Ivy將此約束用于某些解析程序。 我們在下一步中執行此操作,在此步驟中,我們在之前看到的URL解析器上設置了“ timeoutConstraint”屬性:
<url name="foo" timeoutConstraint="timeout-1"><ivy pattern=.../><artifact pattern=.../><artifact pattern=.../> </url>請注意,“ timeoutConstraint”屬性的值現在指向“ timeout-1”,我們將其定義為具有1分鐘的連接超時。 這樣,當Ivy選擇此URL解析器進行依賴關系解析時,將強制執行此連接超時,如果在該超時時間內無法建立連接,則會引發異常,而不是將構建永久掛起。
盡管該示例使用URL解析器來設置超時約束,但是該功能可用于Ivy開箱即用的所有解析器。 因此,您甚至可以將其與ibiblio解析器(與Maven Central進行通信)一起使用。
就像我之前提到的,請嘗試嘗試此版本,并讓我們知道它的進展。
翻譯自: https://www.javacodegeeks.com/2018/05/apache-ivy-2-5-0-rc1-released-now-allows-timeouts-on-resolvers.html
總結
以上是生活随笔為你收集整理的Apache Ivy 2.5.0-rc1发布–现在允许解析器超时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddos拦截(ddos关闭)
- 下一篇: 使用threadlocal_何时以及如何