現在の Tomcat プロジェクトでは、JackRabbit を統合しました。その機能はうまく機能します。ただし、リポジトリの起動は非常に遅いです。5秒ほどかかりました。これは耐えられないと思います。Jackrabbit を Web プロジェクトに統合する方法についてアイデアをお持ちの方はいますか?
現在、Web プロジェクトに独自のセッション ファクトリがあります。コードは次のとおりです。
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 セッションが必要になるたびに、この静的関数を呼び出します。
私の方法が適切かどうかはわかりませんが、機能するだけで十分ではありません(毎回、リポジトリの起動が遅い)。