我正在编写一个用于学习目的的小型 OSGi 应用程序。我成功地设置了 Gemini JPA 和 DBAccess 服务以使用 JPA,只要我使用 persistence.xml 来配置我的持久性单元,它就可以正常工作。
然后我偶然发现了这个例子。在运行时提供持久性单元配置似乎是一个非常棒的功能。除了它不工作。我尝试了那个确切的代码(对于独立配置),它被执行了,但框架中没有任何变化。据我了解,不应该有一项新服务提供新的持久性单元吗?
我正在使用 Equinox 框架,gemini 和 dbaccess 的所有必要包都已安装并运行,并且 ConfigurationAdmin 包 ( org.eclipse.equinox.cm
) 已安装并在我的代码执行时运行。
我像这样访问配置管理员:
ServiceReference<ConfigurationAdmin> s = context
.getServiceReference(ConfigurationAdmin.class);
ConfigurationAdmin admin = context.getService(s);