- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Apache Jackrabbit入门
Apache Jackrabbit入门 博客分类:? 工具 ? 产品里需要包含一个文档(内容)管理的功能,找了一些开源的: KnowledgeTree,Alfresco,OpenKM。经过试用,相中了OpenKM的各种功能。但是--公司的产品前台是swing(已经好多年了,不是我能改变的),而OpenKM是web的,如果直接嵌入(把浏览器嵌入swing中),登陆、权限控制等是个大问题,而且以后扩展起来也比较麻烦,后患无穷啊。。。看了下介绍,OpenKM是基本Apache Jackrabbit引擎实现的,那我们能不能直接用Jackrabbit来做后台,swing做前台呢?贴一段Apache Jackrabbit的简介,来自/p/jackrabbitApache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现..随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository for Java Technology API (JSR-170) 的目标就是提供这样一个接口。JSR-170 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JSR-170 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。----------------------------------------------------------------------注:上面说的JSR-170指jcr1.0,而现在已经是jsr283了--jcr2.0了官方主页:/Jackrabbit的资料相对比较少,就找到这么一篇比较详细的,但时间是2006年的,当时还是jcr1.0/developerworks/cn/java/j-jcr/不管怎么样,试试吧。下载2.4的源代码,maven2编译一下。把jar包导入到新建的工程中。然后根据文章说的,照猫画虎,折腾2个小时,终于搞定了。过程: 1.初始化仓库。 ? Java代码?? //?初始化?? ????????String?configFile?=?F:\\jackrabbit_repository\\repository.xml;?? ????????String?repHomeDir?=?F:\\jackrabbit_repository\\repository;?? ????????HashtableString,?Object?env?=?new?HashtableString,?Object();?? ????????env.put(Context.INITIAL_CONTEXT_FACTORY,?? ????????????????DummyInitialContextFactory.class.getName());?? ????????env.put(Context.PROVIDER_URL,?localhost);?? ????????InitialContext?ctx?=?new?InitialContext(env);?? ????????RegistryHelper.registerRepository(ctx,?repo,?configFile,?repHomeDir,?? ????????????????true);?? ????????Repository?r?=?(Repository)?ctx.lookup(repo);?? ?2.登陆,这里注意一点,需要以管理员的身份登陆,否则很多操作都没有权限,默认用户名和密码都是admin ? Java代码?? Repository?r?=?(Repository)?ctx.lookup(repo);?? ?? ???????//?登陆?? ???????SimpleCredentials?cred?=?new?SimpleCredentials(admin,?? ???????????????admin.toCharArray());?? ???????Session?session?=?r.login(cred,?null);?? ?3.注册工作区命名空间 ? Java代码?? //?根节点?? ??????Node?rn?=?session.getRootNode();?? ?? ??????//?注册命名空间?? ??????Workspace?ws?=?session.getWorkspace();?? ??????ws.g
文档评论(0)