2017-04-03 25 views
0

我在構建一個將在Domino服務器上運行的應用程序。它不會被專門綁定到任何應用程序,也沒有與其關聯的設計器庫。我仍然需要訪問配置值才能使其正確運行。在osgi servlet中訪問服務器xsp.properties的值

我的第一個想法是使用服務器xsp.properties文件。因爲這個起初不存在,我會複製樣本並將自己的屬性放入其中。當我僅使用OSGi servlet時,如何訪問這些值?

我有一個ODA(openNTF多米諾API)的依賴,雖然是舊版本,從2014年9月

+0

將xsp.properties綁定到數據庫。如果你正在尋找一個靜態值的地方,那麼給你的激活器添加一個方法,並讓它讀取一個資源(如果這個值是在捆綁包打包時間或者notes.ini中確定的,如果是很多的話:提供一個配置數據庫 – stwissel

回答

0

隨着OpenNTF的Domino API,你可以使用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爲空(我試圖從openLog中「借用」代碼,似乎在我更新ODA後,XPage SDK插件沒有使用新的插件(我使用的是2014版本。好像org.openntf.domino.xsp.ODAPlatform當時沒有在API中)Eclipse仍然找不到類,我通過更新站點將插件安裝到多米諾骨牌服務器上,並且我沒有將它們粘貼到 – Greg

+0

嘗試在Eclipse中添加ODA插件到目標平臺,這應該允許Eclipse看到它們在XPages OpenLog Logger中,我還添加了com.ibm.xsp.designer作爲必需插件和com .ibm.xsp.application作爲一個導入包(雖然它可能不是還需要添加爲導入包,我不確定)。 –

+0

最後,與服務器notes.ini一起走的路。最主要的是使用通過NotesFactory.createTrustedSession獲取的舊式lotus.domino.Session,然後使用getEnvironmentString(「whatever」,true) – Greg