2017-04-03 6 views
0

私は、Domino Server上でのみ動作するアプリケーションを構築しています。それはどんなアプリケーションにも限定されておらず、それに関連するデザイナライブラリはありません。私はそれでも正しく動作するためには設定値にアクセスする必要があります。osgiサーブレットのxsp.properties値にアクセスする

私の最初の考えは、サーバーのxsp.propertiesファイルを使用することです。これは最初に存在しないので、サンプルをコピーして、自分のプロパティをそこに入れます。 OSGiサーブレットのみを使用している場合、これらの値にどのようにアクセスできますか?私はODA(openNTFドミノAPI)の依存関係を持っています

は、OpenNTFドミノAPI 9月2014

+0

xsp.propertiesはデータベースにバインドされています。静的な値の場所を探している場合は、アクティベータにメソッドを追加してリソースを読み込ませます(値がバンドルパッケージ化時に決定された場合はnotes.ini、ロットの場合は: – stwissel

答えて

0

から古いバージョンはいえ、あなたはODAPlatform.getXspPropertyAsString()を使用することができます。これはPlatform.getProperty()(アプリケーション/サーバーのxsp.propertiesを使用していると思います)、System.getProperty()、次にOS.OSGetEnvironmentString()(notes.ini)になります。これは、OpenLog機能が使用するもので、org.openntf.domino xsp.propertyの設定を取得するための多くのコードと同様です。

代わりに、XPages OpenLog Loggerコードを参照することができます。これは、もともとコードを書いた場所です。 com.paulwithers.openLog.OpenLogUtilクラスはgetXspProperty(String, String)メソッドを持ち、com.ibm.xsp.application.ApplicationEx.getInstance().getApplicationProperty(String propertyName, String defaultValue))を使用します。

+0

)。何らかの理由でApplicationExがnullです(以前openLogからコードを借用しようとしましたが、XPages SDKプラグインがODAを更新した後も新しいプラグインを使用していないようです(2014年のバージョンを使用していました。 org.openntf.domino.xsp.ODAPlatformがその時点でAPIになかったように見えます)Eclipseはクラスをまだ見つけることができません。プラグインをアップデートサイト経由でドミノサーバーにインストールしています。サーバーに直接接続してください。 – Greg

+0

EclipseのターゲットプラットフォームにODAプラグインを追加するとEclipseに表示されるはずです。 .ibm.xsp.applicationをインポートされたパッケージとして(ただし、インポートされたパッケージとして追加する必要もない、わからない)。 –

+0

最後に、サーバーnotes.iniを使って行くという方法がありました。主なものは、NotesFactory.createTrustedSessionで取得した古い古いlotus.domino.Sessionを使用し、getEnvironmentString( "whatever"、true)を使用して、 – Greg

関連する問題