私はDFS Java APIを使用していますが、たとえば、サービスコンテキストで構成できるサービス呼び出しのクライアント側タイムアウトを構成する簡単な方法を誰かが知っているかどうか疑問に思っていましたか?
Documentum リポジトリが応答しないというまれな状況を経験しました。そのため、すべての DFS 呼び出しに対して一般的なタイムアウトを検討しています。
ハングしているサービス コールをテストするために、ドキュメントを更新するときにスレッドを 10 分間ブロックするダミーの TBO 実装を作成しました。
@Override
public void saveEx(boolean keepLock, String versionLabels) throws DfException {
if (isNew() == false) {
try {
Thread.sleep(1000*60*10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
super.saveEx(keepLock, versionLabels);
}
これがハングしたサービス コールとまったく同じように動作するかどうかはわかりませんが、少なくとも私のテストでは期待どおりに動作しました。オブジェクト サービスのupdateメソッドの呼び出しには約 10 分かかりました。
まだ見つかっていない構成がありますか、それともタイムアウトを構成するためにサービス コンテキストに渡すランタイム プロパティがありますか?
これには、独自のメカニズムを実装するのではなく、DFS の既存の機能を使用することをお勧めします。