2017-04-03 43 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