WEB开发网
开发学院软件开发Java Java Content Repository API 简介 阅读

Java Content Repository API 简介

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: 这个配置使用本地文件系统来保存仓库数据,用 SimpleAccessManager 进行访问控制,Java Content Repository API 简介(6),文件剩下的部分基本是自解释的,将它们原样复制到自己的仓库目录中即可,将 repHomeDir 变量设置成指向仓库所在的本地文件系统

这个配置使用本地文件系统来保存仓库数据,用 SimpleAccessManager 进行访问控制。文件剩下的部分基本是自解释的,将它们原样复制到自己的仓库目录中即可。

安全性配置

使用 JASS 配置文件 jaas.config(存放在项目的根目录中),可以提供初步的安全性。清单 2 提供了一个示例:

清单 2. 示例 JAAS 配置

Jackrabbit { 
org.apache.jackrabbit.core.security.SimpleLoginModule required 
  anonymousId="anonymous"; 
}; 

仓库初始化代码

清单 3 描述的包可在初始化仓库时使用:

清单 3. 手工配置的初始化 import 语句

import org.apache.jackrabbit.core.jndi.RegistryHelper; 
 
import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
 
import javax.jcr.*; 
import javax.jcr.query.*; 
import javax.jcr.version.*; 
 
import java.util.Hashtable; 
import java.util.Calendar; 
import java.io.*; 
 
import sun.net.www.MimeTable; 

要得到 Repository 对象,请将 configFile 变量设置成指向 repository.xml 文件,将 repHomeDir 变量设置成指向仓库所在的本地文件系统目录。当结合 RegistryHelper 使用 JNDI 时,获得仓库非常简单,如清单 4 所示:

清单 4. 用 JNDI 获得 repository 对象

String configFile = "repository.xml"; 
String repHomeDir = "repository"; 
 
Hashtable env = new Hashtable(); 
  env.put(Context.INITIAL_CONTEXT_FACTORY, 
   "org.apache.jackrabbit.core.jndi" + 
   ".provider.DummyInitialContextFactory"); 
 
env.put(Context.PROVIDER_URL, "localhost"); 
 
InitialContext ctx = new InitialContext(env); 
 
RegistryHelper.registerRepository(ctx, 
  "repo", 
  configFile, 
  repHomeDir, 
  true); 
 
Repository r = (Repository) ctx.lookup("repo"); 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Java Content Repository

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接