﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-不做浮躁的人-随笔分类-jcr</title><link>http://www.blogjava.net/bjwulin/category/46997.html</link><description>正在行走的人...</description><language>zh-cn</language><lastBuildDate>Thu, 11 Nov 2010 12:13:50 GMT</lastBuildDate><pubDate>Thu, 11 Nov 2010 12:13:50 GMT</pubDate><ttl>60</ttl><item><title>jackrabbit </title><link>http://www.blogjava.net/bjwulin/archive/2010/11/11/337827.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Thu, 11 Nov 2010 08:56:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2010/11/11/337827.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/337827.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2010/11/11/337827.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/337827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/337827.html</trackback:ping><description><![CDATA[最近想做cms，自然也关注jcr，希望用jcr作为cms的内容管理的实现技术。好好看了下jackrabbit，也看了官方的wiki，里面有很多说的很有道理，比如基于principal或者Resource的Acl，一些不同的持久管理器等等，而且jackrabbit在索引搜索，基于sql-2 的query，版本管理等都做得不错，版本管理将会实现对比，合并等目前svn有的功能，索引搜索可以基于pdf,word,excel等文档的 Extractor抽取文本后索引，针对long binary的内容，jactrabbit也采用dataStore技术来提升性能，同时jackrabbit的缓存管理也做的不错，基于jcr2.0实现企业的知识管理，也是很不错的方式。jackrabbit现在也支持jcr2.0，即jsr283，同时，为了更易于开发，jackrabbit将 ocm单成一个子项目在发展了，ocm（object content mapping)类似ORM，也采用了annotation，这样极大的方便聊开发。最后，jackrabbit和spring的结合在 springmodule已经给出实现了。<br />
<br />
所以，采用jcr作为cms的内容管理部分是可行的。
<img src ="http://www.blogjava.net/bjwulin/aggbug/337827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2010-11-11 16:56 <a href="http://www.blogjava.net/bjwulin/archive/2010/11/11/337827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>内容仓库部署方式一（应用绑定） </title><link>http://www.blogjava.net/bjwulin/archive/2010/11/11/337823.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Thu, 11 Nov 2010 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2010/11/11/337823.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/337823.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2010/11/11/337823.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/337823.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/337823.html</trackback:ping><description><![CDATA[配置与应用绑定的内容仓库，同一个tomcat下的其它应用无法访问该服务，好处是简单，不好的地方在于应用里面加入了内容仓库实现的类库。<br />
<br />
<br />
第一步：将仓库实现的jar以及所依赖的jar放在应用的libs目录里。<br />
<br />
<br />
第二步：在上下文配置中加入资源定义：<br />
<br />
&lt;Resource name="jcr/repository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auth="Container"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="javax.jcr.Repository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; factory="org.apache.jackrabbit.core.jndi.BindableRepositoryFactory"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; configFilePath="仓库配置文件"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repHomeDir="仓库的主目录"/&gt;<br />
此配置是tomcat5.5以及以后的版本。<br />
<br />
<img src ="http://www.blogjava.net/bjwulin/aggbug/337823.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2010-11-11 16:54 <a href="http://www.blogjava.net/bjwulin/archive/2010/11/11/337823.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jcr客户端应用连接仓库服务 </title><link>http://www.blogjava.net/bjwulin/archive/2010/11/11/337824.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Thu, 11 Nov 2010 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2010/11/11/337824.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/337824.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2010/11/11/337824.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/337824.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/337824.html</trackback:ping><description><![CDATA[1、对于jackrabbit，如果不采用jndi方式访问内容仓库，则可以直接用TransientRepository仓库类。一般来说，比较好的方式还是通过jndi方式访问仓库。<br />
<br />
<br />
2、客户端应用的libs目录下加入jcr.jar，目前支持jsr283的是jcr2.0.jar。<br />
<br />
<br />
3、在web.xml中加入以下片段：<br />
<br />
&lt;resource-env-ref&gt;<br />
&nbsp; &lt;description&gt;Content Repository&lt;/description&gt;<br />
&nbsp; &lt;resource-env-ref-name&gt;jcr/repository&lt;/resource-env-ref-name&gt;<br />
&nbsp; &lt;resource-env-ref-type&gt;javax.jcr.Repository&lt;/resource-env-ref-type&gt;<br />
&lt;/resource-env-ref&gt;<br />
<br />
4、如下java代码得到仓库：<br />
InitialContext context = new InitialContext();<br />
Context environment = (Context) context.lookup("java:comp/env");<br />
Repository repository = (Repository) environment.lookup("jcr/repository");
<img src ="http://www.blogjava.net/bjwulin/aggbug/337824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2010-11-11 16:54 <a href="http://www.blogjava.net/bjwulin/archive/2010/11/11/337824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>内容仓库部署方式二（应用服务器绑定）</title><link>http://www.blogjava.net/bjwulin/archive/2010/11/11/337822.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Thu, 11 Nov 2010 08:53:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2010/11/11/337822.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/337822.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2010/11/11/337822.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/337822.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/337822.html</trackback:ping><description><![CDATA[该部署方式能够使内容仓库被部署在同一个tomcat下的所有应用访问。客户端应用和内容仓库在一个jvm下，不存在网络的情况。<br />
<br />
第一步：将内容仓库实现的jar以及依赖的jar放到Tomcat folder/common/lib。<br />
<br />
第二步：在配置文件的GlobalNamingResources节点下加入：<br />
<br />
&lt;Resource name="jcr/repository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auth="Container"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="javax.jcr.Repository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; factory="org.apache.jackrabbit.core.jndi.BindableRepositoryFactory"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; configFilePath="仓库配置文件"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; repHomeDir="仓库主目录"/&gt;<br />
第三步：在客户端应用的部署上下文配置文件中加入资源连接信息。<br />
&lt;ResourceLink name="jcr/repository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global="jcr/globalRepository"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="javax.jcr.Repository"/&gt;
<img src ="http://www.blogjava.net/bjwulin/aggbug/337822.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2010-11-11 16:53 <a href="http://www.blogjava.net/bjwulin/archive/2010/11/11/337822.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>