Java Content Repository API 简介
2010-03-19 00:00:00 来源:WEB开发网这个配置使用本地文件系统来保存仓库数据,用 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");
Tags:Java Content Repository
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接