在我当前的 Tomcat 项目中,我集成了 JackRabbit。它的功能运行良好。但是,存储库的启动非常缓慢。花了大约5秒钟。我认为这是无法忍受的。有人对如何将 Jackrabbit 集成到 Web 项目有一些想法吗?
目前,我在 web 项目中有自己的 Session 工厂。代码如下:
public class TMPSessionFactory {
public static Session getSession() throws RepositoryException, NamingException {
String configFile = "C:\\workspaces\\repository.xml";
String repHomeDir = "C:\\JackRabbitDemo\\repository";
Hashtable<String, Object> hashTable = new Hashtable<String, Object>();
hashTable.put(Context.INITIAL_CONTEXT_FACTORY, DummyInitialContextFactory.class.getName());
hashTable.put(Context.PROVIDER_URL, "127.0.0.1");
InitialContext ctx = new InitialContext(hashTable);
RegistryHelper.registerRepository(ctx, "repo", configFile, repHomeDir, true);
Repository r = (Repository) ctx.lookup("repo");
SimpleCredentials cred = new SimpleCredentials("admin", "admin".toCharArray());
Session session = r.login(cred, null);
return session;}}
每次如果我需要一个jackrabbit 会话,我都会调用这个静态函数。
我不知道我的方式是否合适,因为它有效但不够好(每次,存储库的启动都很慢)。