我有一个多用户/位置 RCP 应用程序,目前使用多个用户可配置选项。有些偏好是针对特定电台的,有些则是针对用户的。
这些选项来自将 *.prefs 文件保存到“workspace.metadata.plugins\org.eclipse.core.runtime.settings”的首选项存储。
如果我们只使用一台机器/用户,这会很好。但是如果用户要去另一个站,那么用户将使用为该站设置的任何偏好。
是否可以指定另一种形式的持久性(不是文件)?
最佳答案
听起来您需要将您的首选项存储在所有用户/机器都可以访问的中心位置。这意味着您必须实现自己的 IPersistentPreferencesStore
.然后你可以覆盖 org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
使用它。
更大的问题是如何实现中央偏好存储,但这取决于您使用的技术。一般来说,如果您的项目使用中央服务器,您可能应该在那里存储您的首选项。例如,如果您的项目已经使用关系数据库,一种解决方案是创建适当的数据库表并实现 IPersistentPreferencesStore
通过 JDBC 访问这些表。
关于Eclipse 首选项存储持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539792/