Ho un pacchetto OSGi
con servizio di persistenza (utilizzando hibernate
) e un frammento, che contiene la configurazione (file xml). In attivatore di fascio, sto caricando la configurazione utilizzando:Quando un frammento OSGi è collegato all'host?
@Override
public void start(BundleContext ctx) {
URL url = ctx.getBundle().getResource("hibernate.cfg.xml");
SessionFactory sessionFactory = new AnnotationConfiguration().configure(url).buildSessionFactory();
}
ma a volte, il URL
è nullo. Quando ho tentato di elencare tutti gli URL
s disponibili (utilizzando il metodo findEntries
), è apparso che gli stessi del bundle sono sempre disponibili, ma solo quelli del frammento. Sto usando Felix
4.0.2, il pacchetto e il frammento viene avviato allo stesso Felix
. livello auto.start.
Grazie, richiedono/forniscono capacità funziona perfettamente! – Kojotak
Questo è utile. In realtà non ho mai visto fallire l'usecase (usiamo Equinox), ma non mi ero reso conto che non sarebbe riuscito a risolvere il frammento 'in tempo'. Buono a sapersi. – Robin
Vorrei che StackOverflow mi permettesse di iscrivermi agli utenti solo per leggere tutti i post di Neil. :-) Imparo qualcosa di nuovo quasi ogni volta che risponde! –