Java Content Repository API 簡(jiǎn)介

Java Content Repository API 簡(jiǎn)介

ID:42562121

大小:55.42 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2019-09-17

Java Content Repository API 簡(jiǎn)介_第1頁(yè)
Java Content Repository API 簡(jiǎn)介_第2頁(yè)
Java Content Repository API 簡(jiǎn)介_第3頁(yè)
Java Content Repository API 簡(jiǎn)介_第4頁(yè)
Java Content Repository API 簡(jiǎn)介_第5頁(yè)
資源描述:

《Java Content Repository API 簡(jiǎn)介》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、JavaContentRepositoryAPI簡(jiǎn)介倉(cāng)庫(kù)模型我先從對(duì)倉(cāng)庫(kù)模型的高級(jí)討論開始,以便讓您熟悉JCR。倉(cāng)庫(kù)模型是簡(jiǎn)單的層次結(jié)構(gòu),看起來(lái)就像一個(gè)有n個(gè)分叉的樹。它由單一內(nèi)容倉(cāng)庫(kù)構(gòu)成,有一個(gè)或多個(gè)工作區(qū)。(這篇文章中的討論僅限制于單一工作區(qū)。)每個(gè)工作區(qū)都包含一個(gè)項(xiàng)目?樹;項(xiàng)目既可以是節(jié)點(diǎn)?也可以是屬性。節(jié)點(diǎn)可以有零個(gè)或多個(gè)子節(jié)點(diǎn)以及零個(gè)或多個(gè)相關(guān)屬性,實(shí)際的內(nèi)容保存在子節(jié)點(diǎn)和屬性中。每個(gè)節(jié)點(diǎn)都有且只有一個(gè)主節(jié)點(diǎn)類型。主節(jié)點(diǎn)類型定義了節(jié)點(diǎn)的特征,例如允許節(jié)點(diǎn)擁有的屬性和子節(jié)點(diǎn)。除了主節(jié)點(diǎn)類型之外,節(jié)點(diǎn)還可以

2、有一個(gè)或多個(gè)混合(mixin)類型?;旌项愋透裥揎椘?,向節(jié)點(diǎn)提供額外的特征。具體來(lái)說(shuō),JCR實(shí)現(xiàn)可以提供三種預(yù)定義混合類型:·mix:versionable:允許節(jié)點(diǎn)支持版本管理·mix:lockable:支持節(jié)點(diǎn)的鎖定功能·mix:referenceable:提供自動(dòng)創(chuàng)建的?jcr:uuid?屬性,給節(jié)點(diǎn)一個(gè)惟一可以引用的標(biāo)識(shí)符這個(gè)結(jié)構(gòu)如圖1所示。圓圈代表節(jié)點(diǎn),矩形代表屬性。請(qǐng)參見節(jié)點(diǎn)A、B和C,它們都衍生自一個(gè)根節(jié)點(diǎn)。節(jié)點(diǎn)A有兩個(gè)屬性,即一個(gè)字符串“John”和一個(gè)整數(shù)22。圖1.有多個(gè)工作區(qū)的倉(cāng)庫(kù)模型預(yù)定

3、義的節(jié)點(diǎn)類型每個(gè)倉(cāng)庫(kù)都必須支持主節(jié)點(diǎn)類型?nt:base。倉(cāng)庫(kù)還可以支持其他許多公共節(jié)點(diǎn)類型:·nt:unstructured?是最靈活的節(jié)點(diǎn)類型。它允許使用任意數(shù)量的子節(jié)點(diǎn)或?qū)傩?,并且可以使用任意名稱。這個(gè)節(jié)點(diǎn)類型表示JCRWiki的條目。·nt:file?表示文件。它需要一個(gè)叫做?jcr:content?的單一子節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)類型表示JCRWiki條目中的圖片和其他二進(jìn)制內(nèi)容?!t:folder?節(jié)點(diǎn)類型可以表示文件夾,就像常規(guī)的文件系統(tǒng)中的文件夾一樣?!t:resource?通常表示文件的實(shí)際內(nèi)容?!

4、t:version?是支持版本管理的倉(cāng)庫(kù)所必需的節(jié)點(diǎn)類型。整個(gè)節(jié)點(diǎn)類型的結(jié)構(gòu)可以在JSR-170規(guī)范的6.7.22.1小節(jié)找到(請(qǐng)參閱?參考資料?獲得鏈接)。名稱空間倉(cāng)庫(kù)模型一個(gè)有用的卻經(jīng)常被忽視的特性就是它對(duì)名稱空間?的支持。名稱空間防止不同來(lái)源和不同應(yīng)用程序域之間的項(xiàng)目和節(jié)點(diǎn)類型的命名沖突。名稱空間被定義為帶有一個(gè)前綴,中間用一個(gè)?:?(冒號(hào))分隔。在這篇文章的教程中,已經(jīng)遇到了一些名稱空間:jcr?用于JCR的內(nèi)部屬性,mix?用于混合類型,nt?用于節(jié)點(diǎn)類型。在JCRWiki中,所有的數(shù)據(jù)都將使用?wik

5、i?名稱空間?;仨?yè)首安裝JCR在編寫這篇文章的時(shí)候,ApacheJackrabbit(即Apache基金會(huì)的JSR-170的開源實(shí)現(xiàn))的發(fā)行版已經(jīng)到了版本1.0。編譯好的字節(jié)碼JAR可以直接從JackrabbitWeb站點(diǎn)下載(請(qǐng)參閱?參考資料)。雖然Jackrabbitcan仍然可以用SVN從源代碼進(jìn)行編譯,但是Jackrabbit庫(kù)已經(jīng)非常穩(wěn)定,不再需要每夜構(gòu)建(nightlybuilds)技術(shù)。這一節(jié)將提供盡可能快地安裝JCR實(shí)現(xiàn)并運(yùn)行它的詳細(xì)說(shuō)明。需要的庫(kù)要使用和運(yùn)行這篇文章中的示例,請(qǐng)將下面這些庫(kù)放在類

6、路徑中:·jackrabbit-core:針對(duì)JSR-170的Jackrabbit內(nèi)容倉(cāng)庫(kù)核心實(shí)現(xiàn)和來(lái)自Apache的公共實(shí)用代碼?!ommons-collections:包含強(qiáng)大數(shù)據(jù)結(jié)構(gòu)的框架,該框架可以加快Java應(yīng)用程序的開發(fā)。·concurrent:這個(gè)庫(kù)提供通常在Java并發(fā)編程中會(huì)遇到的工具類的標(biāo)準(zhǔn)化的、有效率的版本?!erby:一個(gè)Apache數(shù)據(jù)庫(kù)子項(xiàng)目,它提供完全用Java語(yǔ)言實(shí)現(xiàn)的關(guān)系數(shù)據(jù)庫(kù)?!cr:一組符合JSR-170規(guī)范的接口?!og4j:運(yùn)行時(shí)日志庫(kù)。·lucene:高性能的全

7、功能文本搜索引擎庫(kù)。·slf4j?(針對(duì)Java的簡(jiǎn)單日志Facade):目的是充當(dāng)不同日志API的簡(jiǎn)單facade,允許用戶在部署時(shí)插入需要的實(shí)現(xiàn)?!erces:高級(jí)XML解析器,支持SAX版本2、DOM1級(jí)和SAX版本1API。如果用SVN構(gòu)建Jackrabbit,那么所有這些JAR文件都會(huì)在Jackrabbit構(gòu)建過(guò)程中被下載,并位于Maven的緩存目錄中。在Linux下,這些JAR位于主目錄的.maven目錄下。如果使用二進(jìn)制構(gòu)建,那么只需要從它們各自的Web站點(diǎn)下載其二進(jìn)制版或?yàn)g覽Jackrabbit

8、Web站點(diǎn)的“FirstHopswithJackrabbit”即可,那里會(huì)提供到所有這些資源的直接鏈接。在JSR-170規(guī)范的下載中還有一個(gè)jcr-1.0.jar,在Java社區(qū)進(jìn)程的Web站點(diǎn)上也可以找到它。回頁(yè)首手工配置JSR-170沒(méi)有確切地指定應(yīng)當(dāng)如何獲得初始的?Repository?對(duì)象;這被留作每個(gè)倉(cāng)庫(kù)廠商的實(shí)現(xiàn)細(xì)節(jié)。但是,在應(yīng)用程序中最好使用JNDI或其他容

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。