Как получить доступ к удаленному хранилищу кроликов? - PullRequest
8 голосов
/ 02 мая 2011

Мне нужно работать с удаленным хранилищем зайчика. Я использую следующий код для подключения к локальному хранилищу:

Repository repository = new TransientRepository();
Session session = repository.login(new SimpleCredentials("username", "password".toCharArray()));

и это работает для локального репозитория, но что мне делать в случае удаленного крольчонка?

Ответы [ 3 ]

5 голосов
/ 18 мая 2011

Другим вариантом является WebDav, который должен быть несколько быстрее, чем RMI, но не так быстро, как собственный интерфейс:

import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;

import org.apache.jackrabbit.commons.JcrUtils;

public class main {

/**
 * @param args
 */
public static void main(String[] args) throws Throwable{
    String url = "http://localhost:8080/server";
    System.out.println("Connecting to " + url);
    Repository repository = JcrUtils.getRepository(url);
    SimpleCredentials creds = new SimpleCredentials("admin",
            "admin".toCharArray());
    Session jcrSession = repository.login(creds, "default");
    System.out.println("Login successful, workspace: " + jcrSession.getWorkspace());
5 голосов
/ 02 мая 2011

Вы пытались использовать это?

import javax.jcr.Repository;
import org.apache.jackrabbit.commons.JcrUtils;

Repository repository = JcrUtils.getRepository("http://$SERVER_ADDRESS:$PORT/$CONTEXT");

Это должно работать, если удаленный репозиторий предоставляет службы RMI.Обратите внимание, что доступ к RMI в целом считается довольно медленным.

Более подробную информацию о доступе к удаленным репозиториям вы найдете здесь .

2 голосов
/ 13 мая 2011

Мы используем интерфейс REST, предоставленный Sling для удаленного доступа к нашему хранилищу.

...