2012-06-15 74 views

回答

15

你可以在任何模塊中聲明變量。例如它是config.xqy。

declare variable $PRECISION as xs:integer := 4; 

要使用此變量,您需要將該模塊導入到工作模塊中。

import module namespace conf = "http://your-namespace" at "config.xqy"; 

,並參考該變量:

$config:PRECISION 
5

如果您的應用程序在單個電子節點上運行,則可以使用server fields,這也是爲此用例設計的。

1

您有幾個選項。如果你需要一個全局常量變量,在@Andrew Orlov的答案中提到的config.xqy方法非常棒,因爲你避免了對併發訪問properties.xml文件的任何鎖定。

如果您需要一個可以跨節點集羣進行變異的變量,那麼通過@wst鏈接的property.xqy示例似乎使用全局分配的名稱空間來嵌入可檢索的鍵和值。很聰明。但是,我不確定這是多大程度的變化。

電子節點來自@Eric Bloch的特定變量很好,但也請注意,它不會在系統重新啓動後繼續存在。

我很想知道這些如何比較性能明智。