0

まず、誰か「apache-chemistry」タグを追加していただけるとありがたいのですが、そのための十分なマナがありません。

このローカル バインディングに関する情報が見つかりません。OpenCMIS サーバーに接続する 3 番目の方法です。

これは、たとえば、リモート リポジトリへの共有アクセス レイヤーと、ローカルで実行されている JCR リポジトリが必要な場合です。リモートセットアップがどのように機能するかは明らかですが、これが何を意味するのかわかりません:

parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory");

EDITED:その間、CMISクライアントからのデータが変換されてプッシュされるリポジトリコネクタである可能性があることがわかりましたが、わかりません...

リポジトリ コネクタは AbstractServiceFactory クラスを拡張する必要があります

4

3 に答える 3

1

ローカルバインディングを使用するには、OpenCMISサーバーを実装する必要があります。存在する場合は、サービスファクトリのクラス名を渡すと、クライアントがそれを使用します。ネットワーク経由でデータを送信せずに、サービス(Javaインターフェイス)を直接呼び出します。クライアント側で他に行うことはありません。

于 2011-03-22T00:12:04.313 に答える
1

それは

クライアントとサーバーが同じ JVM にある場合のローカル サービス ファクトリのクラス名

こちらのローカル バインディング インスタンスの作成と、 こちらの LOCAL_FACTORY の説明を参照してください。

于 2011-03-21T23:04:29.353 に答える
0

説明するのは複雑です。最善の方法は、SVNからinMemoryServerをチェックアウトすることだと思います。参照したドキュメントはクライアント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);

LOCAL_FACTORYソースを取得したら、パラメーター値である「InMemoryServiceFactoryImpl」を確認します。このファクトリには、service()を返すメソッドがあります。このメソッドはInMemoryService、すべてのタイプのCMISサービスへの参照を保持し、クライアントAPI(セッションウェイ)を介して簡単に使用できるように、ある種のファサードとしてサーバーを提供します。

もう1つの方法は、具体的なCMISサービスに直接アクセスするClientBindingAPIを使用することです。

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();

などなど、ほとんどのユースケースを実際にカバーするテストを見てください。

于 2011-03-22T15:21:42.873 に答える