Java Content Repository API简介 - 编程入门网
对象
Java Content Repository API简介(5)时间:2011-06-25 IBM Titus Barik接下来,用 SimpleCredentials 获得 Session 对象。在这个实现中,SimpleCredentials 接受所有用户名。替代的 JCR 实现可以提供更复杂的认证机制,可以连接到 LDAP 服务器或外部数据库来提供凭据信息。(身份验证和访问控制的完整功能超出了本文的范围。要获得有关的更多信息,请参阅 JSR-170 规范的 6.9 小节。) Session 对象为程序员提供了一个临时的存储层,它非常像传统的对象关系映射工具中可以看到的层,而且还可以将它看作到特定工作区的连接。它允许客户访问绑定到这个会话的任何节点或属性。通过会话,可以得到工作区,再从工作区得到根节点。所有这些步骤都是在清单 5 的简短代码片段中完成的: 清单 5. 获得工作区和根节点
使用会话、工作区和根节点引用,现在可以通过不同的抽象层访问仓库的特性。最后,为了验证仓库已经成功获得初始化,可以用 rn.getPrimaryNodeType().getName() 输出根节点的名称。这应当形成以下输出:
因为正在使用 JAAS,所以请记得将 -Djava.security.auth.login.config==jaas.config. 以 Java JVM 参数的形式包含进来。 JCRWiki 名称空间 在这个练习中,所有的 JCRWiki 内容都放在 wiki 名称空间下。为了让仓库识别这个名称空间,必须在初始化时注册名称空间,如下所示:
恭喜!仓库的手工配置现在完成了。 自动配置 Jackrabbit 实现还提供了一个 TransientRepository 类,这个类来自其核心 API,可以在启动第一个会话时自动初始化内容仓库,并在最后一个会话关闭时停止使用仓库。对于简单的独立应用程序,使用 TransientRepository 可以极大地简化仓库的配置,但要以 JSR-170 的移植性作为代价。 TransientRepository 自动创建 repository.xml 和仓库文件夹。它还在内部提供了处理身份验证和安全性的 SimpleAccessManager。 自动配置需要使用如图 6 所示的初始化 import 语句。与手工配置相比,所有的 JNDI 引用都被删除了。在 RegistryHelper 的位置换上了 TransientRepository。 清单 6. 自动配置的 import 语句
Java Content Repository API简介(6)时间:2011-06-25 IBM Titus Barik因为 TransientRepository 为您执行了初始化,所以获得仓库非常简 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |