1

外部データベース接続オブジェクトを正しく保持する方法について詳しく説明してください(外部データベースサーバー= MongoDB、OrientDB、Apache SOLR)。そのかなり一般的な概念は、xPagesアプリケーションでは正しく解決できません。データベースのように外部サービスに接続する場合は、アプリケーションの開始/最初の使用時に接続オブジェクトを作成し、アプリケーションの存続期間中(パフォーマンス上の理由から、プールメカニズムを使用して)共有し続ける必要があります(つまり、シングルトンのようなパターン)。そして、ここで物事がやってくるのか、私にはわかりません。サーブレットのような環境では、通常、サーブレットリスナーイベントを使用してデータベースを適切に接続および切断します。しかし、xPages環境でそれを行う方法は?ApplicationScopeは適切なようですが、外部データベースから正しく切断するためにアプリケーションのライフサイクルに接続する方法を見つけることができません。

JSFのドキュメントによると、マネージドBeanはマネージドBeanのライフサイクルアノテーション@PostConstructと@PreDestroyをサポートする必要があり、これでこれをうまく解決できます。しかし、xPagesでは機能しません...以下の私の話を参照してください。これはIBMに報告され、将来修正されるバグとして受け入れられましたが、まだ修正されていません。...正しく行う方法、内線に接続および切断する方法についてのヒントはありますか。アプリケーションの再起動、自動アンロードなどで正常に動作するデータベース?

http://www-10.lotus.com/ldd/xpagesforum.nsf/topicThread.xsp?documentId=131569D202C110E185257958005B0A7B&action=openDocument

ありがとう、デビッド

4

2 に答える 2

0

ここで説明されている解決策を見つけましたhttp://hasselba.ch/blog/?p=740 ...

于 2012-07-13T12:50:53.750 に答える
0

@PostConstruct と @PreDestroy は JSF1.2 の一部ではありません。おそらく、ExtLib の現在の JDBC コネクタがどのように実装されているかを調べて、他の種類の DB にも同じロジックを使用する必要があります。

于 2012-04-28T02:51:15.753 に答える