什么是JAVA内容仓库(Java Content Repository)
生活随笔
收集整理的這篇文章主要介紹了
什么是JAVA内容仓库(Java Content Repository)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
內(nèi)容倉庫模型
JSR-170 是這樣定義內(nèi)容倉庫的,內(nèi)容倉庫由一組 workspace(工作空間)組成,這些workspace通常應(yīng)該包含相似的內(nèi)容。一個(gè)內(nèi)容倉庫有一個(gè)到多個(gè) workspace。每個(gè)workspace都是一個(gè)樹狀結(jié)構(gòu),都有一個(gè)唯一的樹根節(jié)點(diǎn)(root node)。樹上的item(元素)或者是個(gè)node(節(jié)點(diǎn))或者是個(gè)property(屬性)。每個(gè)node都可以有零個(gè)到多個(gè)子節(jié)點(diǎn)和零個(gè)到多個(gè)子屬性。只有根節(jié)點(diǎn)沒有父節(jié)點(diǎn),其余所有的節(jié)點(diǎn)都有一個(gè)父節(jié)點(diǎn)。property 也必須有一個(gè)父節(jié)點(diǎn),但它沒有子節(jié)點(diǎn)或是子屬性,property 是葉子元素。property是真正存儲(chǔ)數(shù)據(jù)的元素。
下圖描述了一個(gè)blog應(yīng)用程序的內(nèi)容倉庫模型。每個(gè)root node(根節(jié)點(diǎn))的子節(jié)點(diǎn)都代表了一個(gè)blog實(shí)體。與這個(gè)blog實(shí)體有關(guān)的數(shù)據(jù)都存儲(chǔ)在 bolgEntry 節(jié)點(diǎn)的屬性里,其中一個(gè) blogAttachment property 存儲(chǔ)了一個(gè)二進(jìn)制圖片文件。
根據(jù)內(nèi)容倉庫實(shí)現(xiàn)的功能,JSR-170定義了三種級(jí)別:
Level 1:定義了一個(gè)只讀的內(nèi)容倉庫。功能包括讀取內(nèi)容,將內(nèi)容導(dǎo)出為XML和查找內(nèi)容。
Level 2:定義了可寫的內(nèi)容倉庫。Level 2是Level 1的擴(kuò)展,新增的功能包括往內(nèi)容倉庫里寫入內(nèi)容,和從XML導(dǎo)入數(shù)據(jù)到倉庫。
Advanced options:定義實(shí)現(xiàn)五種附加功能,版本控制、JTA、SQL查詢、清晰的內(nèi)容鎖定和監(jiān)視。
什么是Apache JackRabbit?
Apache JackRabbit是一個(gè)開放源碼的JSR-170 實(shí)現(xiàn),實(shí)現(xiàn)了Level 2,但它還有許多擴(kuò)展的功能。詳細(xì)可以去它的官方網(wǎng)站。
下面我們決定用Apache JackRabbit來作為我們示例程序的內(nèi)容倉庫。
如何配置Apache JackRabbit
JackRabbit需要兩個(gè)參數(shù)來配置一個(gè)內(nèi)容倉庫實(shí)例。
1.內(nèi)容倉庫主目錄:這個(gè)文件目錄下通常包含了所有的內(nèi)容,搜索索引,內(nèi)部配置文件和其他持久化信息。它的結(jié)構(gòu)看起來會(huì)像下面這個(gè)樣子:
JSR-170 是這樣定義內(nèi)容倉庫的,內(nèi)容倉庫由一組 workspace(工作空間)組成,這些workspace通常應(yīng)該包含相似的內(nèi)容。一個(gè)內(nèi)容倉庫有一個(gè)到多個(gè) workspace。每個(gè)workspace都是一個(gè)樹狀結(jié)構(gòu),都有一個(gè)唯一的樹根節(jié)點(diǎn)(root node)。樹上的item(元素)或者是個(gè)node(節(jié)點(diǎn))或者是個(gè)property(屬性)。每個(gè)node都可以有零個(gè)到多個(gè)子節(jié)點(diǎn)和零個(gè)到多個(gè)子屬性。只有根節(jié)點(diǎn)沒有父節(jié)點(diǎn),其余所有的節(jié)點(diǎn)都有一個(gè)父節(jié)點(diǎn)。property 也必須有一個(gè)父節(jié)點(diǎn),但它沒有子節(jié)點(diǎn)或是子屬性,property 是葉子元素。property是真正存儲(chǔ)數(shù)據(jù)的元素。
下圖描述了一個(gè)blog應(yīng)用程序的內(nèi)容倉庫模型。每個(gè)root node(根節(jié)點(diǎn))的子節(jié)點(diǎn)都代表了一個(gè)blog實(shí)體。與這個(gè)blog實(shí)體有關(guān)的數(shù)據(jù)都存儲(chǔ)在 bolgEntry 節(jié)點(diǎn)的屬性里,其中一個(gè) blogAttachment property 存儲(chǔ)了一個(gè)二進(jìn)制圖片文件。
根據(jù)內(nèi)容倉庫實(shí)現(xiàn)的功能,JSR-170定義了三種級(jí)別:
Level 1:定義了一個(gè)只讀的內(nèi)容倉庫。功能包括讀取內(nèi)容,將內(nèi)容導(dǎo)出為XML和查找內(nèi)容。
Level 2:定義了可寫的內(nèi)容倉庫。Level 2是Level 1的擴(kuò)展,新增的功能包括往內(nèi)容倉庫里寫入內(nèi)容,和從XML導(dǎo)入數(shù)據(jù)到倉庫。
Advanced options:定義實(shí)現(xiàn)五種附加功能,版本控制、JTA、SQL查詢、清晰的內(nèi)容鎖定和監(jiān)視。
什么是Apache JackRabbit?
Apache JackRabbit是一個(gè)開放源碼的JSR-170 實(shí)現(xiàn),實(shí)現(xiàn)了Level 2,但它還有許多擴(kuò)展的功能。詳細(xì)可以去它的官方網(wǎng)站。
下面我們決定用Apache JackRabbit來作為我們示例程序的內(nèi)容倉庫。
如何配置Apache JackRabbit
JackRabbit需要兩個(gè)參數(shù)來配置一個(gè)內(nèi)容倉庫實(shí)例。
1.內(nèi)容倉庫主目錄:這個(gè)文件目錄下通常包含了所有的內(nèi)容,搜索索引,內(nèi)部配置文件和其他持久化信息。它的結(jié)構(gòu)看起來會(huì)像下面這個(gè)樣子:
總結(jié)
以上是生活随笔為你收集整理的什么是JAVA内容仓库(Java Content Repository)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个例子学懂搜索引擎(lucene)
- 下一篇: java美元兑换,(Java实现) 美元