Java 使用Apache Chemistry与OpenCMIS服务器的本地绑定

Java 使用Apache Chemistry与OpenCMIS服务器的本地绑定,java,cmis,apache-chemistry,Java,Cmis,Apache Chemistry,首先,如果有人能添加“阿帕奇化学”标签,我将不胜感激,因为我没有足够的法力 我找不到有关本地绑定的任何信息,这是连接到OpenCMIS服务器的第三种方式 例如,当您希望对远程存储库和本地运行的JCR存储库使用共享访问层时,就会出现这种情况。很明显,远程设置是如何工作的,但我不明白这意味着什么: parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory"); 编辑:在此期间,我发现它可能是存储库连接器,来自CMIS客户端的数据

首先,如果有人能添加“阿帕奇化学”标签,我将不胜感激,因为我没有足够的法力

我找不到有关本地绑定的任何信息,这是连接到OpenCMIS服务器的第三种方式

例如,当您希望对远程存储库和本地运行的JCR存储库使用共享访问层时,就会出现这种情况。很明显,远程设置是如何工作的,但我不明白这意味着什么:

parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory");
编辑:在此期间,我发现它可能是存储库连接器,来自CMIS客户端的数据被转换并推入其中,但我不确定

必须扩展存储库连接器 AbstractServiceFactory类


它应该是

本地服务的类名 如果客户端和服务器驻留在 在同一个JVM中


请参见创建本地绑定实例和本地工厂的说明。要使用本地绑定,您必须有一个。如果有,请传递服务工厂的类名,客户端将使用它。它将直接调用服务(Java接口),而无需通过网络发送数据。在客户端没有其他事情可做。

解释起来很复杂,我想最好的办法是从SVN签出。您引用的文档是一个客户端API示例,其中会话接口包含最重要的CMIS操作

SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();
..........
parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory");
..........
Session session = factory.createSession(parameter);

等等,等等,看看这些测试,它们实际上涵盖了大多数用例。

amol,你不会碰巧有更多关于这方面的信息吗?这实际上就是我说的。。。下一步怎么办?在我实现AbstractServiceFactory之后。。。这就像CMIS客户端调用这个方法CmisService getService(CallContext context),我想所有服务器端的工作都在这里完成。。。客户应该做什么?我不明白。。。我得到的是真正的客户机-服务器模型,不是这个OK,起初我认为您的问题更基本,但如果是“如何使用OpenCMIS/Chemistry公开并访问本地JCR存储库”,我认为答案并不直接(目前)。看见
CmisBindingFactory factory = CmisBindingFactory.newInstance();
CmisBinding binding = factory.createCmisLocalBinding(parameters); // LocalBinding !!
fFactory = binding.getObjectFactory();
fRepSvc = binding.getRepositoryService();
fObjSvc = binding.getObjectService();
fNavSvc = binding.getNavigationService();
fVerSvc = binding.getVersioningService();
fMultiSvc = binding.getMultiFilingService();
fDiscSvc = binding.getDiscoveryService();