我有一个OSGi包含持久性服务(使用hibernate)和一个片段的包,其中包含配置(xml文件).在bundle的激活器中,我使用以下命令加载配置:
@Override
public void start(BundleContext ctx) {
URL url = ctx.getBundle().getResource("hibernate.cfg.xml");
SessionFactory sessionFactory = new AnnotationConfiguration().configure(url).buildSessionFactory();
}
Run Code Online (Sandbox Code Playgroud)
但有时候,这URL是空的.当我试图列出所有可用的URLs(使用findEntries方法)时,看起来捆绑包自己的那些总是可用,但有时只是片段.我正在使用Felix4.0.2,捆绑包和片段是在同一个地方启动的Felix.auto.start级别.