我需要使用远程长耳兔仓库。我用下面的代码连接到本地资源库:如何访问远程jackrabbit存储库?
Repository repository = new TransientRepository();
Session session = repository.login(new SimpleCredentials("username", "password".toCharArray()));
,这适用于本地资源库,但我该怎么办柜面远程兔崽子呢?
我需要使用远程长耳兔仓库。我用下面的代码连接到本地资源库:如何访问远程jackrabbit存储库?
Repository repository = new TransientRepository();
Session session = repository.login(new SimpleCredentials("username", "password".toCharArray()));
,这适用于本地资源库,但我该怎么办柜面远程兔崽子呢?
您是否尝试过使用它?
import javax.jcr.Repository;
import org.apache.jackrabbit.commons.JcrUtils;
Repository repository = JcrUtils.getRepository("http://$SERVER_ADDRESS:$PORT/$CONTEXT");
这应该在远程存储库公开RMI服务时起作用。请注意,RMI访问通常被认为很慢。
有关访问远程存储库的更多信息,请参阅here。
我们使用Sling提供的REST界面来远程访问我们的存储库。
另一种选择是的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());
我现在正在使用两者。在Jackrabbit中,WebDAV没有比RMI更快的方式。它在哪里说的?另外WebDAV不提供几乎相同数量的功能。 – EJP 2012-09-09 07:44:25
你好,EJP,我想更新一个节点,但RMI和webdav失败。你能提供一个关于你如何做的例子吗? – 2012-12-04 22:19:20
您需要将正确的依赖项添加到项目中。要使用webdav连接器,您需要将jackrabbit-jcr2dav添加到您的类路径中:http://search.maven.org/remotecontent?filepath=org/apache/jackrabbit/jackrabbit-jcr2dav/2.6.0/jackrabbit-jcr2dav-2.6 .0.jar – ilikeorangutans 2013-04-03 17:17:44
我们怎样才能通过吊索访问独立rackrabbit服务器,而不使用其发射台。我相信它应该是配置的改变。但是哪里?谢谢。 – Bee 2012-06-03 07:56:52
我不记得我是如何完成这个的。我们不再使用Sling。我认为我们发现API太混乱/限制,或者它没有我们正在寻找的一些功能(也许这是加密文件的能力?)。我编写了自己的简化REST API来调用Jackrabbit API。祝你好运! – Vinnie 2012-06-04 13:33:50
@Vinnie Hi Vinnie,你能分享一下你为访问远程仓库而写的其他信息吗?它比RMI或webdav更快吗? – Gandhi 2017-08-21 08:02:57